Re: [osg-users] Problem compiling OSG from SVN in Cygwin
Hi Brian, I can't spot what might be up, there wasn't any changes to the core OSG to support the cfg plugin, so the addition of it should just the building of it and nothing else. Other changes checked in for other reasons might affect the build and this in turn could effect the cfg plugin. Its not entirely clear to me which bits work out of the box with the SVN version of the OSG, so its not clear what needs to be done to fix the build. Working on the assumption that its just the include order in the cfg plugin that is leading to some functions/macros being redefined/redefined I've moved the OSG includes to the tops of the files - things still compile under Linux so it would seem the changes are benign... but of course can't say how Cygwin will fare with them, perhaps no effect, perhaps a fix, perhaps make it worse... Could you check out the latest version in SVN and let me know exactly what things work/break out of the box without any further changes. Cheers, Robert. On Dec 19, 2007 6:51 PM, Brian Keener [EMAIL PROTECTED] wrote: Robert Osfield wrote: Couple of observations, include/osg/Math hasn't changed for a very long time, so it suggest that these methods aren't compiled by the compile unless one compiles the .cfg plugin No actually - if I change line 206 or line 207 to something like _isnanf and _isnand (1 underscore) then very early in the build it breaks on Animationpath.h and .cpp and if I change to lines back to the svn version then Animationpath.h and .cpp build as they should. , Which does perplex me as I'm sure these methods are used elsewhere, so what could be up? Agreed. See my response above as that is what I noticed - certain changes to fix the .cfg plugin broke Animationpath.h and .cpp in the build very early but my changes to line 206 and 207 using isnanf and __isnand (2 underscores) resulted in everything building as they should. If I look at /usr/include/math.h in Cygwin it defines isnanf and isnand. I don't know. Perhaps one could look at the include order to see in .cpp/.h files in the .cfg plugin are doing anything unusual. That was my thought I starting looking to see what was included or not included or the order they were included in Animationpath.h and .cpp vs the .cfg plugin but nothing yet. Thanks. bk ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Problem compiling OSG from SVN in Cygwin
Robert Osfield wrote: Couple of observations, include/osg/Math hasn't changed for a very long time, so it suggest that these methods aren't compiled by the compile unless one compiles the .cfg plugin No actually - if I change line 206 or line 207 to something like _isnanf and _isnand (1 underscore) then very early in the build it breaks on Animationpath.h and .cpp and if I change to lines back to the svn version then Animationpath.h and .cpp build as they should. , Which does perplex me as I'm sure these methods are used elsewhere, so what could be up? Agreed. See my response above as that is what I noticed - certain changes to fix the .cfg plugin broke Animationpath.h and .cpp in the build very early but my changes to line 206 and 207 using isnanf and __isnand (2 underscores) resulted in everything building as they should. If I look at /usr/include/math.h in Cygwin it defines isnanf and isnand. I don't know. Perhaps one could look at the include order to see in .cpp/.h files in the .cfg plugin are doing anything unusual. That was my thought I starting looking to see what was included or not included or the order they were included in Animationpath.h and .cpp vs the .cfg plugin but nothing yet. Thanks. bk ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Problem compiling OSG from SVN in Cygwin
Hello Robert, It's your worst nightmare again. I tried compiling the svn version again from trunk since you were asking folks to check various platforms. I downloaded fresh from svn and did the ccmake and then ran make and I get this error: [ 78%] Building CXX object src/osgPlugins/ive/CMakeFiles/osgdb_ive.dir/Visibilit yGroup.o Linking CXX shared module ./../../lib/osgPlugins-2.2.0/cygwin_osgdb_ive.dll [ 78%] Built target osgdb_ive Scanning dependencies of target osgdb_cfg [ 78%] Building CXX object src/osgPlugins/cfg/CMakeFiles/osgdb_cfg.dir/CameraCon fig.o In file included from /usr/src/OpenSceneGraph/include/osg/Vec2f:17, from /usr/src/OpenSceneGraph/include/osg/Vec2d:17, from /usr/src/OpenSceneGraph/include/osg/Vec3d:17, from /usr/src/OpenSceneGraph/include/osg/Matrixd:18, from /usr/src/OpenSceneGraph/include/osg/Matrix:17, from /usr/src/OpenSceneGraph/src/osgPlugins/cfg/Camera.h:19, from /usr/src/OpenSceneGraph/src/osgPlugins/cfg/CameraConfig.h: 19, from /usr/src/OpenSceneGraph/src/osgPlugins/cfg/CameraConfig.cp p:34: /usr/src/OpenSceneGraph/include/osg/Math: In function `bool osg::isNaN(float)': /usr/src/OpenSceneGraph/include/osg/Math:206: error: `isnan' undeclared (first u se this function) /usr/src/OpenSceneGraph/include/osg/Math:206: error: (Each undeclared identifier is reported only once for each function it appears in.) /usr/src/OpenSceneGraph/include/osg/Math: In function `bool osg::isNaN(double)': /usr/src/OpenSceneGraph/include/osg/Math:207: error: `isnan' undeclared (first u se this function) make[2]: *** [src/osgPlugins/cfg/CMakeFiles/osgdb_cfg.dir/CameraConfig.o] Error 1 make[1]: *** [src/osgPlugins/cfg/CMakeFiles/osgdb_cfg.dir/all] Error 2 make: *** [all] Error 2 [EMAIL PROTECTED] /usr/develop/obj/osg So then in include/osg/Math I change line 206 from this: inline bool isNaN(float v) { return isnan(v); } to inline bool isNaN(float v) { return isnanf(v); } and I change line 207 to return various forms of isnand, _isnan, _isnand just to see what will happen and then the build blows up much earlier on Animationpath in OpenThreads as follows: [EMAIL PROTECTED] /usr/develop/obj/osg $ make [ 0%] Built target OpenThreads [ 1%] Building CXX object src/osg/CMakeFiles/osg.dir/AnimationPath.o In file included from /usr/src/OpenSceneGraph/include/osg/Vec2f:17, from /usr/src/OpenSceneGraph/include/osg/Vec2d:17, from /usr/src/OpenSceneGraph/include/osg/Vec3d:17, from /usr/src/OpenSceneGraph/include/osg/Matrixf:18, from /usr/src/OpenSceneGraph/include/osg/AnimationPath:21, from /usr/src/OpenSceneGraph/src/osg/AnimationPath.cpp:13: /usr/src/OpenSceneGraph/include/osg/Math: In function `bool osg::isNaN(double)': /usr/src/OpenSceneGraph/include/osg/Math:207: error: `_isnand' undeclared (first use this function) /usr/src/OpenSceneGraph/include/osg/Math:207: error: (Each undeclared identifier is reported only once for each function it appears in.) make[2]: *** [src/osg/CMakeFiles/osg.dir/AnimationPath.o] Error 1 make[1]: *** [src/osg/CMakeFiles/osg.dir/all] Error 2 make: *** [all] Error 2 [EMAIL PROTECTED] /usr/develop/obj/osg $ This error which would lead me to believe that during the early stages of the compile - isnan is defined and then it disappears by the time I get to osgdb_config. Further on this is that I found if I change line 206 to inline bool isNaN(float v) { return isnanf(v); } and line 207 to inline bool isNaN(double v) { return __isnand(v); } then everything compile - any thought on this bk ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org