diff -Nurd -x'*~' vigra1.2.0.orig/Makefile vigra1.2.0/Makefile
--- vigra1.2.0.orig/Makefile	2003-08-05 22:03:46.000000000 -0400
+++ vigra1.2.0/Makefile	2005-12-05 18:29:57.000000000 -0500
@@ -10,26 +10,26 @@
 install-exec:
 	@cd src ; $(MAKE) install ; cd ..
 	$(INSTALL) -d $(bindir)
-	$(INSTALL) --mode=755 $(vigra_builddir)/config/vigra-config $(bindir)
+	$(INSTALL) -m 755 $(vigra_builddir)/config/vigra-config $(bindir)
 
 install-includes:
 	if test "$(includedir)" != "$(vigra_builddir)/include" ; then \
           $(INSTALL) -d $(includedir)/vigra ; \
-          $(INSTALL) --mode=644 $(vigra_builddir)/include/vigra/*.hxx $(includedir)/vigra ; \
+          $(INSTALL) -m 644 $(vigra_builddir)/include/vigra/*.hxx $(includedir)/vigra ; \
         fi
 install-headers: install-includes
 
 install-docs:
 	$(INSTALL) -d $(docdir)
-	$(INSTALL) --mode=644 LICENSE $(docdir)
+	$(INSTALL) -m 644 LICENSE $(docdir)
 	if test "$(docdir)" != "$(vigra_builddir)/doc/vigra" ; then \
-          $(INSTALL) --mode=644 \
+          $(INSTALL) -m 644 \
             $(vigra_builddir)/doc/vigra/*.html \
             $(vigra_builddir)/doc/vigra/classvigra*.png $(vigra_builddir)/doc/vigra/form*.png \
             $(vigra_builddir)/doc/vigra/doxygen.png $(vigra_builddir)/doc/vigra/doxygen.css \
             $(docdir) ; \
           $(INSTALL) -d $(docdir)/documents ; \
-          $(INSTALL) --mode=644 \
+          $(INSTALL) -m 644 \
             $(vigra_builddir)/doc/vigra/documents/*.ps \
             $(vigra_builddir)/doc/vigra/documents/*.gif \
             $(docdir)/documents ; \
diff -Nurd -x'*~' vigra1.2.0.orig/configure vigra1.2.0/configure
--- vigra1.2.0.orig/configure	2003-08-06 20:16:18.000000000 -0400
+++ vigra1.2.0/configure	2005-12-05 18:30:50.000000000 -0500
@@ -2591,27 +2591,6 @@
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
-  if test -z "$vigra_save_INSTALL_given" ; then
-    # user hasn't overwritten INSTALL, autoconf found one for us
-    # now we'll test if it supports the -p flag
-    echo "$as_me:$LINENO: checking for -p flag to install" >&5
-echo $ECHO_N "checking for -p flag to install... $ECHO_C" >&6
-    rm -f confinst.$$.* > /dev/null 2>&1
-    echo "Testtest" > confinst.$$.orig
-    ac_res=no
-    if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
-      if test -f confinst.$$.new ; then
-        # OK, -p seems to do no harm to install
-        INSTALL="${INSTALL} -p"
-        ac_res=yes
-      fi
-    fi
-    rm -f confinst.$$.*
-    echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6
-  fi
-
-
 LIBCPPFLAGS=
 VIGRA_INCLUDES='-I$(prefix)/include'
 
diff -Nurd -x'*~' vigra1.2.0.orig/include/vigra/numerictraits.hxx vigra1.2.0/include/vigra/numerictraits.hxx
--- vigra1.2.0.orig/include/vigra/numerictraits.hxx	2003-08-06 20:16:31.000000000 -0400
+++ vigra1.2.0/include/vigra/numerictraits.hxx	2005-12-05 17:59:36.000000000 -0500
@@ -313,6 +313,7 @@
     typedef Error_NumericTraits_not_specialized_for_this_case isScalar;
     typedef Error_NumericTraits_not_specialized_for_this_case isIntegral;
     typedef Error_NumericTraits_not_specialized_for_this_case isOrdered;
+    typedef Error_NumericTraits_not_specialized_for_this_case isSigned;
 };
 
 #ifndef NO_BOOL
@@ -325,6 +326,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraFalseType isSigned;
     
     static bool zero() { return false; }
     static bool one() { return true; }
@@ -359,6 +361,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static signed char zero() { return 0; }
     static signed char one() { return 1; }
@@ -393,6 +396,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraFalseType isSigned;
     
     static unsigned char zero() { return 0; }
     static unsigned char one() { return 1; }
@@ -426,6 +430,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static short int zero() { return 0; }
     static short int one() { return 1; }
@@ -463,6 +468,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraFalseType isSigned;
 
     static short unsigned int zero() { return 0; }
     static short unsigned int one() { return 1; }
@@ -497,6 +503,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
 
     static int zero() { return 0; }
     static int one() { return 1; }
@@ -530,6 +537,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraFalseType isSigned;
     
     static unsigned int zero() { return 0; }
     static unsigned int one() { return 1; }
@@ -563,6 +571,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static long zero() { return 0; }
     static long one() { return 1; }
@@ -596,6 +605,7 @@
     typedef VigraTrueType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraFalseType isSigned;
     
     static unsigned long zero() { return 0; }
     static unsigned long one() { return 1; }
@@ -629,6 +639,7 @@
     typedef VigraFalseType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static float zero() { return 0.0; }
     static float one() { return 1.0; }
@@ -653,6 +664,7 @@
     typedef VigraFalseType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static double zero() { return 0.0; }
     static double one() { return 1.0; }
@@ -677,6 +689,7 @@
     typedef VigraFalseType isIntegral;
     typedef VigraTrueType isScalar;
     typedef VigraTrueType isOrdered;
+    typedef VigraTrueType isSigned;
     
     static long double zero() { return 0.0; }
     static long double one() { return 1.0; }
diff -Nurd -x'*~' vigra1.2.0.orig/include/vigra/rgbvalue.hxx vigra1.2.0/include/vigra/rgbvalue.hxx
--- vigra1.2.0.orig/include/vigra/rgbvalue.hxx	2003-08-06 20:16:32.000000000 -0400
+++ vigra1.2.0/include/vigra/rgbvalue.hxx	2005-12-05 17:59:36.000000000 -0500
@@ -319,6 +319,7 @@
     typedef RGBValue<typename NumericTraits<T>::RealPromote> RealPromote;
 
     typedef typename NumericTraits<T>::isIntegral isIntegral;
+    typedef typename NumericTraits<T>::isSigned isSigned;
     typedef VigraFalseType isScalar;
     typedef VigraFalseType isOrdered;
 
@@ -378,6 +379,7 @@
     typedef RGBValue<NumericTraits<T>::Promote> Promote;\
     typedef RGBValue<NumericTraits<T>::RealPromote> RealPromote;\
     typedef NumericTraits<T>::isIntegral isIntegral;\
+    typedef NumericTraits<T>::isSigned isSigned;\
     typedef VigraFalseType isScalar;\
     typedef VigraFalseType isOrdered;\
     \
diff -Nurd -x'*~' vigra1.2.0.orig/include/vigra/stdimage.hxx vigra1.2.0/include/vigra/stdimage.hxx
--- vigra1.2.0.orig/include/vigra/stdimage.hxx	2003-08-06 20:16:33.000000000 -0400
+++ vigra1.2.0/include/vigra/stdimage.hxx	2005-12-05 17:59:36.000000000 -0500
@@ -88,8 +88,18 @@
     */
 typedef BasicImage<unsigned char> BImage;
 
