[osg-submissions] osg-2.3.5 does not compile with gcc-4.3 (patch)
Robert Osfield
robert.osfield at gmail.com
Wed Mar 19 12:59:05 PDT 2008
Hi Jurgen,
Could you try replacing the Standard C++ style C includes by ordinary
C counterparts such as string.h etc. The aim is to fix the compile
but use headers that are guarenteed to work across platforms. I
realise this is right pain in the butt, but less of pain than it is
breaking the build for otherwise innocent users.
Robert.
On Wed, Mar 19, 2008 at 5:36 PM, Jürgen Löb
<gandalf at hni.uni-paderborn.de> wrote:
> Hi,
>
> all the errors are due to stricter include handling in newer gcc
> includes. See: http://gcc.gnu.org/gcc-4.3/porting_to.html
> Imho there is now other way to get the issues solved, but to add the
> includes. You're right, if there are systems on which these headers do
> not exist this causes the build to break on these systems. In that case
> we should do some preprocessing....
>
> Jürgen
>
>
> Detailed errors and headers to include follow:
>
>
> [ 16%] Building CXX object src/osgDB/CMakeFiles/osgDB.dir/FileNameUtils.o
> cc1plus: Anmerkung: -freorder-blocks-and-partition funktioniert nicht
> mit Ausnahmen
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgDB/FileNameUtils.cpp:30:
> Fehler: »std::strlen« wurde nicht deklariert
> make[2]: *** [src/osgDB/CMakeFiles/osgDB.dir/FileNameUtils.o] Fehler 1
> make[1]: *** [src/osgDB/CMakeFiles/osgDB.dir/all] Fehler 2
> make: *** [all] Fehler 2
>
> solution: #include <cstring>
>
>
> [ 16%] Building CXX object src/osgDB/CMakeFiles/osgDB.dir/Registry.o
> cc1plus: Anmerkung: -freorder-blocks-and-partition funktioniert nicht
> mit Ausnahmen
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgDB/Registry.cpp:39:
> Fehler: »std::strlen« wurde nicht deklariert
> make[2]: *** [src/osgDB/CMakeFiles/osgDB.dir/Registry.o] Fehler 1
> make[1]: *** [src/osgDB/CMakeFiles/osgDB.dir/all] Fehler 2
> make: *** [all] Fehler 2
>
> solution: #include <cstring>
>
>
> [ 36%] Building CXX object
> src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o
> cc1plus: Anmerkung: -freorder-blocks-and-partition funktioniert nicht
> mit Ausnahmen
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgViewer/ViewerEventHandlers.cpp:
> In member function »unsigned int
> osgViewer::WindowSizeHandler::getNearestResolution(int, int, int, int)
> const«:
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgViewer/ViewerEventHandlers.cpp:250:
> Fehler: »INT_MAX« wurde in diesem Gültigkeitsbereich nicht definiert
> make[2]: ***
> [src/osgViewer/CMakeFiles/osgViewer.dir/ViewerEventHandlers.o] Fehler 1
> make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] Fehler 2
> make: *** [all] Fehler 2
>
> solution: #include <climits>
>
>
> [ 70%] Building CXX object
> src/osgPlugins/gdal/CMakeFiles/osgdb_gdal.dir/ReaderWriterGDAL.o
> cc1plus: Anmerkung: -freorder-blocks-and-partition funktioniert nicht
> mit Ausnahmen
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:
> In member function »virtual osgDB::ReaderWriter::ReadResult
> ReaderWriterGDAL::local_readImage(const std::string&, const
> osgDB::ReaderWriter::Options*)«:
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:114:
> Fehler: »auto_ptr« ist kein Element von »std«
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:114:
> Fehler: expected primary-expression before »>« token
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:114:
> Fehler: »dataset« wurde in diesem Gültigkeitsbereich nicht definiert
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:
> In member function »osgDB::ReaderWriter::ReadResult
> ReaderWriterGDAL::local_readHeightField(const std::string&, const
> osgDB::ReaderWriter::Options*)«:
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:568:
> Fehler: »auto_ptr« ist kein Element von »std«
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:568:
> Fehler: expected primary-expression before »>« token
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/src/osgPlugins/gdal/ReaderWriterGDAL.cpp:568:
> Fehler: »dataset« wurde in diesem Gültigkeitsbereich nicht definiert
> make[2]: ***
> [src/osgPlugins/gdal/CMakeFiles/osgdb_gdal.dir/ReaderWriterGDAL.o] Fehler 1
> make[1]: *** [src/osgPlugins/gdal/CMakeFiles/osgdb_gdal.dir/all] Fehler 2
> make: *** [all] Fehler 2
>
> solution: #include <memory>
>
>
> [ 88%] Building CXX object
> examples/osgdepthpartition/CMakeFiles/example_osgdepthpartition.dir/DistanceAccumulator.o
> cc1plus: Anmerkung: -freorder-blocks-and-partition funktioniert nicht
> mit Ausnahmen
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/examples/osgdepthpartition/DistanceAccumulator.cpp:
> In constructor »DistanceAccumulator::DistanceAccumulator()«:
> /var/tmp/portage/media-gfx/openscenegraph-2.3.5/work/OpenSceneGraph-2.3.5/examples/osgdepthpartition/DistanceAccumulator.cpp:46:
> Fehler: »UINT_MAX« wurde in diesem Gültigkeitsbereich nicht definiert
> make[2]: ***
> [examples/osgdepthpartition/CMakeFiles/example_osgdepthpartition.dir/DistanceAccumulator.o]
> Fehler 1
> make[1]: ***
> [examples/osgdepthpartition/CMakeFiles/example_osgdepthpartition.dir/all]
> Fehler 2
> make: *** [all] Fehler 2
>
> solution: #include <limits.h>
>
>
>
> Robert Osfield schrieb:
> > Hi Jürgen,
> >
>
> > I'm reviewing your changes but am concerned that they might break the
> > build on older systems like IRIX where the full Standard C++'s c
> > headers aren't properly supported.
> >
> > Could you post the errors you are getting.
> >
> > Robert.
> >
> --
>
>
> Hiermit widerspreche ich/wir der Nutzung oder Uebermittlung
> meiner/unserer Daten fuer Werbezwecke oder fuer die Markt- oder
> Meinungsforschung gem. Par. 28 Abs. 3 Bundesdatenschutzgesetz.
>
> _______________________________________________
> osg-submissions mailing list
> osg-submissions at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
More information about the osg-submissions
mailing list