Hi Robert, By default, nvtt builds the static version of the lib, but as you see its buggy on linux. You can set NVTT_SHARED=TRUE to produce shared libs. Sorry, I totally forget to tell you to compile NVTT as a shared library. In fact, i did try to link with static lib, and i did the same modification (add -fPIC), then it was needed to add all the library (nvcore, nvimage, nvmath). I didn't remember well, but i think there is still something not working, so i give up and use the shared lib. On windows, it works ok without modification.
Fabien -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Robert Osfield Sent: vendredi 10 septembre 2010 13:50 To: OpenSceneGraph Submissions Subject: Re: [osg-submissions] [vpb] Using NVTT to work without graphicscontext Hi Fabien, I'm currently integrating your changes. First thumbs up from me, you've made the integration of NVTT very clean and maintainable :-) Now.. the tricky bits.. I've download nvidia-texture-tools-2.0.8-1.tar.gz and compiled it. It uses CMake which is great, I built and installed and then attempted to configure VPB to pick on the libs, but it didn't fine the libs. For my build NTT placed static libs in /usr/local/lib/static so I then added lib/static and lib64/static to the FindNVTT script and it found them. Then on buildingt VPB I got an error about needing to build NVTT with -fPIC: /usr/bin/ld: /usr/local/lib/static/libnvtt.a(Compressor.cpp.o): relocation R_X86_64_32S against `vtable for nv::BoxFilter' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/static/libnvtt.a: could not read symbols: Bad value collect2: ld returned 1 exit status So I went into CMake and added -fPIC, rebuilt NVTT and then installed. This got me a bit further, but then got the error: Linking CXX shared library ../../lib/libvpb.so [ 88%] Built target vpb [ 91%] Building CXX object applications/osgdem/CMakeFiles/application_osgdem.dir/osgdem.o Linking CXX executable ../../bin/osgdem ../../lib/libvpb.so.0.9.11: undefined reference to `nv::Image::pixels()' ../../lib/libvpb.so.0.9.11: undefined reference to `nv::Image::Image()' ../../lib/libvpb.so.0.9.11: undefined reference to `nv::AlphaBlockDXT5::index(unsigned int) const' ../../lib/libvpb.so.0.9.11: undefined reference to `nv::FloatImage::createImage(unsigned int, unsigned int) const' Which suggests to me that I need to added NVTT to library list of osgdem, vpbmaster, or possible just the vpb lib. I have to go out right now so can't tinker further. What platform did you build and test with? Cheers, Robert. _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegr aph.org ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
