diff -Naur mjpegtools-1.8.0.orig/mpeg2enc/encodertypes.h mjpegtools-1.8.0/mpeg2enc/encodertypes.h --- mjpegtools-1.8.0.orig/mpeg2enc/encodertypes.h 2008-12-10 10:57:56.000000000 -0600 +++ mjpegtools-1.8.0/mpeg2enc/encodertypes.h 2008-12-10 11:02:08.000000000 -0600 @@ -26,7 +26,7 @@ #include "config.h" - +#include <stdlib.h> class Parity { diff -Naur mjpegtools-1.8.0.orig/mpeg2enc/macroblock.cc mjpegtools-1.8.0/mpeg2enc/macroblock.cc --- mjpegtools-1.8.0.orig/mpeg2enc/macroblock.cc 2008-12-10 10:57:56.000000000 -0600 +++ mjpegtools-1.8.0/mpeg2enc/macroblock.cc 2008-12-10 11:02:41.000000000 -0600 @@ -20,6 +20,7 @@ */ #include <stdio.h> +#include <limits.h> #include "macroblock.hh" #include "mpeg2syntaxcodes.h" diff -Naur mjpegtools-1.8.0.orig/mpeg2enc/picturereader.cc mjpegtools-1.8.0/mpeg2enc/picturereader.cc --- mjpegtools-1.8.0.orig/mpeg2enc/picturereader.cc 2008-12-10 10:57:56.000000000 -0600 +++ mjpegtools-1.8.0/mpeg2enc/picturereader.cc 2008-12-10 11:03:04.000000000 -0600 @@ -25,6 +25,7 @@ #include <stdlib.h> #include <unistd.h> #include <string.h> +#include <limits.h> #include <errno.h> #include "simd.h" #include "mpeg2encoder.hh" diff -Naur mjpegtools-1.8.0.orig/mplex/inputstrm.cpp mjpegtools-1.8.0/mplex/inputstrm.cpp --- mjpegtools-1.8.0.orig/mplex/inputstrm.cpp 2008-12-10 10:58:55.000000000 -0600 +++ mjpegtools-1.8.0/mplex/inputstrm.cpp 2008-12-10 11:03:36.000000000 -0600 @@ -23,6 +23,7 @@ #include <config.h> #include <assert.h> +#include <limits.h> #include "mjpeg_types.h" #include "inputstrm.hpp" diff -Naur mjpegtools-1.8.0.orig/mplex/padstrm.cpp mjpegtools-1.8.0/mplex/padstrm.cpp --- mjpegtools-1.8.0.orig/mplex/padstrm.cpp 2008-12-10 10:58:55.000000000 -0600 +++ mjpegtools-1.8.0/mplex/padstrm.cpp 2008-12-10 11:04:06.000000000 -0600 @@ -24,6 +24,7 @@ #include "config.h" #endif +#include <string.h> #include "padstrm.hpp" diff -Naur mjpegtools-1.8.0.orig/mplex/multiplexor.cpp mjpegtools-1.8.0/mplex/multiplexor.cpp --- mjpegtools-1.8.0.orig/mplex/multiplexor.cpp 2008-12-10 10:58:55.000000000 -0600 +++ mjpegtools-1.8.0/mplex/multiplexor.cpp 2008-12-10 11:04:53.000000000 -0600 @@ -22,6 +22,7 @@ #include <config.h> #include <math.h> #include <stdlib.h> +#include <string.h> #include <mjpeg_types.h> #include <mjpeg_logging.h> diff -Naur mjpegtools-1.8.0.orig/mplex/main.cpp mjpegtools-1.8.0/mplex/main.cpp --- mjpegtools-1.8.0.orig/mplex/main.cpp 2008-12-10 10:58:55.000000000 -0600 +++ mjpegtools-1.8.0/mplex/main.cpp 2008-12-10 11:05:20.000000000 -0600 @@ -31,6 +31,7 @@ #include <getopt.h> #endif #include <string> +#include <string.h> #include <memory> #include <sys/stat.h> #ifndef _WIN32 diff -Naur mjpegtools-1.8.0.orig/y4mdenoise/Set.hh mjpegtools-1.8.0/y4mdenoise/Set.hh --- mjpegtools-1.8.0.orig/y4mdenoise/Set.hh 2008-12-10 11:00:49.000000000 -0600 +++ mjpegtools-1.8.0/y4mdenoise/Set.hh 2008-12-10 11:06:30.000000000 -0600 @@ -23,7 +23,7 @@ // How we implement ourselves. public: - typedef typename Imp::Allocator Allocator; + typedef typename Imp::Allocator_t Allocator; // The type of allocator to use to allocate items in the set. Set (const PRED &a_rPred = PRED(), diff -Naur mjpegtools-1.8.0.orig/y4mdenoise/SkipList.hh mjpegtools-1.8.0/y4mdenoise/SkipList.hh --- mjpegtools-1.8.0.orig/y4mdenoise/SkipList.hh 2008-12-10 11:00:49.000000000 -0600 +++ mjpegtools-1.8.0/y4mdenoise/SkipList.hh 2008-12-10 11:09:34.000000000 -0600 @@ -57,19 +57,19 @@ // Will give good sorting for up to e^10 items. public: - typedef Allocator<Node,HEADERCHUNK> Allocator; + typedef Allocator<Node,HEADERCHUNK> Allocator_t; // The type of node allocator to use. - static Allocator sm_oNodeAllocator; + static Allocator_t sm_oNodeAllocator; // The default node allocator. SkipList (const PRED &a_rPred = PRED(), - Allocator &a_rAlloc = sm_oNodeAllocator); + Allocator_t &a_rAlloc = sm_oNodeAllocator); // Default constructor. Must be followed by Init(). SkipList (Status_t &a_reStatus, bool a_bAllowDuplicates, uint32_t a_nRandSeed, const PRED &a_rPred = PRED(), - Allocator &a_rAlloc = sm_oNodeAllocator); + Allocator_t &a_rAlloc = sm_oNodeAllocator); // Constructor. Specify whether or not duplicates are allowed, // and provide a random number seed. @@ -255,7 +255,7 @@ private: - Allocator &m_rNodeAllocator; + Allocator_t &m_rNodeAllocator; // Where we get memory to allocate nodes. bool m_bAllowDuplicates; @@ -337,7 +337,7 @@ // The default node allocator. Allocates 64K at a time. template <class KEY, class VALUE, class KEYFN, class PRED> -typename SkipList<KEY,VALUE,KEYFN,PRED>::Allocator +typename SkipList<KEY,VALUE,KEYFN,PRED>::Allocator_t SkipList<KEY,VALUE,KEYFN,PRED>::sm_oNodeAllocator (65536); @@ -345,7 +345,7 @@ // Default constructor. Must be followed by Init(). template <class KEY, class VALUE, class KEYFN, class PRED> SkipList<KEY,VALUE,KEYFN,PRED>::SkipList (const PRED &a_rPred, - Allocator &a_rAlloc) + Allocator_t &a_rAlloc) : m_rNodeAllocator (a_rAlloc), m_oPred (a_rPred) { // Set up some defaults. @@ -371,7 +371,7 @@ template <class KEY, class VALUE, class KEYFN, class PRED> SkipList<KEY,VALUE,KEYFN,PRED>::SkipList (Status_t &a_reStatus, bool a_bAllowDuplicates, uint32_t a_nRandSeed, - const PRED &a_rPred, Allocator &a_rAlloc) + const PRED &a_rPred, Allocator_t &a_rAlloc) : m_rNodeAllocator (a_rAlloc), m_oPred (a_rPred) { // Make sure they didn't start us off with an error.