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

Reply via email to