Re: [osg-users] OT: do I need to recompile OSG?
Hi Gordon, Thanks for the advice. I'm going to bite the bullet and do as you suggested. The list of dependencies aren't really all that bad. Cory Tomlinson, Gordon wrote: Hi In there wisdom MS decided it would be a good idea to use different CRT ( for C++ in debug use different memory allocators and dealocators , they through a lot of debug memory padding etc. etc. etc. etc. etc. doing a Google will bring up lots of reference material on this. ( this is typically no an issue on UNIX and Linux systems, dang I miss IRIX .. ). If an app was purely link with C lib its not an issues Most of the OSG 3rd party requirements are typically built with C++ so you need to ensure they are build with the same CRT and settings. Things like libJpeg, png, tiff, gdal, collada, xerces, proj4, libxml geos, boost etc While first time round it can take a little time to assemble your OSG 3rdparty sources and set them up, in the long run it is worth it ( at least for me ), for a commercial application I need to know that all the libraries I use meet the standard build requirments, and the only way to ensure that is to build them myself Gordon Product Manager 3d __ Gordon Tomlinson Email : gtomlinson @ overwatch.textron.com __ -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Cory Riddell Sent: Tuesday, September 01, 2009 3:03 PM To: OpenSceneGraph Users Subject: Re: [osg-users] OT: do I need to recompile OSG? Hi Gordon, Tomlinson, Gordon wrote: Generally it is recommend you build every thing with the same compiler version ( it saves time in the long run ) I started out thinking this is the obvious answer, but the more I think about it, I'm not so sure. For example, OSG uses OpenGL from operating system libraries or libraries supplied by my video card maker. These may not even be compiled by a Microsoft compiler and there certainly isn't any way for me to recompile them. This makes me think that it doesn't really matter. I would like to understand what the problem is with mixing object files built against different versions of library files. Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ 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] OT: do I need to recompile OSG?
Sorry for an off-topic post, but... I recently updated my Visual Studio installation (VS2005) and found that Microsoft had fixed some bugs in the C runtime. My CRT went from version 8.0.50727.762 to 8.0.50727.4053. Would this mean that I need to recompile OSG? Is it safe for my app built with version .4053 to use OSG build with version .762? Any rules of thumb for when I need to rebuild my supporting libraries or contact vendors for updates of closed-source libraries? Thanks, Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Generally it is recommend you build every thing with the same compiler version ( it saves time in the long run ) Gordon Product Manager 3d __ Gordon Tomlinson Email : gtomlinson @ overwatch.textron.com __ -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Cory Riddell Sent: Tuesday, September 01, 2009 2:40 PM To: OpenSceneGraph Users Subject: [osg-users] OT: do I need to recompile OSG? Sorry for an off-topic post, but... I recently updated my Visual Studio installation (VS2005) and found that Microsoft had fixed some bugs in the C runtime. My CRT went from version 8.0.50727.762 to 8.0.50727.4053. Would this mean that I need to recompile OSG? Is it safe for my app built with version .4053 to use OSG build with version .762? Any rules of thumb for when I need to rebuild my supporting libraries or contact vendors for updates of closed-source libraries? Thanks, Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Hi Gordon, Tomlinson, Gordon wrote: Generally it is recommend you build every thing with the same compiler version ( it saves time in the long run ) I started out thinking this is the obvious answer, but the more I think about it, I'm not so sure. For example, OSG uses OpenGL from operating system libraries or libraries supplied by my video card maker. These may not even be compiled by a Microsoft compiler and there certainly isn't any way for me to recompile them. This makes me think that it doesn't really matter. I would like to understand what the problem is with mixing object files built against different versions of library files. Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Cory Riddell wrote: I started out thinking this is the obvious answer, but the more I think about it, I'm not so sure. For example, OSG uses OpenGL from operating system libraries or libraries supplied by my video card maker. These may not even be compiled by a Microsoft compiler and there certainly isn't any way for me to recompile them. This makes me think that it doesn't really matter. I would like to understand what the problem is with mixing object files built against different versions of library files. In this case, I believe it is acknowledged that the new patch does want stuff recompiled. I don't know the details exactly, but it's using a different C/C++ runtime (CRT) library which is causing havoc for developers. Libraries like OpenGL do not utilize the C/C++ runtime, rather they do without (things like streams, or stdio) use the core Windows Win32 API functions. Most Windows system libraries will be this way. Third-party libraries, especially those with poratability in mind, avoid system-specifc APIs like Win32 wherever possible in favor of the portable C/C++ runtime. but that means they are dependent on linking with the right version of CRT. Cory -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Chris, Chris 'Xenon' Hanson wrote: Cory Riddell wrote: I started out thinking this is the obvious answer, but the more I think about it, I'm not so sure. For example, OSG uses OpenGL from operating system libraries or libraries supplied by my video card maker. These may not even be compiled by a Microsoft compiler and there certainly isn't any way for me to recompile them. This makes me think that it doesn't really matter. I would like to understand what the problem is with mixing object files built against different versions of library files. In this case, I believe it is acknowledged that the new patch does want stuff recompiled. I don't know the details exactly, but it's using a different C/C++ runtime (CRT) library which is causing havoc for developers. Libraries like OpenGL do not utilize the C/C++ runtime, rather they do without (things like streams, or stdio) use the core Windows Win32 API functions. Most Windows system libraries will be this way. Third-party libraries, especially those with poratability in mind, avoid system-specifc APIs like Win32 wherever possible in favor of the portable C/C++ runtime. but that means they are dependent on linking with the right version of CRT. Ok, this actually makes a lot of sense to me. Now I wonder how I can figure out if a particular library does depend on the CRT library. I've had some luck doing: dumpbin /directives FOO.lib but I'm thinking there is likely a better way. For the OSG stuff posted on the downloads page for Microsoft systems, versions 2.8.0, 2.81, and 2.8.2 are made for the .762 version of the CRT and I'm guessing 2.8.3 will require .4053. You know, I'm surprised any software ever works. Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Cory Riddell wrote: Ok, this actually makes a lot of sense to me. Now I wonder how I can figure out if a particular library does depend on the CRT library. I've had some luck doing: dumpbin /directives FOO.lib but I'm thinking there is likely a better way. If it uses the CRT as a DLL, Dependency Walker should tell you. Google it. For the OSG stuff posted on the downloads page for Microsoft systems, versions 2.8.0, 2.81, and 2.8.2 are made for the .762 version of the CRT and I'm guessing 2.8.3 will require .4053. You know, I'm surprised any software ever works. When Microsoft is involved, it frequently doesn't. This morass is one of the motivations behind the compile it yourself CMake project being discussed for as many of OSG's thirdparty libs as possible. Cory -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Chris 'Xenon' Hanson wrote: Cory Riddell wrote: Ok, this actually makes a lot of sense to me. Now I wonder how I can figure out if a particular library does depend on the CRT library. I've had some luck doing: dumpbin /directives FOO.lib but I'm thinking there is likely a better way. If it uses the CRT as a DLL, "Dependency Walker" should tell you. Google it. And say a third party library has been compiled for the non-dll version of the c runtime (I think this is libc or libcmt for the multi threaded variant). If the third party library is a dll I may have problems passing data between my app and the dll, correct? If the third party library is a lib, then I'll just get a bunch of linker errors. Yikes! Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Hi In there wisdom MS decided it would be a good idea to use different CRT ( for C++ in debug use different memory allocators and dealocators , they through a lot of debug memory padding etc. etc. etc. etc. etc. doing a Google will bring up lots of reference material on this. ( this is typically no an issue on UNIX and Linux systems, dang I miss IRIX .. ). If an app was purely link with C lib its not an issues Most of the OSG 3rd party requirements are typically built with C++ so you need to ensure they are build with the same CRT and settings. Things like libJpeg, png, tiff, gdal, collada, xerces, proj4, libxml geos, boost etc While first time round it can take a little time to assemble your OSG 3rdparty sources and set them up, in the long run it is worth it ( at least for me ), for a commercial application I need to know that all the libraries I use meet the standard build requirments, and the only way to ensure that is to build them myself Gordon Product Manager 3d __ Gordon Tomlinson Email : gtomlinson @ overwatch.textron.com __ -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Cory Riddell Sent: Tuesday, September 01, 2009 3:03 PM To: OpenSceneGraph Users Subject: Re: [osg-users] OT: do I need to recompile OSG? Hi Gordon, Tomlinson, Gordon wrote: Generally it is recommend you build every thing with the same compiler version ( it saves time in the long run ) I started out thinking this is the obvious answer, but the more I think about it, I'm not so sure. For example, OSG uses OpenGL from operating system libraries or libraries supplied by my video card maker. These may not even be compiled by a Microsoft compiler and there certainly isn't any way for me to recompile them. This makes me think that it doesn't really matter. I would like to understand what the problem is with mixing object files built against different versions of library files. Cory ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OT: do I need to recompile OSG?
Cory Riddell wrote: If it uses the CRT as a DLL, Dependency Walker should tell you. Google it. And say a third party library has been compiled for the non-dll version of the c runtime (I think this is libc or libcmt for the multi threaded variant). If the third party library is a dll I may have problems passing data between my app and the dll, correct? If the third party library is a lib, then I'll just get a bunch of linker errors. Yikes! Well, as old mapmakers used to write, Here There Be Dragons. USUALLY if you're not passing CRT-derived assets (allocated blocks of memory, file handles, etc) between you app and the DLL, especially where one side allocates and one frees, you might get by ok. But, you can also get burned. Build it all yourself where you can. Cory -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org