Vishu
August 22, 2009, 12:45am
1
I find the following error when i compile:
[codebox]/usr/bin/ld: skipping incompatible /usr/local/cuda/lib/libcufft.so when searching for -lcufft
/usr/bin/ld: skipping incompatible /usr/local/cuda/lib/libcufft.so when searching for -lcufft
/usr/bin/ld: cannot find -lcufft
collect2: ld returned 1 exit status
make: *** [modelV3.1_evolve_smaller_particles] Error 1
[/codebox]
Whats the fix? I have ubuntu 9.04 on a 64 bit system. I have the paths set up:
/usr/local/cuda/bin$
and for the LD_LIBRARY
/usr/local/cuda/lib64
this is how i got it set on .bashrc you can copy paste it. but i think you error ocurrs beacuse you wrote LD_LIBRARY instead of LD_LIBRARY_PATH
#PATH export
export PATH=/usr/local/cuda/bin:“${PATH}”
#LD_LYBRARY_PATH export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib
export LD_LIBRARY_PATH
Vishu
August 22, 2009, 2:49am
3
this is how i got it set on .bashrc you can copy paste it. but i think you error ocurrs beacuse you wrote LD_LIBRARY instead of LD_LIBRARY_PATH
#PATH export
export PATH=/usr/local/cuda/bin:“${PATH}”
#LD_LYBRARY_PATH export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib
export LD_LIBRARY_PATH
Thanks, but I do already have it right (I was just lazy to type it all in previous post). This is what the relevant parts of my .bashrc looks like:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
I have ubuntu 8.04 on other systems with cuda 2.2 and it works fine. This one is with ubuntu 9.04 and cuda 2.3.
Vishu
August 22, 2009, 2:51am
4
this is how i got it set on .bashrc you can copy paste it. but i think you error ocurrs beacuse you wrote LD_LIBRARY instead of LD_LIBRARY_PATH
#PATH export
export PATH=/usr/local/cuda/bin:“${PATH}”
#LD_LYBRARY_PATH export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib
export LD_LIBRARY_PATH
I did copy paste above as well, just in case! I still find the same problem :(
-lcufft failure is building/linking error. Not running, so it is not related to LD_LIBRARY… yet.
it is about searching link directory. In your case, it went to find it incompatible in /usr/local/cuda/lib, not /usr/local/cuda/lib64
you need to look at common.mk, make sure LIB to include lib64 instead of lib. export verbose=1, to see whether there is -L/usr/local/cuda/lib64 in linking step.
Vishu
August 28, 2009, 12:16am
6
-lcufft failure is building/linking error. Not running, so it is not related to LD_LIBRARY… yet.
it is about searching link directory. In your case, it went to find it incompatible in /usr/local/cuda/lib, not /usr/local/cuda/lib64
you need to look at common.mk, make sure LIB to include lib64 instead of lib. export verbose=1, to see whether there is -L/usr/local/cuda/lib64 in linking step.
Thanks ! Your post helped me figure out the problem. It was just that I was using make file that was first built for cuda 2.2 . But few thigns have changed in 2.3 and I needed to make those changes in terms of linking to lib64 instead of lib. cheers.