-VIGRA_DEFINE_ITERATORTRAITS(short, StandardValueAccessor, StandardConstValueAccessor)
+VIGRA_DEFINE_ITERATORTRAITS(unsigned short, vigra::StandardValueAccessor, vigra::StandardConstValueAccessor)
+
+    /** Unsigned Short (16-bit unsigned) image.
+        It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and
+        their const counterparts to access the data.
+
+        <b>\#include</b> "<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>"<br>
+        Namespace: vigra
+    */
+typedef BasicImage<unsigned short> USImage;
 
+VIGRA_DEFINE_ITERATORTRAITS(short, StandardValueAccessor, StandardConstValueAccessor)
 
     /** Short integer (16-bit signed) image.
         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
@@ -100,6 +110,17 @@
     */
 typedef BasicImage<short> SImage;
 
+VIGRA_DEFINE_ITERATORTRAITS(unsigned int, StandardValueAccessor, StandardConstValueAccessor)
+
+    /** Unsigned Integer (32-bit unsigned) image.
+        It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and
+        their const counterparts to access the data.
+
+        <b>\#include</b> "<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>"<br>
+        Namespace: vigra
+    */
+typedef BasicImage<unsigned int> UIImage;
+
 VIGRA_DEFINE_ITERATORTRAITS(int, StandardValueAccessor, StandardConstValueAccessor)
 
     /** Integer (32-bit signed) image.
@@ -145,6 +166,42 @@
     */
 typedef BasicImage<RGBValue<unsigned char> > BRGBImage;
 
