[osg-users] hello
http://www.jans.com.au/wsjgcsjia.php___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Quat * Vec3 proposals - request for comments/help
--- On Tue, 21/4/09, J.P. Delport jpdelp...@csir.co.za wrote: From: J.P. Delport jpdelp...@csir.co.za Subject: [osg-users] Quat * Vec3 proposals - request for comments/help To: osg users osg-users@lists.openscenegraph.org Date: Tuesday, 21 April, 2009, 1:36 PM Hi all, it's been known for a while [1] that there are inconsistencies with the way OSG handles Quat * Vec3. In short: Quat * Vec3 is written in code as a post-multiply, but the result of the operation is as if a pre-multiply was performed. The attached test app also shows the problem (more on it later). [1] http://thread.gmane.org/gmane.comp.graphics.openscenegraph.user/21003 and http://thread.gmane.org/gmane.comp.graphics.openscenegraph.user/33099 What doesn't work? There are many examples that can be constructed of where a mathematical expression usings quats and vectors would not provide the expected results. See also [1]. The easiest one I could come up with is this: ((q1 * q2) * v) != (q1 * (q2 * v)) Why are there not more complaints? Well I curse this all the time, but not for the same reason. For me it's q1 * q2 that's annoying as I see it as the opposite of what I expect from the mathematics of applying a quaternion to a vector but then therein lies the problem. Using operator* for matrix multiplications is fine as that mirrors precisely what you are doing with the matrices mathematically. Using operator* for quaternion multiplication is a loose analogy since you are actually doing q*v*q' mathematically when applying q to v. If you have two rotations, q1 followed by q2 then you would get q2*q1*v*q1'*q2' mathematically and so I expect the interpretation of operator* to allow me to write q2*q1*v in code. Of course that's just my interpretation and what I'm effectively saying within that interpretation is that it's quat * quat that is wrong but there's no way in the world you can swap that now! :) Alternatively you could drop osg::Vec3::operator*( osg::Quat ) altogether and have osg::Vec3::apply( osg::Quat ) or osg::Vec3::rotate( osg::Quat ). I've used math libraries that do it this way (and where vec::operator*( quat ) is just that i.e. the mathematical multiplication rather than the full blown rotation. I guess it depends on whether you value the brevity of operator* over the underlying mathematics. If operator* is still going to be used for applying a quaternion to a vector then I support the idea of making the multiplication orders consistent between quat/quat and vec/quat as per your proposal. Making it consistent with OSG's row-major matrix multiplication is probably easier for coders who are not concerned with the details of the maths (and as I noted above it's not a workable solution to swap it now anyway). Whatever happens I second the comment of Tanguy Fautre who asked for it to be documented clearly somewhere. :) Anyway I hope you don't mind me chipping in. It certainly is interesting that there hasn't been more discussion. Maybe people just do what works and leave it. ;) Paul Fotheringham. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Quat * Vec3 proposals - request for comments/help
Alternatively you could drop osg::Vec3::operator*( osg::Quat ) altogether and have osg::Vec3::apply( osg::Quat ) or osg::Vec3::rotate( osg::Quat ). Woops. Of course I meant that it was osg::Quat::operator*( osg ::Vec3 ) that could be dropped. Sorry. Paul Fotheringham. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Development plan for imminent stable OSG-2.8
--- On Fri, 23/1/09, Robert Osfield robert.osfi...@gmail.com wrote: snip I would very much like for us to get the OSG binaries sorted out for this OSG-2.8, both for platforms like Windows and OSX, and for linux, in particular knocking on the Linux distro doors to get OSG-2.8 in the up coming linux releases. I greatly appreciate any assistance you can provide in terms or testing or helping out on the coordinating with packaging of the final release. Hi, I'm currently teaching myself how to build rpms. Would that be of any use for you? I know they are typically targeted at specific distributions but I have a large hard drive and could try to make then up for any distribtions I can get my hands on! From what I've read so far it seems that it would be better to create a source rpm first and then I can build the actual binary rpm on the target platform. Or maybe it's only the source rpm itself that should be made available? Of course this would be my first project at building rpms which might be a bit ambitious but you have to learn somewhere and it would be great to give something back! Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Development plan for imminent stable OSG-2.8
--- On Tue, 27/1/09, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Development plan for imminent stable OSG-2.8 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Tuesday, 27 January, 2009, 9:24 AM Hi Paul, On Tue, Jan 27, 2009 at 8:57 AM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: I'm currently teaching myself how to build rpms. Would that be of any use for you? It would. There is a message of Mattias, on the thread about LIB_POSTFIX, which mentions how to create rpms using CPack, so this would be a good place to start. Thanks, I'll check that out. I know they are typically targeted at specific distributions but I have a large hard drive and could try to make then up for any distributions I can get my hands on! Will you have to install the various distros? I thought so but perhaps there's an easier way? I'll investigate this further. I'd guess that that the main rpm based Distro's would be RedHat, Fedora and Mandriva. Do you have any these right now? I use Fedora at work and Mandriva at home so that should help. I think SuSE is rpm-based too or at least it was the last time I used it years ago. The first step would be to get rpm's built for the upcoming 2.7.9 on your present platform then get others to test these out. I'll start with that then. Can't promise how quickly it'll happen of course but I'll do my best :) Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] getting translate rotate scale right.
--- On Thu, 15/1/09, Gazi Alankus ala...@gmail.com wrote: From: Gazi Alankus ala...@gmail.com Subject: Re: [osg-users] getting translate rotate scale right. To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Thursday, 15 January, 2009, 6:25 PM I can't tell you the right answer, but maybe this might help a little bit. [rant] OSG matrices are not correct homogeneous transformation matrices. Eh? By what definition exactly? They are transposed. When you come up with a solution that involves multiplication of transformation matrices on paper, you have to reverse the order of multiplications when implementing it with OSG to get things working. This problem arises from the confusion that OpenGL stores matrices in column-major order and OSG treats that data as if it was stored in row-major order, effectively transposing the matrix. OpenGL is neither row-major or column-major. It treats a transformation matrix as 16 floats, nothing more. Only when one imposes a 4x4 structure of rows and columns on the 16 numbers does one then encounter the question Which way shall I order them?. At that point you choose row-major or column-major as the description of how your data is stored in the matrix. There is no such thing as row-major matrix since matrices are mathematical entities that have nothing to do with storage. Yes there is, I've just described it above. It's storage that has nothing to do with it i.e. OpenGL's view of it as 16 numbers, it's how you construct your mathematical entity, your matrix, that imposes one view or the other. Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] error compiling osg 2.6.1 on mac os x 10.4.11
--- On Sat, 3/1/09, Francesco Argese kekk...@gmail.com wrote: From: Francesco Argese kekk...@gmail.com Subject: [osg-users] error compiling osg 2.6.1 on mac os x 10.4.11 To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Saturday, 3 January, 2009, 11:51 AM Hi guys, i'm trying to install OSG 2.6.1 on Mac OS X 10.4.11. The version of cmake is 2.6-patch 2. The version of gcc is i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5250) The version of g++ is i686-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5250) I have typed the following commands (as written on documentation): ./configure make The compilation start until 20% when it told me this error (it seems to be a compiler problem): [ 20%] Building CXX object src/osgUtil/CMakeFiles/osgUtil.dir/Tessellator.cpp.o /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp: In member function 'void osgUtil::Tessellator::beginTessellation()': /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:44: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'/Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp: In member function 'void osgUtil::Tessellator::beginTessellation()': /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:44: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:44: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:45: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:45: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:44: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'/Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:46: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:46: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:47: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:47: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:48: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:48: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:45: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:45: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:46: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:46: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:47: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:47: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:48: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)' /Users/argesino/Development/3D Graphics/OpenSceneGraph-2.6.1/src/osgUtil/Tessellator.cpp:48: error: initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))' lipo: can't figure out the architecture type of: /var/tmp//ccn3IWWi.out make[2]: *** [src/osgUtil/CMakeFiles/osgUtil.dir/Tessellator.cpp.o] Error 1 make[1]: *** [src/osgUtil/CMakeFiles/osgUtil.dir/all] Error
Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4
--- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 8:46 AM Hi Paul, On Thu, Dec 18, 2008 at 6:37 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, Thanks for looking into this. --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: snip The core OSG library does link against the MATH_LIBRARY, but the other non of the other core libraries do. Apparently not on MacOSX using cmake :) Please read what I've already written. I've been using Cmake under OSX as others have been as well, without problems. I've already explained not once, but twice now, why that is. Take a look at src/osgText/CMakeFiles/osgText.dir/link.txt without the change you just made. In fact take a look at any of the link.txt files for each OSG library. Thay all have /usr/lib/libm.dylib in there. I've added a entry of MATH_LIBRARY into the linking of osgText. Could you do an svn update and see if the error is fixed? I got the svn version and no it doesn't fix it. All it does is move the /usr/lib/libm.dylib reference on the link line to a different place! The fact you've got errors but others under OSX haven't reported this (including myself) suggests that must be something else going w.r.t gcc/SDK's you are using on your machine. I'm sorry I haven't explained this well enough. The goal here is to *not* have any explicit reference to libm.dylib on the link line. The symbols reside in the SDK version of the library at /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib and *not* necessarily at /usr/lib/libm.dylib which is what the MATH_LIBRARY is set to. This is fine for UNIX but not Mac as it should be the former that is used for a consistent build (if there are Mac developers out there who disagree please correct me - I'm new to this). By omitting the explicit reference to libm.dylib the Mac build system takes care of this automatically and gets the symbols from the SDK version of the library. Users who are not seeing this problem have all the symbols they require in /usr/lib/libm.dylib and are, as I understand it, lucky ;) I'll will check what value is used on the OSX box that I was remote compiling on. Could you please remove the MATH_LIBRARY entry in the src/osg/CMakeLists.txt and src/osgText/CMakeLists.txt to test your theory about not needing it. I agree that only libosg needs it. osgText only needs it indirectly. If I remove the MATH_LIBRARY entry from src/osgText/CMakeLists.txt then /usr/lib/libm.dylib still apears in the link line. To be more precise, it appears in src/osgText/CMakeFiles/osgDB.dir/link.txt which, with my limited knowledge of cmake, is what I assume it uses to perform the link. As I implied in my first post, all these references to /usr/lib/libm.dylib on the link lines seem to come from the FIND_LIBRARY(MATH_LIBRARY m) line in the top-level CMakeLists.txt as they all go away if I remove that. Robert. Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4
Hi Robert, If I set MATH_LIBRARY to then it builds fine (with nothing on any on the link lines). Also, if I set it to /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib it also works fine (with /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib on each link line). I must admit I'm puzzled as to why the string associated with MATH_LIBRARY is appearing on the link lines for all the libraries and not just libosg itself as none of the CMakeLists.txt files other than the one in the osg folder refer to it. Are the other libraries somehow inheriting this setting from the cmake settings in libosg? Paul --- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 11:15 AM Hi Paul, What happens if, using ccamke, you manually set the MATH_LIBRARY to or to your frameworks version? Robert. On Fri, Dec 19, 2008 at 11:06 AM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: --- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 8:46 AM Hi Paul, On Thu, Dec 18, 2008 at 6:37 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, Thanks for looking into this. --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: snip The core OSG library does link against the MATH_LIBRARY, but the other non of the other core libraries do. Apparently not on MacOSX using cmake :) Please read what I've already written. I've been using Cmake under OSX as others have been as well, without problems. I've already explained not once, but twice now, why that is. Take a look at src/osgText/CMakeFiles/osgText.dir/link.txt without the change you just made. In fact take a look at any of the link.txt files for each OSG library. Thay all have /usr/lib/libm.dylib in there. I've added a entry of MATH_LIBRARY into the linking of osgText. Could you do an svn update and see if the error is fixed? I got the svn version and no it doesn't fix it. All it does is move the /usr/lib/libm.dylib reference on the link line to a different place! The fact you've got errors but others under OSX haven't reported this (including myself) suggests that must be something else going w.r.t gcc/SDK's you are using on your machine. I'm sorry I haven't explained this well enough. The goal here is to *not* have any explicit reference to libm.dylib on the link line. The symbols reside in the SDK version of the library at /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib and *not* necessarily at /usr/lib/libm.dylib which is what the MATH_LIBRARY is set to. This is fine for UNIX but not Mac as it should be the former that is used for a consistent build (if there are Mac developers out there who disagree please correct me - I'm new to this). By omitting the explicit reference to libm.dylib the Mac build system takes care of this automatically and gets the symbols from the SDK version of the library. Users who are not seeing this problem have all the symbols they require in /usr/lib/libm.dylib and are, as I understand it, lucky ;) I'll will check what value is used on the OSX box that I was remote compiling on. Could you please remove the MATH_LIBRARY entry in the src/osg/CMakeLists.txt and src/osgText/CMakeLists.txt to test your theory about not needing it. I agree that only libosg needs it. osgText only needs it indirectly. If I remove the MATH_LIBRARY entry from src/osgText/CMakeLists.txt then /usr/lib/libm.dylib still apears in the link line. To be more precise, it appears in src/osgText/CMakeFiles/osgDB.dir/link.txt which, with my limited knowledge of cmake, is what I assume it uses to perform the link. As I implied in my first post, all these references to /usr/lib/libm.dylib on the link lines seem to come from the FIND_LIBRARY(MATH_LIBRARY m) line in the top-level CMakeLists.txt as they all go away if I remove that. Robert. Paul ___ 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 ___ osg-users mailing list osg-users
Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4
Hi Robert, Thanks for that. I tried with the latest code from SVN and a fresh build directory and I still got the same two unresolved symbols. I'm off on holiday now so I won't have access to the MacOSX machine at work until I get back in January. I didn't realise you were busy doing the 2.7.8 release. If you do get a spare moment at some point then IMO the blog entry I linked to in my first post is quite informative. Since I'm new to the Mac I have no idea if it's a really bad thing that the 10.4 SDK libs on my system have different symbols from the 10.4 system libs. It does sound dodgy to me and even though I can tweak things to get osgText to build I wouldn't be surprised if it doesn't run (I'm actually not bothered as we don't use that particular library). Oh well, thanks anyway, and have a good christmas and maybe we can resume this in January. Hopefully in the meantime someone with good Mac knowledge can maybe wade in to clarify it all :) Paul --- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 4:14 PM Hi Paul, When I was removing the MATH_LIBRARY entry from the src/osgText/CMakeLists.txt (the one that I had added to see it would help you) I noticed that FreeType was listed but this isn't needed by osgText, just by the freetype plugin so I have removed this as it's not needed and potentially could extra complications that it needn't have. Could you try svn/trunk to see if it makes any difference. I've attached the cleaned up osgText/CMakeLists.txt in case you just want to try this on its own. Robert. On Fri, Dec 19, 2008 at 3:53 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, If I set MATH_LIBRARY to then it builds fine (with nothing on any on the link lines). Also, if I set it to /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib it also works fine (with /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib on each link line). I must admit I'm puzzled as to why the string associated with MATH_LIBRARY is appearing on the link lines for all the libraries and not just libosg itself as none of the CMakeLists.txt files other than the one in the osg folder refer to it. Are the other libraries somehow inheriting this setting from the cmake settings in libosg? Paul --- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 11:15 AM Hi Paul, What happens if, using ccamke, you manually set the MATH_LIBRARY to or to your frameworks version? Robert. On Fri, Dec 19, 2008 at 11:06 AM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: --- On Fri, 19/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Friday, 19 December, 2008, 8:46 AM Hi Paul, On Thu, Dec 18, 2008 at 6:37 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, Thanks for looking into this. --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: snip The core OSG library does link against the MATH_LIBRARY, but the other non of the other core libraries do. Apparently not on MacOSX using cmake :) Please read what I've already written. I've been using Cmake under OSX as others have been as well, without problems. I've already explained not once, but twice now, why that is. Take a look at src/osgText/CMakeFiles/osgText.dir/link.txt without the change you just made. In fact take a look at any of the link.txt files for each OSG library. Thay all have /usr/lib/libm.dylib in there. I've added a entry of MATH_LIBRARY into the linking of osgText. Could you do an svn update and see if the error is fixed? I got the svn version and no it doesn't fix it. All it does is move the /usr/lib/libm.dylib reference on the link line to a different place! The fact you've got errors but others under OSX haven't reported this (including myself) suggests that must be something else going w.r.t gcc/SDK's you are using on your machine. I'm sorry I haven't explained this well enough. The goal here is to *not* have any explicit reference to libm.dylib on the link line. The symbols reside in the SDK
Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4
Hi Robert, I just tried 2.7.7 and it's still an issue there. Maybe only the Xcode project was fixed up? Paul. --- On Wed, 17/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Wednesday, 17 December, 2008, 4:26 PM Hi Paul, I believe this one has already been addressed in the 2.7.x dev series, could you try 2.7.7 or svn/trunk. Robert. On Wed, Dec 17, 2008 at 4:11 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi, I think I know what the problem is. I'm getting the same unresolved symbols building on MacOS 10.4 and OSG 2.6.1 using cmake. Your link line has /usr/lib/libm.dylib rather than your SDK version of the library. I don't know much about these things myself as I've only been using a Mac for about 1 day now but this blog entry details the issue http://www.red-sweater.com/blog/246/missing-link As far as cmake goes, and I've only been looking at _that_ for about 2 days, it seems the problem is in the top-level CMakeLists.txt file where it has the line FIND_LIBRARY(MATH_LIBRARY m) wrapped in an IF(UNIX) clause. I think this particular line should also be wrappend in an IF(NOT APPLE) clause. Doing this fixes up the link lines for me and the problem goes away. As I say I'm certainly no Mac expert so maybe this isn't quite right. I'm certainly not confident enough to post it to osg-submissions :) I haven't looked at the Xcode project at all but I imagine something similar must be going on there? Paul Fotheringham ___ 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] Build error on MAc OSX 10.4 and OSG 2.7.4
Hi, The error is Linking CXX shared library ../../lib/libosgText.dylib ld: Undefined symbols: _acl_copy_ext_native referenced from CarbonCore expected to be defined in libSystem _acl_copy_int_native referenced from CarbonCore expected to be defined in libSystem _task_name_for_pid referenced from CarbonCore expected to be defined in libSystem It depends on the configuration of your system and whether the SDK versions of the libraries match the system ones. On some OSX systems it will build fine and on some it won't. It all depends on whether the SDK libs are in sync. with the system ones as regards having all the required symbols. The link to the blog entry in my first email explains this better than I can. As I understand it, the systems that work are simply getting away with it as the symbols required by the build process just happen to be all there in the system libraries. They ought to be consistently getting them from the SDK libraries. Paul --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Thursday, 18 December, 2008, 10:28 AM HI Paul, On Thu, Dec 18, 2008 at 8:33 AM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, I just tried 2.7.7 and it's still an issue there. Maybe only the Xcode project was fixed up? It's the CMake projects that have the math library added. Last week I did some work comiling under OSX via a remote log in, both OpenSceneGraph and Present3D (that depends upon OpenSceneGraph) compiled fine using Cmake. Could you be specific about what error you are seeing and whereabouts in the OSG build? Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4
Hi Robert, Thanks for looking into this. --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: snip The core OSG library does link against the MATH_LIBRARY, but the other non of the other core libraries do. Apparently not on MacOSX using cmake :) Take a look at src/osgText/CMakeFiles/osgText.dir/link.txt without the change you just made. In fact take a look at any of the link.txt files for each OSG library. Thay all have /usr/lib/libm.dylib in there. I've added a entry of MATH_LIBRARY into the linking of osgText. Could you do an svn update and see if the error is fixed? I got the svn version and no it doesn't fix it. All it does is move the /usr/lib/libm.dylib reference on the link line to a different place! The fact you've got errors but others under OSX haven't reported this (including myself) suggests that must be something else going w.r.t gcc/SDK's you are using on your machine. I'm sorry I haven't explained this well enough. The goal here is to *not* have any explicit reference to libm.dylib on the link line. The symbols reside in the SDK version of the library at /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libm.dylib and *not* necessarily at /usr/lib/libm.dylib which is what the MATH_LIBRARY is set to. This is fine for UNIX but not Mac as it should be the former that is used for a consistent build (if there are Mac developers out there who disagree please correct me - I'm new to this). By omitting the explicit reference to libm.dylib the Mac build system takes care of this automatically and gets the symbols from the SDK version of the library. Users who are not seeing this problem have all the symbols they require in /usr/lib/libm.dylib and are, as I understand it, lucky ;) Paul Robert. On Thu, Dec 18, 2008 at 2:01 PM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi, The error is Linking CXX shared library ../../lib/libosgText.dylib ld: Undefined symbols: _acl_copy_ext_native referenced from CarbonCore expected to be defined in libSystem _acl_copy_int_native referenced from CarbonCore expected to be defined in libSystem _task_name_for_pid referenced from CarbonCore expected to be defined in libSystem It depends on the configuration of your system and whether the SDK versions of the libraries match the system ones. On some OSX systems it will build fine and on some it won't. It all depends on whether the SDK libs are in sync. with the system ones as regards having all the required symbols. The link to the blog entry in my first email explains this better than I can. As I understand it, the systems that work are simply getting away with it as the symbols required by the build process just happen to be all there in the system libraries. They ought to be consistently getting them from the SDK libraries. Paul --- On Thu, 18/12/08, Robert Osfield robert.osfi...@gmail.com wrote: From: Robert Osfield robert.osfi...@gmail.com Subject: Re: [osg-users] Build error on MAc OSX 10.4 and OSG 2.7.4 To: osg_u...@yahoo.co.uk, OpenSceneGraph Users osg-users@lists.openscenegraph.org Date: Thursday, 18 December, 2008, 10:28 AM HI Paul, On Thu, Dec 18, 2008 at 8:33 AM, Paul Fotheringham osg_u...@yahoo.co.uk wrote: Hi Robert, I just tried 2.7.7 and it's still an issue there. Maybe only the Xcode project was fixed up? It's the CMake projects that have the math library added. Last week I did some work comiling under OSX via a remote log in, both OpenSceneGraph and Present3D (that depends upon OpenSceneGraph) compiled fine using Cmake. Could you be specific about what error you are seeing and whereabouts in the OSG build? Robert. ___ 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