/usr/bin/ld: cannot find -l*** with python setup.py build --mpicc=/dir/to/my/mpicc

Issue #61 closed
Former user created an issue

Hi, I was using openmpi and mpi4py to build my project. But when installing mpi4py, with

python setup.py build --mpicc=/dir/to/my/mpicc

I got the following error (And it seems the whole compilation passed?). Hope someone could help please.

running build
running build_src
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/__init__.py -> build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/__main__.py -> build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/bench.py -> build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/run.py -> build/lib.linux-x86_64-2.7/mpi4py
creating build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/__init__.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/__main__.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/_base.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/_spawn.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/_worker.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/futures/pool.py -> build/lib.linux-x86_64-2.7/mpi4py/futures
copying src/mpi4py/MPI.pxd -> build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/__init__.pxd -> build/lib.linux-x86_64-2.7/mpi4py
copying src/mpi4py/libmpi.pxd -> build/lib.linux-x86_64-2.7/mpi4py
creating build/lib.linux-x86_64-2.7/mpi4py/include
creating build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.h -> build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.MPI.h -> build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.MPI_api.h -> build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.i -> build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi.pxi -> build/lib.linux-x86_64-2.7/mpi4py/include/mpi4py
running build_clib
MPI configuration: [mpi] from 'mpi.cfg'
MPI C compiler:    /usr/local/bin/mpicc
checking for library 'lmpe' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -llmpe -o _configtest
## **/usr/bin/ld: cannot find -llmpe
collect2: errorld return 1** ##
failure.
removing: _configtest.c _configtest.o
building 'mpe' dylib library
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
creating build/temp.linux-x86_64-2.7/src/lib-pmpi
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c src/lib-pmpi/mpe.c -o build/temp.linux-x86_64-2.7/src/lib-pmpi/mpe.o
creating build/lib.linux-x86_64-2.7/mpi4py/lib-pmpi
/usr/local/bin/mpicc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/lib-pmpi/mpe.o -o build/lib.linux-x86_64-2.7/mpi4py/lib-pmpi/libmpe.so
checking for library 'vt-mpi' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt-mpi -o _configtest
/usr/bin/ld: cannot find -lvt-mpi
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
checking for library 'vt.mpi' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt.mpi -o _configtest
/usr/bin/ld: cannot find -lvt.mpi
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
building 'vt' dylib library
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c src/lib-pmpi/vt.c -o build/temp.linux-x86_64-2.7/src/lib-pmpi/vt.o
/usr/local/bin/mpicc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/lib-pmpi/vt.o -o build/lib.linux-x86_64-2.7/mpi4py/lib-pmpi/libvt.so
checking for library 'vt-mpi' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt-mpi -o _configtest
/usr/bin/ld: cannot find -lvt-mpi
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
checking for library 'vt.mpi' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt.mpi -o _configtest
/usr/bin/ld: cannot find -lvt.mpi
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
building 'vt-mpi' dylib library
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c src/lib-pmpi/vt-mpi.c -o build/temp.linux-x86_64-2.7/src/lib-pmpi/vt-mpi.o
/usr/local/bin/mpicc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/lib-pmpi/vt-mpi.o -o build/lib.linux-x86_64-2.7/mpi4py/lib-pmpi/libvt-mpi.so
checking for library 'vt-hyb' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt-hyb -o _configtest
/usr/bin/ld: cannot find -lvt-hyb
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
checking for library 'vt.ompi' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -lvt.ompi -o _configtest
/usr/bin/ld: cannot find -lvt.ompi
collect2: errorld return 1
failure.
removing: _configtest.c _configtest.o
building 'vt-hyb' dylib library
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c src/lib-pmpi/vt-hyb.c -o build/temp.linux-x86_64-2.7/src/lib-pmpi/vt-hyb.o
/usr/local/bin/mpicc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/lib-pmpi/vt-hyb.o -o build/lib.linux-x86_64-2.7/mpi4py/lib-pmpi/libvt-hyb.so
running build_ext
MPI configuration: [mpi] from 'mpi.cfg'
MPI C compiler:    /usr/local/bin/mpicc
checking for dlopen() availability ...
checking for header 'dlfcn.h' ...
/usr/local/gcc-4.9.2/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
success!
removing: _configtest.c _configtest.o
success!
checking for library 'dl' ...
/usr/local/gcc-4.9.2/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/gcc-4.9.2/bin/gcc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'dlopen' ...
/usr/local/gcc-4.9.2/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/gcc-4.9.2/bin/gcc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
building 'mpi4py.dl' extension
/usr/local/gcc-4.9.2/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c src/dynload.c -o build/temp.linux-x86_64-2.7/src/dynload.o
gcc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/dynload.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -lpython2.7 -o build/lib.linux-x86_64-2.7/mpi4py/dl.so
checking for MPI compile and link ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
success!
removing: _configtest.c _configtest.o
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for missing MPI functions/symbols ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
success!
removing: _configtest.c _configtest.o
checking for function 'MPI_Type_create_f90_integer' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'MPI_Type_create_f90_real' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'MPI_Type_create_f90_complex' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'MPI_Status_c2f' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'MPI_Status_f2c' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for dlopen() availability ...
checking for header 'dlfcn.h' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
success!
removing: _configtest.c _configtest.o
success!
checking for library 'dl' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking for function 'dlopen' ...
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c _configtest.c -o _configtest.o
/usr/local/bin/mpicc _configtest.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
building 'mpi4py.MPI' extension
/usr/local/bin/mpicc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -I/search/odin/chengshanbo/anaconda2/include/python2.7 -c src/MPI.c -o build/temp.linux-x86_64-2.7/src/MPI.o
/usr/local/bin/mpicc -pthread -shared -L/search/odin/chengshanbo/anaconda2/lib -Wl,-rpath=/search/odin/chengshanbo/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/src/MPI.o -L/search/odin/chengshanbo/anaconda2/lib -Lbuild/temp.linux-x86_64-2.7 -Wl,-R/search/odin/chengshanbo/anaconda2/lib -ldl -lpython2.7 -o build/lib.linux-x86_64-2.7/mpi4py/MPI.so
writing build/lib.linux-x86_64-2.7/mpi4py/mpi.cfg

Comments (4)

  1. Lisandro Dalcin

    The messages come from configure tests related to optional, non-essential components (MPE and VampirTrace for MPI profiling) that you do not have. As these components are optional, the build continues and eventually succeeds. Just go ahead and python setup.py install the beast.

  2. Lisandro Dalcin

    No, it will not. The really important extention module is mpi4py.MPI, and the build looks OK.

  3. Log in to comment