I just updated to the latest CVS version of OpenSG a few hours ago, and when
I built using GCC 4.0.2, I ran into a compile error in
Source/System/FileIO/Base/OSGZStream.inl. The error is the following:

.../OSGZStream.inl: In constructor 'osg::basic_zip_streambuf<charT,
traits>::basic_zip_streambuf(std::basic_ostream<_CharT, _Traits>&, int,
osg::EStrategy, int, int, size_t)':
.../OSGZStream.inl:43: error: there are no arguments to 'setp' that depend
on a template parameter, so a declaration of 'setp' must be available
.../OSGZStream.inl:43: error: (if you use '-fpermissive', G++ will accept
your code, but allowing the use of an undeclared name is deprecated)

I have attached a patch that fixes the error. I am not sure why this is
cropping up now since this particular file has not been modified in quite a
long time. The only thing that I can think of is that this is the first time
that I have built any version of OpenSG using GCC 4.0.2.

 -Patrick


-- 
Patrick L. Hartling                    | VP Engineering, Infiscape Corp.
PGP: http://tinyurl.com/2msw3          | http://www.infiscape.com/
? .OSGZStream.inl.swp
? OSGZStream_inl.patch
Index: OSGZStream.inl
===================================================================
RCS file: /cvsroot/opensg/OpenSG/Source/System/FileIO/Base/OSGZStream.inl,v
retrieving revision 1.3
diff -u -r1.3 OSGZStream.inl
--- OSGZStream.inl      29 Jan 2005 13:05:37 -0000      1.3
+++ OSGZStream.inl      12 Dec 2005 20:01:29 -0000
@@ -40,7 +40,7 @@
                       window_size, memory_level,
                       static_cast<int>(strategy));
 
-    setp( &(_buffer[0]), &(_buffer[_buffer.size()-1]));
+    this->setp( &(_buffer[0]), &(_buffer[_buffer.size()-1]));
 }
 
 /** Destructor

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to