[osg-submissions] osg-2.3.5 does not compile with gcc-4.3 (patch)
Jürgen Löb
gandalf at hni.uni-paderborn.de
Wed Mar 19 10:36:40 PDT 2008
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.
More information about the osg-submissions
mailing list