  
          /** construct image of size 0x0
          */
-@@ -569,7 +573,11 @@ class BasicImage
+@@ -569,39 +573,51 @@ class BasicImage
        width_(0),
        height_(0),
        allocator_(alloc),
-+#if !defined(SOLARIS) || !defined(SUN) 
++#ifndef VIGRA_WITHOUT_NESTED_TEMPLATE_PARAMS
        pallocator_(alloc)
 +#else
 +      pallocator_()

     {}
 
         /** construct image of size width x height, use the specified allocator.
@@ -579,7 +587,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((width >= 0) && (height >= 0),
              "BasicImage::BasicImage(int width, int height): "
@@ -595,7 +607,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((size.x >= 0) && (size.y >= 0),
              "BasicImage::BasicImage(Diff2D size): "
@@ -614,7 +630,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((width >= 0) && (height >= 0),
              "BasicImage::BasicImage(int width, int height, value_type const & ): "
@@ -632,7 +652,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((size.x >= 0) && (size.y >= 0),
              "BasicImage::BasicImage(Diff2D const & size, value_type const & v): "
@@ -650,7 +674,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((width >= 0) && (height >= 0),
              "BasicImage::BasicImage(int width, int height, const_pointer ): "
@@ -667,7 +695,11 @@ class BasicImage
       width_(0),
       height_(0),
       allocator_(alloc),
+#if !defined(SOLARIS) || !defined(SUN) 
       pallocator_(alloc)
+#else
+      pallocator_()
+#endif
     {
         vigra_precondition((size.x >= 0) && (size.y >= 0),
              "BasicImage::BasicImage(Diff2D const & size, const_pointer): "
--- misc/build/vigra1.4.0/include/vigra/boundarytensor.hxx	2005-12-21 05:53:31.000000000 +0100
+++ misc/vigra1.4.0/include/vigra/boundarytensor.hxx	2006-05-30 11:55:19.000000000 +0200
@@ -71,8 +71,8 @@ initGaussianPolarFilters1(double std_dev
     int radius = (int)(4.0*std_dev + 0.5);
     std_dev *= 1.08179074376;

 
 #undef VIGRA_FIXED_POINT_CAST
 
diff -uprN misc/vigra1.4.0/include/vigra/gaborfilter.hxx misc/build/vigra1.4.0/include/vigra/gaborfilter.hxx
--- misc/vigra1.4.0/include/vigra/gaborfilter.hxx	2005-12-21 05:53:35.000000000 +0100
+++ misc/build/vigra1.4.0/include/vigra/gaborfilter.hxx	2006-08-31 12:08:15.389636000 +0200
@@ -289,7 +289,11 @@ inline double angularGaborSigma(int dire
     Namespace: vigra
 */
 template <class ImageType, 
+#ifndef VIGRA_WITHOUT_NESTED_TEMPLATE_PARAMS
       class Alloc = typename ImageType::allocator_type::template rebind<ImageType>::other >
+#else
+      class Alloc = std::allocator<ImageType> >
