SOLVED: MotionCor2 requires libcufft.so.8.0?
Added by Patrick Goetz almost 7 years ago
I downloaded MotionCor2 as per the instructions here:
http://emg.nysbc.org/projects/appion/wiki/Install_dosefgpu_driftcorr
and for once I have the opposite problem. They seem to have linked the program against a specific version of of libcufft.so, namely libcufft.so.8.0, and Ubuntu only ships with libcufft.so.7.5.
I'm not sure how you would get MotionCor@ working under CentOS 6, or CentOS 7, for that matter. CentOS ships with libcufft.so.4 and CentOS 7 ships with libcufft.so.7.
Replies (6)
RE: MotionCor2 requires libcufft.so.8.0? - Added by Sargis Dallakyan almost 7 years ago
We are installing Cuda 8 from Nvidia download page and not from CentOS. Carl did an excellent job installing Cuda 8 on our GPU boxes. I don't have experience installing Cuda on Ubuntu, but a quick Google search brought this link that I hope is useful for Ubuntu users - http://www.diegoacuna.me/installing-cuda-8-on-ubuntu-16-04/
RE: MotionCor2 requires libcufft.so.8.0? - Added by Carl Negro almost 7 years ago
Hi Patrick,
I have installed Cuda 8 on Ubuntu 16.04 based on the link Sargis posted. I would just add that it is a little out of date so you should use `sudo apt-get install nvidia-384` instead of `sudo apt-get install nvidia-367`. The only other troubleshooting warnings I can give are to make absolutely sure you are downloading the correct cuda-toolkit version. You have to navigate to legacy releases to find the Cuda 8 toolkit: https://developer.nvidia.com/cuda-toolkit-archive.
RE: MotionCor2 requires libcufft.so.8.0? - Added by Patrick Goetz almost 7 years ago
Thanks, installing Cuda 8 from the nvidia source worked, however now I have a new problem:
cnsit@kraken:~$ motioncor2 motioncor2: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory
As luck would have it, Ubuntu 16.04 only comes with libtiff.so.5. Where did you find libtiff.so.3?
Looks like I'm going to have to spin up some VM's in order to harvest additional libraries. These guys really need to just statically link stuff like libtiff.
RE: MotionCor2 requires libcufft.so.8.0? - Added by Carl Negro almost 7 years ago
I used a symlink. Check /usr/lib/x86_64-linux-gnu :
lrwxrwxrwx 1 root root 13 Jan 19 2017 libtic.so.5 -> libtic.so.5.9 -rw-r--r-- 1 root root 59K Feb 19 2016 libtic.so.5.9 -rw-r--r-- 1 root root 730K May 29 2017 libtiff.a lrwxrwxrwx 1 root root 16 May 29 2017 libtiff.so -> libtiff.so.5.2.4 lrwxrwxrwx 1 root root 12 Oct 24 18:50 libtiff.so.3 -> libtiff.so.5 lrwxrwxrwx 1 root root 16 May 29 2017 libtiff.so.5 -> libtiff.so.5.2.4 -rw-r--r-- 1 root root 465K May 29 2017 libtiff.so.5.2.4 -rw-r--r-- 1 root root 8.6K May 29 2017 libtiffxx.a lrwxrwxrwx 1 root root 18 May 29 2017 libtiffxx.so -> libtiffxx.so.5.2.4 lrwxrwxrwx 1 root root 18 May 29 2017 libtiffxx.so.5 -> libtiffxx.so.5.2.4 -rw-r--r-- 1 root root 10K May 29 2017 libtiffxx.so.5.2.4 lrwxrwxrwx 1 root root 23 Jan 19 2017 libtimezonemap.so.1 -> libtimezonemap.so.1.0.0 -rw-r--r-- 1 root root 68K Dec 23 2015 libtimezonemap.so.1.0.0
RE: MotionCor2 requires libcufft.so.8.0? - Added by Patrick Goetz almost 7 years ago
I'm amazed that this works! But thanks for responding so quickly, and over the weekend at that. I'll give it a try.
RE: MotionCor2 requires libcufft.so.8.0? - Added by Patrick Goetz almost 7 years ago
I tested linking libtiff.so.3 to libtiff.so.5, and motioncor2 appeared to run, but this seems like a recipe for disaster. As with findem64.exe, what I ended up doing is spinning up a CentOS 6 machine and installing the libtiff-devel package, which includes libtiff.so.3.9.4. Then it was a simple matter of copying this library over the processing machine from the CentOS 6 virtual machine.
# mv ~/libtiff.so.3.9.4 /usr/local/lib # cd /usr/local/lib # ln -s libtiff.so.3 libtiff.so.3.9.4
I already have /usr/local/lib in the LD_LIBRARY_PATH, so there was nothing more to do.
Interestingly, motioncor2 seemed to be running before I did this, but as soon as I made this change I started getting a different error message:
cnsit@kraken:~$ motioncor2 motioncor2: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
Fortunately in this case it was just a matter of installing a packaged library:
# apt-get install libjpeg62
Marking this ticket as resolved, and recommending against allowing libtiff.so.5 to pretend that it is libtiff.so.3.