You should be able to see in your Notify output, it's clear that OSG isn't including your OSG bin directory in its search path. If I recall from your OP, that path is something like:
  ThirdParty/Linux.x86_64.gcc4.4/OpenSceneGraph-2.8.3/bin

If this directory is not in your PATH, then it's odd that *any* OSG executables even run, such as osgversion. You should add it, of course, as you would add any package's binary directory to your PATH. (This is *nix 101, and not specific to OSG.)

If that directory is already in your PATH, then it's mysterious that OSG doesn't include it in its search. You could set a breakpoint in osgDB::findLibraryFile to see why it's missing this directory, or just look at the source.
   -Paul



On 3/29/2011 11:03 AM, Ed LaFave wrote:

Paul Martz wrote:
I believe you have a version problem on your hand. Do you have multiple 
versions of OSG on your system?


It is true that I've tried multiple versions of OSG. I began by building 2.8.3 
from source myself. After getting these errors I decided to try 2.9.9 which was 
built by a friend and seems to work for him.

I mistakenly posted the output from when I was using OSG 2.9.9 despite saying I 
was using OSG 2.8.3, sorry about that. I try to make sure to never mix OSG 
versions. When I decide to use 2.9.9 I make sure to move OSG 2.8.3 to another 
directory, update my CMake to link against 2.9.9, completely rebuild my 
baseline, and make sure LD_LIBRARY_PATH only points to the 2.9.9 lib directory.

To ensure that I'm not mixing versions I went through those steps to ensure I'm 
using 2.9.9. When I ran my application before adding the OSG 2.9.9 lib 
directory to LD_LIBRARY_PATH I got the following output...


Code:

Warning: Could not find plugin to read objects from file "MyOpenFlightFile.flt".
RegisterWindowingSystemInterfaceProxy()
X11WindowingSystemInterface()
GraphicsContext::setWindowingSystemInterface() 0x184d2f0        0x7fa8aa532a50
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
CullSettings::readEnvironmentalVariables()
Adding parent0x1831e20
Adding parent0x1831e20
DatabasePager::addDatabaseThread() HANDLE_NON_HTTP
DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP
Render::Render() 0x1a46680
CullSettings::readEnvironmentalVariables()
CullSettings::readEnvironmentalVariables()
Adding parent0x1831e20
CullSettings::readEnvironmentalVariables()
CullSettings::readEnvironmentalVariables()
Adding parent0x1831e20
Adding parent0x1831e20
ShaderComposer::ShaderComposer() 0x1a48210
CullSettings::readEnvironmentalVariables()
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
ShaderComposer::ShaderComposer() 0x1a4a1a0
Adding parent0x1831e20
Adding parent0x1831e20
Adding parent0x1831e20
_availableQueue.size()=2
GraphicsContext::registerGraphicsContext 0x1a9e500
ShaderComposer::ShaderComposer() 0x1a9d100
GraphicsContext::createNewContextID() creating contextID=0
Updating the MaxNumberOfGraphicsContexts to 1
Adding parent0x1831e20
itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9'
FindFileInPath() : trying 
/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgPlugins-2.9.9/osgdb_openflight.so
 ...
itr='/usr/lib/'
FindFileInPath() : trying /usr/lib/osgPlugins-2.9.9/osgdb_openflight.so ...
itr='/usr/lib64/'
FindFileInPath() : trying /usr/lib64/osgPlugins-2.9.9/osgdb_openflight.so ...
itr='/usr/local/lib/'
FindFileInPath() : trying /usr/local/lib/osgPlugins-2.9.9/osgdb_openflight.so 
...
itr='/usr/local/lib64/'
FindFileInPath() : trying /usr/local/lib64/osgPlugins-2.9.9/osgdb_openflight.so 
...
itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9'
FindFileInPath() : trying 
/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgdb_openflight.so ...
itr='/usr/lib/'
FindFileInPath() : trying /usr/lib/osgdb_openflight.so ...
itr='/usr/lib64/'
FindFileInPath() : trying /usr/lib64/osgdb_openflight.so ...
itr='/usr/local/lib/'
FindFileInPath() : trying /usr/local/lib/osgdb_openflight.so ...
itr='/usr/local/lib64/'
FindFileInPath() : trying /usr/local/lib64/osgdb_openflight.so ...
Warning: dynamic library 'osgPlugins-2.9.9/osgdb_openflight.so' does not exist 
(or isn't readable):
osgPlugins-2.9.9/osgdb_openflight.so: cannot open shared object file: No such 
file or directory
DynamicLibrary::failed loading "osgPlugins-2.9.9/osgdb_openflight.so"




Once I added the OSG 2.9.9 lib directory to LD_LIBRARY_PATH I got the following 
output when I ran my application...


Code:

RegisterWindowingSystemInterfaceProxy()
X11WindowingSystemInterface()
GraphicsContext::setWindowingSystemInterface() 0x1a28370        0x7fddc763aa50
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
CullSettings::readEnvironmentalVariables()
Adding parent0x1a0ce20
Adding parent0x1a0ce20
DatabasePager::addDatabaseThread() HANDLE_NON_HTTP
DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP
Render::Render() 0x1c217f0
CullSettings::readEnvironmentalVariables()
CullSettings::readEnvironmentalVariables()
Adding parent0x1a0ce20
CullSettings::readEnvironmentalVariables()
CullSettings::readEnvironmentalVariables()
Adding parent0x1a0ce20
Adding parent0x1a0ce20
ShaderComposer::ShaderComposer() 0x1c23380
CullSettings::readEnvironmentalVariables()
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
ShaderComposer::ShaderComposer() 0x1c25310
Adding parent0x1a0ce20
Adding parent0x1a0ce20
Adding parent0x1a0ce20
_availableQueue.size()=2
GraphicsContext::registerGraphicsContext 0x1c79670
ShaderComposer::ShaderComposer() 0x1c78270
GraphicsContext::createNewContextID() creating contextID=0
Updating the MaxNumberOfGraphicsContexts to 1
Adding parent0x1a0ce20
Segmentation fault





Paul Martz wrote:
Bottom line is that when you have multiple versions of OSG installed, you need 
to manage your PATH and LD_LIBRARY_PATH very carefully.


I'm not entirely sure what you mean by having "OSG installed". So just to be 
clear I do not have OSG installed in any system level folders such as /usr/lib or 
/usr/local/lib...instead the OSG binaries/headers are just in a local folder that I've 
told CMake about. Hopefully that isn't a problem?

I will continue to make sure that LD_LIBRARY_PATH only points to the version of 
OSG that my code was built against. However, I haven't modified PATH at all, 
should I be?

Thanks again for everybody's help, I really appreciate it.[/code]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=38026#38026





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




--
  -Paul Martz      Skew Matrix Software
                   http://www.skew-matrix.com/
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to