[mpich-discuss] error while loading shared libraries: libsvml.so

Gus Correa gus at ldeo.columbia.edu
Mon Jun 23 14:30:23 CDT 2008


Hello Angel and list

Angel: This is just a guess, in case you are running your program on a 
cluster,
based on a similar problem I had.

libsvml.so is an Intel compiler library.
Your Intel compiler is installed in /opt.

If you are running the code on a cluster, /opt of your frontend machine,
where you compile programs, may not be automatically mounted on your 
computing nodes.
These nodes may have their own /opt directories, but the Intel compiler 
and libraries are not necessarily there.
Unless you explicitly export /opt to the computing nodes,
you will have trouble with shared libraries installed in /opt.

If this is really your problem, here are some alternative ways to get 
around it.

1) Statically link the Intel libraries (compile with -static-intel).
This requires recompilation of your code and of your MPICH2 libraries
(include -static-intel in your FFLAGS when you configure MPICH2).
This is relatively easy to do, the executable becomes bigger, but 
doesn't require the Intel shared libraries.
Also, you can do this independently of your system administrator,
which may be an advantage, in case you are not the system administrator 
yourself.

2) Reinstall your Intel compiler in a directory that is exported to the
computing nodes.
Then recompile the code.
This may require the help of your system administrator.

3) Export /opt to the computing nodes, and mount it there.
This may be tricky if the nodes already have their own /opt.
Again, this solution may depend on your system administrator help.

I hope this helps.
Gus Correa

Angel Arancibia wrote:

