czimaginginstitute / MotionCor3

Anisotropic correction of beam induced sample motion for cryo-electron microscopy and tomography

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libtiff.so.6 links persistently, although it's not on my system

walidabualafia opened this issue · comments

Hi,

I've been trying to get MotionCor3 working for the past hour, but seems like something in the makefile is not working. I am using makefile11.

Whenever I run the compilation step, it succeeds. It compiles all the necessary files, then echoes that MotionCor3 has been generated.

Now when I try to run ./MotionCor3, I get this error back:

./MotionCor3: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory

Weirdly, when I run ls /usr/lib64 | grep tiff, I see the following:

libtiff.so
libtiff.so.5
libtiff.so.5.3.0
libtiffxx.so
libtiffxx.so.5
libtiffxx.so.5.3.0

I tried specifying the path to my libtiff install manually, but it failed and threw lots and lots of compiler errors.

I'm certain I do not have libtiff.so.6 installed anywhere in my system. I manually listed and checked each path in my LD_LIBRARY_PATH. Do you know where the compiler is picking up this version of libtiff?

A quick search shows that the required version ships with Arch Linux/OpenSUSE distributions. I'm compiling on RHEL8.

Any help would be appreciated. :)

Thanks,
Walid

@walidabualafia, when I run ldd on MotionCor3 executable, this is what I got:
libtiff.so.6 => /home/shawn.zheng/miniconda3/lib/libtiff.so.6 (0x00007ff131667000)

This is the line in my .bashrc file:
export LD_LIBRARY_PATH="$HOME/miniconda3/lib:$LD_LIBRARY_PATH"

Hi Shawn,

Thanks for your response. I was able to get past this error by obtaining libtiff from Conda.

However, I am now running into this new error: ./MotionCor3: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory

Please note that I tried compiling with CUDA 11.0, CUDA 11.2, and CUDA 11.4 and got the same error each time. Which version of CUDA did you use?

Thanks for your help!
Walid

Yeah, it is in my LD_LIBRARY_PATH. When I check my $CUDA_HOME/lib directory, I don't have the libcuda.so.1 file. The closest thing I have is libcudart.so. I checked all versions of CUDA, never really had a problem running them with any other app. Maybe I can try to install the same CUDA version you're running. What your output for nvcc --version?

Thanks for the support, Shawn.
Walid

@walidabualafia: what do you see when you run "ldd MotionCor3"? what does libcuda.so.1 point to? This is what I have.
libcuda.so.1 => /lib64/libcuda.so.1 (0x00007f3c71eb1000)

Below is the output of "nvcc --version".
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

@szhengczii: thanks again. My output for ldd MotionCor3 shows libcuda.so.1 => /path/to/cuda/install/lib64/libcuda.so.1 (0x0000155553647000)

My nvcc --version is 11.4. Any idea how I can get MotionCor3 running?

@walidabualafia: I guess you may have multiple cuda versions installed. I am guessing that you compiled with cuda 11.4 but do not have cuda 11.4 library added to LD_LIBRARY_PATH. What do you see when you run "echo $LD_LIBRARY_PATH"?

@szhengczii: The only Cuda in my path is 11.4, as you can see below:

/cm/local/apps/cuda/libs/current/lib64:/cm/shared/apps/cuda11.4/toolkit/11.4.2/targets/x86_64-linux/lib:/other/apps/in/my/LD_LIBRARY_PATH

I also compiled the bin with this version of Cuda.

When I ran ldd again, I noticed that I am getting:

 libtiff.so.6 => not found

I am running on RHEL8. The version installed on my system is libtiff.so.5. Do you know where I can install this exact version of the library? I think that would be great help. I looked online, but could not find many resources to point me. I compiled AreTomo2 on the same system and it runs fine.

Thanks! :)

Ok, I was able to get it working by installing an older libtiff from Conda. Thanks for the help! :)