I am attempting to statically link the *.a libraries I compiled using the TRUNK.
linking with both libri.a and libpixiecommon.a produces the osLoadModule() missing errors.
Also, is RiDeclare() not exported as a symbol for some reasons (my inhouse developed *.so plugin fails to load because RiDeclare() cannot be found)
This is interesting. osLoadModule is defined in src/common/os.cpp and I can not find a problem with RiDeclare.
Are you sure you're including all c/cpp files in your library?
From the svn trunk, I configure the build with --enable-static.
I am linking against the libri.a file compiled on Ubuntu 6.0.1 as a result from that "configure".
RiDeclare problem aside, I don't know what *.cpp file when into the linking of the libri.a library.
BTW, I have also include libpixiecommon.a in the link in the hope that the symbols are found there but no luck.
If it's a static link you might need to mention -lpixiecommon after -lri due to the wierd way archives are searched.
Hope that's it.
I have done the ordering swap for the Pixie library and it links fine but the *.so can't be loaded.
I am writing two bindings for the RIB client (Java and Python), both have the same problem loading due to osLoadModule() symbol not found.
$ python testribclient.py
Traceback (most recent call last):
File "testribclient.py", line 1, in ?
File "/home/nicholas/project/pi_svn/graphics/renderman/RIBClient/python_swig/ribclient.py", line 5, in ?
ImportError: /home/nicholas/project/pi_svn/graphics/renderman/RIBClient/python_swig/_ribclient.so: undefined symbol: _Z12osLoadModulePKc
$ java -cp . testribclient
Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/nicholas/project/pi_svn/graphics/renderman/RIBClient/java/libribclient.so: /home/nicholas/project/pi_svn/graphics/renderman/RIBClient/java/libribclient.so: undefined symbol: _Z12osLoadModulePKc