+VIGRA_DEFINE_ITERATORTRAITS(RGBValue<unsigned short>, RGBAccessor, RGBAccessor)
+
+    /** Unsigned short (3x 16-bit unsigned) RGB image.
+        The pixel type is \ref vigra::RGBValue "vigra::RGBValue<unsigned short>".
+        It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and
+        their const counterparts to access the data.
+
+        <b>\#include</b> "<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>"<br>
+        Namespace: vigra
+    */
+typedef BasicImage<RGBValue<unsigned short> > USRGBImage;
+
+VIGRA_DEFINE_ITERATORTRAITS(RGBValue<short>, RGBAccessor, RGBAccessor)
+
+    /** Unsigned short (3x 16-bit signed) RGB image.
+        The pixel type is \ref vigra::RGBValue "vigra::RGBValue<short>".
+        It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and
+        their const counterparts to access the data.
+
+        <b>\#include</b> "<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>"<br>
+        Namespace: vigra
+    */
+typedef BasicImage<RGBValue<short> > SRGBImage;
+
+VIGRA_DEFINE_ITERATORTRAITS(RGBValue<unsigned int>, RGBAccessor, RGBAccessor)
+
+    /** Unsigned Integer (3x 32-bit unsigned) RGB image.
+        The pixel type is \ref vigra::RGBValue "RGBValue<unsigned int>".
+        It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and
+        their const counterparts to access the data.
+
+        <b>\#include</b> "<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>"<br>
+        Namespace: vigra
+    */
+typedef BasicImage<RGBValue<unsigned int> > UIRGBImage;
+
 VIGRA_DEFINE_ITERATORTRAITS(RGBValue<int>, RGBAccessor, RGBAccessor)
 
     /** Integer (3x 32-bit signed) RGB image.
@@ -181,6 +238,53 @@
     */
 typedef BasicImage<RGBValue<double> > DRGBImage;
 
+#define VIGRA_PIXELTYPE TinyVector<unsigned char, 2>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned char, 3>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned char, 4>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+
+#define VIGRA_PIXELTYPE TinyVector<unsigned short, 2>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned short, 3>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned short, 4>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<short, 2>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<short, 3>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<short, 4>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<int, 2>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<int, 3>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<int, 4>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned int, 2>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned int, 3>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+#define VIGRA_PIXELTYPE TinyVector<unsigned int, 4>
+VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor)
+#undef VIGRA_PIXELTYPE
+
 #define VIGRA_PIXELTYPE TinyVector<float, 2>
 VIGRA_DEFINE_ITERATORTRAITS(VIGRA_PIXELTYPE, VectorAccessor, VectorAccessor) 
 #undef VIGRA_PIXELTYPE 
diff -Nurd -x'*~' vigra1.2.0.orig/include/vigra/tinyvector.hxx vigra1.2.0/include/vigra/tinyvector.hxx
--- vigra1.2.0.orig/include/vigra/tinyvector.hxx	2003-08-06 20:16:34.000000000 -0400
+++ vigra1.2.0/include/vigra/tinyvector.hxx	2005-12-05 17:59:36.000000000 -0500
@@ -798,6 +798,7 @@
     typedef TinyVector<typename NumericTraits<T>::RealPromote, SIZE> RealPromote;
 
     typedef typename NumericTraits<T>::isIntegral isIntegral;
+    typedef typename NumericTraits<T>::isSigned isSigned;
     typedef VigraFalseType isScalar;
     typedef VigraFalseType isOrdered;
 
@@ -851,6 +852,7 @@
     typedef TinyVector<typename NumericTraits<T>::RealPromote, SIZE> RealPromote;
 
     typedef typename NumericTraits<T>::isIntegral isIntegral;
+    typedef typename NumericTraits<T>::isSigned isSigned;
     typedef VigraFalseType isScalar;
     typedef VigraFalseType isOrdered;
 };
@@ -914,6 +916,7 @@
     typedef TinyVector<NumericTraits<T>::Promote, SIZE> Promote;\
     typedef TinyVector<NumericTraits<T>::RealPromote, SIZE> RealPromote;\
     typedef NumericTraits<T>::isIntegral isIntegral;\
+    typedef NumericTraits<T>::isSigned isSigned;\
     typedef VigraFalseType isScalar;\
     typedef VigraFalseType isOrdered;\
     \
diff -Nurd -x'*~' vigra1.2.0.orig/src/impex/viff.cxx vigra1.2.0/src/impex/viff.cxx
--- vigra1.2.0.orig/src/impex/viff.cxx	2003-08-06 20:16:44.000000000 -0400
+++ vigra1.2.0/src/impex/viff.cxx	2005-12-05 17:59:36.000000000 -0500
@@ -611,7 +611,7 @@
     void ViffDecoderImpl::color_map()
     {
         void_vector_base temp_bands;
-        unsigned int temp_num_bands;
+        size_t temp_num_bands;
 
         if ( header.map_storage_type == VFF_MAPTYP_1_BYTE ) {
             typedef unsigned char map_storage_type;
