So I have to run some python scripts on a cluster with machines for which I have no admin rights. Since numpy was missing, on some of the machines, I created a virtual environment and installed numpy there. I connected to a machine from which I knew it has no python and started the virtualenv python interpreter by ~my_env/bin/python
to check for import numpy
.
I got this error:
# Some trace...
ImportError: liblapack.so.3: File was not found # or something similar.
So I made some research on the internet and somebody came up with LD_LIBRARY_PATH
. So I added
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/lib; export LD_LIBRARY_PATH
to my .bashrc
and sourced it. And I put liblapack.so.3
into /home/me/lib;
. Now when I try to import numpy I get the error message:
ImportError: liblapack.so.3: wrong ELF class: ELFCLASS32
Now I am stuck. Any ideas what could have went wrong?
The cluster machines have Suse installed on them.
The error means that the format of the liblapack.so.3
C library differs from the binary format of Python itself. The usual cause for this particular error is having a 64-bit Python but a C library that is 32-bit. You need to have Python and the C library be compiled in the same way.