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
signature.asc
Description: OpenPGP digital signature
