[osg-users] Build problems with osgviewerFLTK (OSG 2.6.0)

Cliff Taylor bloodgain at gmail.com
Tue Sep 23 09:57:12 PDT 2008


Hey guys,
   I moved to a new development box with openSUSE 11.0 (x86_64), so I
had to rebuild OpenSceneGraph.  This time, I decided to use ccmake and
edit the configuration to build the documentation and support for some
more libraries.  I ran into some trouble when it tries to build
osgviewerFLTK.o.  I could have removed the library paths for FLTK in
my config, but I thought it might be a build issue you'd like to know
about.

The problem seems to stem from the include/osg/Math file.  Adding
#include <cstring> makes it build correctly on my system, but that's
probably not completely portable.  I am building from the stable
release 2.6.0 (zip) from the osg project page with g++-4.3 as my CXX.

I also had the same problem as this posting on osg-submission, which
manually adding Robert's changes fixed:
http://lists.openscenegraph.org/pipermail/osg-submissions-openscenegraph.org/2008-September/002216.html

I assume this issue stems from the same strictness in gcc/g++.

Info for debugging follows if you need it

-- Cliff T.
----------------------------------------------------------

Here's my gcc config:
#########################################
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3
--enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64
--with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--program-suffix=-4.3 --enable-version-specific-runtime-libs
--enable-linux-futex --without-system-libunwind --with-cpu=generic
--build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision
135036] (SUSE Linux)
##########################################

I know it's prerelease, but I don't think it's an error in gcc.

Here's the compiler output for the failed build (sorry it's so long,
but I want to be thorough):
######################################################################
[ 98%] Building CXX object
examples/osgviewerFLTK/CMakeFiles/example_osgviewerFLTK.dir/osgviewerFLTK.o
In file included from /home/ctaylor/lib/osg/include/osg/Vec2f:17,
                 from /home/ctaylor/lib/osg/include/osg/Vec2:17,
                 from /home/ctaylor/lib/osg/include/osg/Array:19,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Math: In function 'float osg::round(float)':
/home/ctaylor/lib/osg/include/osg/Math:194: error: 'floorf' was not
declared in this scope
/home/ctaylor/lib/osg/include/osg/Math:194: error: 'ceilf' was not
declared in this scope
/home/ctaylor/lib/osg/include/osg/Math: In function 'double osg::round(double)':
/home/ctaylor/lib/osg/include/osg/Math:195: error: 'floor' was not
declared in this scope
/home/ctaylor/lib/osg/include/osg/Math:195: error: 'ceil' was not
declared in this scope
/home/ctaylor/lib/osg/include/osg/Math: In function 'bool osg::isNaN(float)':
/home/ctaylor/lib/osg/include/osg/Math:206: error: 'isnan' was not
declared in this scope
/home/ctaylor/lib/osg/include/osg/Math: In function 'bool osg::isNaN(double)':
/home/ctaylor/lib/osg/include/osg/Math:207: error: 'isnan' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Vec2:17,
                 from /home/ctaylor/lib/osg/include/osg/Array:19,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec2f: In member function 'float
osg::Vec2f::length() const':
/home/ctaylor/lib/osg/include/osg/Vec2f:147: error: 'sqrtf' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Vec3:17,
                 from /home/ctaylor/lib/osg/include/osg/Array:20,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec3f: In member function 'float
osg::Vec3f::length() const':
/home/ctaylor/lib/osg/include/osg/Vec3f:175: error: 'sqrtf' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Vec4:17,
                 from /home/ctaylor/lib/osg/include/osg/Array:21,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec4f: In member function 'float