>Hi I compiled mpich2.1.0.7 with smpd (and intel compiler) but I can't
>make it work.
>
>The message is:
>
>" /opt/mpi/mpich2-1.0.7/64/bin/smpd: error while loading shared
>libraries: libsvml.so: cannot open shared object file: No such file or
>directory "
>
>It seems like a library path problem, but I can't find where. In the
>configure, I passed the correct path
>
>./configure --prefix=/opt/mpi/mpich2-1.0.7/64/ --with-pm=smpd
>--with-pmi=smpd --enable-f90 'LDFLAGS=-L/usr/local/lib
>-L/opt/intel/fce/9.1.036/lib -L/opt/intel/cce/9.1.042/lib -lsvml
>-lpthread -lcrypto' 'FFLAGS=-axW -O3 -fPIC -tpp7 -xT -fpe0
>-I/opt/intel/fce/9.1.036/include -I/opt/intel/cce/9.1.042/include -c'
>2>&1 | tee config.txt
>
>Then:
>
>make 2>&1 | tee m.txt
>make install 2>&1 | tee mi.txt
>
>The complete message is :
>
>(SGE script out)
>
>aarancibia at cluster:~/job_examples/test-oport/test-AMD/64/mpihello$cat
>mpich2_smpd.sh.po8918
>Cargando Environment
>##################
>MANPATH=/opt/mpi/mpich2-1.0.7/64/man:/opt/intel/cmkl/9.0/man:/opt/intel/fce/9.1.036/man:/opt/intel/cce/9.1.042/man:/home/sys/sge/man:/usr/share/man
>HOSTNAME=era-q8.cluster.ifir.edu.ar
>INTEL_LICENSE_FILE=/opt/intel/cce/9.1.042/licenses:/opt/intel/licenses:/home/aarancibia/intel/licenses:/opt/intel/fce/9.1.036/licenses:/opt/intel/licenses:/home/aarancibia/intel/licenses
>SGE_TASK_STEPSIZE=undefined
>SHELL=/bin/sh
>TERM=linux
>NHOSTS=1
>SGE_O_WORKDIR=/home/aarancibia/job_examples/test-oport/test-AMD/64/mpihello
>TMPDIR=/local/8918.1.amd-test
>QUIET=no
>SGE_O_HOME=/home/aarancibia
>SGE_ARCH=lx24-amd64
>SGE_CELL=default
>RESTARTED=0
>ARC=lx24-amd64
>USER=aarancibia
>LD_LIBRARY_PATH=/opt/mpi/mpich2-1.0.7/64/lib:/opt/intel/cmkl/9.0/lib/em64t:/opt/intel/fce/9.1.036/lib:/opt/intel/cce/9.1.042/lib
>SGE_TASK_LAST=undefined
>QUEUE=amd-test
>SGE_TASK_ID=undefined
>SGE_BINARY_PATH=/home/sys/sge/bin/lx24-amd64
>PATH=/opt/mpi/mpich2-1.0.7/64/bin:/opt/intel/fce/9.1.036/bin:/opt/intel/cce/9.1.042/bin:/home/sys/sge/bin/lx24-amd64:/local/8918.1.amd-test:/usr/local/bin:/bin:/usr/bin
>RUNLEVEL=2
>runlevel=2
>SGE_STDERR_PATH=/home/aarancibia/job_examples/test-oport/test-AMD/64/mpihello/mpich2_smpd.sh.po8918
>UPSTART_EVENT=runlevel
>F90=ifort
>PWD=/home/aarancibia/job_examples/test-oport/test-AMD/64/mpihello
>VERBOSE=yes
>SGE_STDOUT_PATH=/home/aarancibia/job_examples/test-oport/test-AMD/64/mpihello/mpich2_smpd.sh.po8918
>SGE_ACCOUNT=sge
>JOB_SCRIPT=/local/sys/sge//era-q8/job_scripts/8918
>JOB_NAME=mpich2_smpd.sh
>SGE_ROOT=/home/sys/sge
>previous=N
>PREVLEVEL=N
>F77=ifort
>REQNAME=mpich2_smpd.sh
>CXX=icc
>SGE_JOB_SPOOL_DIR=/local/sys/sge//era-q8/active_jobs/8918.1
>ENVIRONMENT=BATCH
>PE_HOSTFILE=/local/sys/sge//era-q8/active_jobs/8918.1/pe_hostfile
>SHLVL=1
>HOME=/home/aarancibia
>SGE_CWD_PATH=/home/aarancibia/job_examples/test-oport/test-AMD/64/mpihello
>NQUEUES=1
>SGE_O_LOGNAME=aarancibia
>SGE_O_MAIL=/var/mail/aarancibia
>TMP=/local/8918.1.amd-test
>JOB_ID=8918
>LOGNAME=aarancibia
>PE=mpich2-testing
>SGE_TASK_FIRST=undefined
>SGE_O_PATH=/home/sys/scripts/checks:/home/sys/scripts/fixs:/opt/mpi/mpich2-1.0.5p4/feisty-32/bin:/opt/intel/fc/9.1.036/bin:/opt/intel/cc/9.1.042/bin:/home/sys/sge/bin/lx24-x86:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin/X11:/usr/games:/usr/local/condor/bin:/usr/local/condor/sbin:/opt/intel/fortran/stable/bin:/opt/intel/cc/stable/bin
>UPSTART_JOB=rc2
>CC=icc
>SGE_O_HOST=cluster
>SGE_O_SHELL=/bin/bash
>REQUEST=mpich2_smpd.sh
>UPSTART_JOB_ID=3
>INCLUDE=/opt/intel/cmkl/9.0/include:
>NSLOTS=4
>SGE_STDIN_PATH=/dev/null
>_=/usr/bin/env
>##################
>era-q8
>-catch_rsh /local/sys/sge//era-q8/active_jobs/8918.1/pe_hostfile
>/opt/mpi/mpich2-1.0.7/64
>era-q8
>era-q8
>era-q8
>era-q8
>startmpich2.sh: check for smpd daemons (1 of 10)
>corriendo rsh
>era-q8
>/home/sys/sge/bin/lx24-amd64/qrsh -inherit era-q8
>/opt/mpi/mpich2-1.0.7/64/bin/smpd -port 23918 -d 0
>startmpich2.sh: missing smpd on era-q8
>Pseudo-terminal will not be allocated because stdin is not a terminal.
>/opt/mpi/mpich2-1.0.7/64/bin/smpd: error while loading shared
>libraries: libsvml.so: cannot open shared object file: No such file or
>directory
>startmpich2.sh: check for smpd daemons (2 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (3 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (4 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (5 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (6 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (7 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (8 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (9 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: check for smpd daemons (10 of 10)
>startmpich2.sh: missing smpd on era-q8
>startmpich2.sh: got only 0 of 1 nodes, aborting
>-catch_rsh /opt/mpi/mpich2-1.0.7/64
>/local/sys/sge//era-q8/active_jobs/8918.1/pe_hostfile
>/opt/mpi/mpich2-1.0.7/64/bin/smpd: error while loading shared
>libraries: libsvml.so: cannot open shared object file: No such file or
>directory
>
>
>Thanks in advance
>
>Angel Arancibia
>  
>




More information about the mpich-discuss mailing list