interesting I did not know this yet, now is there a way todo this automatically for all libs?
g. On Wed, Nov 19, 2008 at 12:49 AM, Davide Cittaro <[EMAIL PROTECTED]> wrote: > Hi all, I've just subscribed this mailing list, I've seen several messages > on pycuda and errors in linking libraries on OS X. > I've seen that many libraries in /usr/local/cuda/lib are installed in wrong > way. Instead of changing your DYLD_LIBRARY_PATH it is better to fix linking > with the "install_name_tool" command. As example consider libcufft.dylib: > > $ cd /usr/local/cuda/lib > $ otool -L libcufft.dylib > libcufft.dylib: > @rpath/libcufft.dylib (compatibility version 1.1.0, current version > 2.0.0) > @rpath/libtlshook.dylib (compatibility version 1.1.0, current version > 2.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 111.0.0) > @rpath/libcudart.dylib (compatibility version 1.1.0, current version > 2.0.0) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current > version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > the first step is changing the ID for this library (the first entry in the > list): > > $ sudo install_name_tool -id /usr/local/cuda/lib/libcufft.dylib > libcufft.dylib > > after that: > > $ otool -L libcufft.dylib > libcufft.dylib: > /usr/local/cuda/lib/libcufft.dylib (compatibility version 1.1.0, > current version 2.0.0) > @rpath/libtlshook.dylib (compatibility version 1.1.0, current version > 2.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 111.0.0) > @rpath/libcudart.dylib (compatibility version 1.1.0, current version > 2.0.0) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current > version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > the id is now correct. The next step is changing the linking for all wrong > entries (i.e. the ones with @rpath/libname...): > > $ sudo install_name_tool -change @rpath/libtlshook.dylib > /usr/local/cuda/lib/libtlshook.dylib libcufft.dylib > $ sudo install_name_tool -change @rpath/libcudart.dylib > /usr/local/cuda/lib/libcudart.dylib libcufft.dylib > > $ otool -L libcufft.dylib > libcufft.dylib: > /usr/local/cuda/lib/libcufft.dylib (compatibility version 1.1.0, > current version 2.0.0) > /usr/local/cuda/lib/libtlshook.dylib (compatibility version 1.1.0, > current version 2.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 111.0.0) > /usr/local/cuda/lib/libcudart.dylib (compatibility version 1.1.0, > current version 2.0.0) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current > version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > Now this library has been fixed. You have to repeat this for all libraries > that are wrongly linked. > > HTH > > d > > --- > Davide Cittaro > [EMAIL PROTECTED] > http://daweonline.googlepages.com > > > _______________________________________________ > PyCuda mailing list > [email protected] > http://tiker.net/mailman/listinfo/pycuda_tiker.net > -- ----------------------------------------------------------------- gert wohlgemuth blog: http://berlinguyinca.blogspot.com/ work: http://fiehnlab.ucdavis.edu/staff/wohlgemuth _______________________________________________ PyCuda mailing list [email protected] http://tiker.net/mailman/listinfo/pycuda_tiker.net