osg::Vec4f::length() const':
/home/ctaylor/lib/osg/include/osg/Vec4f:211: error: 'sqrtf' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Array:22,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec2d: In member function 'double
osg::Vec2d::length() const':
/home/ctaylor/lib/osg/include/osg/Vec2d:150: error: 'sqrt' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Array:23,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec3d: In member function 'double
osg::Vec3d::length() const':
/home/ctaylor/lib/osg/include/osg/Vec3d:180: error: 'sqrt' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Array:24,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:22,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Vec4d: In member function 'double
osg::Vec4d::length() const':
/home/ctaylor/lib/osg/include/osg/Vec4d:215: error: 'sqrt' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Matrixd:20,
                 from /home/ctaylor/lib/osg/include/osg/Matrix:18,
                 from /home/ctaylor/lib/osg/include/osg/Uniform:26,
                 from /home/ctaylor/lib/osg/include/osg/StateSet:21,
                 from /home/ctaylor/lib/osg/include/osg/Node:19,
                 from /home/ctaylor/lib/osg/include/osg/NodeVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:17,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Quat: In member function 'double
osg::Quat::length() const':
/home/ctaylor/lib/osg/include/osg/Quat:290: error: 'sqrt' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Drawable:17,
                 from /home/ctaylor/lib/osg/include/osg/Geode:19,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:19,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/BoundingBox: In member function
'float osg::BoundingBox::radius() const':
/home/ctaylor/lib/osg/include/osg/BoundingBox:120: error: 'sqrt' was
not declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/Shape:20,
                 from /home/ctaylor/lib/osg/include/osg/Drawable:18,
                 from /home/ctaylor/lib/osg/include/osg/Geode:19,
                 from /home/ctaylor/lib/osg/include/osgGA/EventVisitor:19,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:18,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/Plane: In member function 'void
osg::Plane::makeUnitLength()':
/home/ctaylor/lib/osg/include/osg/Plane:107: error: 'sqrt' was not
declared in this scope
In file included from /home/ctaylor/lib/osg/include/osg/CullStack:17,
                 from
/home/ctaylor/lib/osg/include/osg/CollectOccludersVisitor:18,
                 from /home/ctaylor/lib/osg/include/osgUtil/SceneView:22,
                 from /home/ctaylor/lib/osg/include/osgViewer/View:22,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:21,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/CullingSet: In member function
'float osg::CullingSet::clampedPixelSize(const osg::Vec3&, float)
const':
/home/ctaylor/lib/osg/include/osg/CullingSet:178: error: 'fabs' was
not declared in this scope
/home/ctaylor/lib/osg/include/osg/CullingSet: In member function
'float osg::CullingSet::clampedPixelSize(const osg::BoundingSphere&)
const':
/home/ctaylor/lib/osg/include/osg/CullingSet:181: error: 'fabs' was
not declared in this scope
In file included from /home/ctaylor/lib/osg/include/osgGA/MatrixManipulator:19,
                 from /home/ctaylor/lib/osg/include/osgViewer/View:24,
                 from /home/ctaylor/lib/osg/include/osgViewer/Viewer:21,
                 from
/home/ctaylor/lib/osg/examples/osgviewerFLTK/osgviewerFLTK.cpp:23:
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode: In member
function 'void osg::EllipsoidModel::convertLatLongHeightToXYZ(double,
double, double, double&, double&, double&) const':
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:148: error:
'sin' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:149: error:
'cos' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:150: error:
'sqrt' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode: In member
function 'void osg::EllipsoidModel::convertXYZToLatLongHeight(double,
double, double, double&, double&, double&) const':
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:161: error:
'sqrt' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:162: error:
'atan2' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:166: error:
'sin' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:167: error:
'cos' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:170: error:
'atan' was not declared in this scope
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode: In member
function 'void osg::EllipsoidModel::computeLocalToWorldTransformFromXYZ(double,
double, double, osg::Matrixd&) const':
/home/ctaylor/lib/osg/include/osg/CoordinateSystemNode:192: error:
'sqrt' was not declared in this scope
make[2]: *** [examples/osgviewerFLTK/CMakeFiles/example_osgviewerFLTK.dir/osgviewerFLTK.o]
Error 1
make[1]: *** [examples/osgviewerFLTK/CMakeFiles/example_osgviewerFLTK.dir/all]
Error 2
make: *** [all] Error 2
##########################################################



More information about the osg-users mailing list