If you want to build statically with verbs support, it's tricky.

Per the FAQ:

37. I get bizarre linker warnings / errors / run-time faults when I try to 
compile my OpenFabrics MPI application statically. How do I fix this?


Fully static linking is not for the weak, and is not recommended. But it is 
possible.

Read both this FAQ 
entry<https://www.open-mpi.org/faq/?category=mpi-apps#static-mpi-apps> and this 
FAQ entry<https://www.open-mpi.org/faq/?category=mpi-apps#static-ofa-mpi-apps> 
in their entirety.

________________________________




On Sep 14, 2016, at 3:35 PM, Reuti 
<re...@staff.uni-marburg.de<mailto:re...@staff.uni-marburg.de>> wrote:


Am 14.09.2016 um 20:09 schrieb Mahmood Naderan:

​I installed libibverb-devel-static.x86_64 via yum


root@cluster:tpar# yum list libibverb*
Installed Packages
libibverbs.x86_64                                     1.1.8-4.el6               
         @base
libibverbs-devel.x86_64                               1.1.8-4.el6               
         @base
libibverbs-devel-static.x86_64                        1.1.8-4.el6               
         @base
Available Packages
libibverbs.i686                                       1.1.8-4.el6               
         base
libibverbs-devel.i686                                 1.1.8-4.el6               
         base
libibverbs-utils.x86_64                               1.1.8-4.el6               
         base
root@cluster:tpar# find /usr -name libibverb*
/usr/lib64/libibverbs.so.1.0.0
/usr/lib64/libibverbs.so
/usr/lib64/libibverbs.a
/usr/lib64/libibverbs.so.1
/usr/share/doc/libibverbs-1.1.8


and added /usr/lib64/libibverbs.a similar to the scalapack I added... Just gave 
the full path.



However, this is what I get:

libmpi_f90.a  \
               `FoX/FoX-config --libs --wcml` ../libscalapack.a   
../libopenblas.a  /export/apps/siesta/openmpi-1.8.8/lib/libmpi_mpifh.a 
/export/apps/siesta/openmpi-1.8.8/lib/libmpi_usempi.a /usr/lib64/libibverbs.a
/export/apps/siesta/openmpi-1.8.8/lib/libopen-rte.a(session_dir.o): In function 
`orte_session_dir_get_name':
session_dir.c:(.text+0x751): warning: Using 'getpwuid' in statically linked 
applications requires at runtime the shared libraries from the glibc version 
used for linking
sockets.o: In function `open_socket':
sockets.c:(.text+0xb5): warning: Using 'getaddrinfo' in statically linked 
applications requires at runtime the shared libraries from the glibc version 
used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libpthread.a(libpthread.o):
 In function `sem_open':
(.text+0x764d): warning: the use of `mktemp' is dangerous, better use `mkstemp'
/export/apps/siesta/openmpi-1.8.8/lib/libopen-rte.a(ras_slurm_module.o): In 
function `init':
ras_slurm_module.c:(.text+0x6d5): warning: Using 'gethostbyname' in statically 
linked applications requires at runtime the shared libraries from the glibc 
version used for linking
/export/apps/siesta/openmpi-1.8.8/lib/libopen-pal.a(evutil.o): In function 
`evutil_unparse_protoname':
/export/apps/siesta/openmpi-1.8.8/opal/mca/event/libevent2021/libevent/evutil.c:758:
 warning: Using 'getprotobynumber' in statically linked applications requires 
at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libnl.a(utils.o): In 
function `nl_str2ip_proto':
(.text+0x599): warning: Using 'getprotobyname' in statically linked 
applications requires at runtime the shared libraries from the glibc version 
used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libibverbs.a(src_libibverbs_la-init.o):
 In function `load_driver':
(.text+0x2ec): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libibverbs.a(src_libibverbs_la-init.o):
 In function `load_driver':
(.text+0x331): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libibverbs.a(src_libibverbs_la-init.o):
 In function `ibverbs_init':
(.text+0xd25): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libibverbs.a(src_libibverbs_la-init.o):
 In function `ibverbs_init':
(.text+0xd36): undefined reference to `dlclose'

Now you may need: -ldl

-- Reuti


collect2: ld returned 1 exit status
make: *** [transiesta] Error 1


​

Regards,
Mahmood



On Wed, Sep 14, 2016 at 9:54 PM, Reuti 
<re...@staff.uni-marburg.de<mailto:re...@staff.uni-marburg.de>> wrote:

The "-l" includes already the "lib" prefix when it tries to find the library. 
Hence "-libverbs" might be misleading due to the "lib" in the word, as it looks 
for "libibverbs.{a|so}". Like "-lm" will look for "libm.a" resp. "libm.so".

-- Reuti

_______________________________________________
users mailing list
users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>
https://rfd.newmexicoconsortium.org/mailman/listinfo/users


--
Jeff Squyres
jsquy...@cisco.com<mailto:jsquy...@cisco.com>
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to