Re: [osg-users] OT: do I need to recompile OSG?

2009-09-02 Thread Cory Riddell




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?

2009-09-01 Thread Cory Riddell
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?

2009-09-01 Thread Tomlinson, Gordon
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?

2009-09-01 Thread Cory Riddell
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?

2009-09-01 Thread Chris 'Xenon' Hanson
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?

2009-09-01 Thread Cory Riddell




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?

2009-09-01 Thread Chris 'Xenon' Hanson
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?

2009-09-01 Thread Cory Riddell




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?

2009-09-01 Thread Tomlinson, Gordon
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?

2009-09-01 Thread Chris 'Xenon' Hanson
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