[Beowulf] Weird problem with mpp-dyna

Joshua Baker-LePain jlb17 at duke.edu
Wed Mar 14 12:22:08 PDT 2007


On Wed, 14 Mar 2007 at 2:54pm, Joe Landman wrote

> Joshua Baker-LePain wrote:
>
>> They also provide the matching pre-compiled LAM/MPI libraries on their 
>> site. For a fun little wrinkle, RHEL/CentOS ships LAM/MPI 7.0.6. However, 
>> the spec file in their RPM does *not* include the --enable-shared flag. 
>> IOW, the OS vendor's LAM/MPI package has no .so files.
>
> I rebuilt this (the LAM) for our customer.  Works nicely now.

What compiler did you build it with?  I just tried to build it with gcc it 
bombs out building the shared libraries:

g++ -shared /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/3.4.6/crtbeginS.o .libs/mpicxx.o e.libs/intercepts.o .libs/pmpicxx.o .libs/op.o .libs/comm.o .libs/intracomm.o .libs/topology.o .libs/intercomm.o .libs/info.o .libs/win.o .libs/request.o .libs/group.o .libs/datatype.o .libs/status.o .libs/errhandler.o .libs/exception.o .libs/functions.o -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lstdc++ -lm -lpthread -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/3.4.6/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crtn.o -o .libs/liblammpi++.so.0.0.0
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crti.o(.init+0x0): In function `_init':
: multiple definition of `_init' 
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crti.o(.init+0x0): first defined here 
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crti.o(.fini+0x0): In function `_fini':
: multiple definition of `_fini' 
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crti.o(.fini+0x0): first defined here 
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/crtbeginS.o(.data.rel+0x0): multiple definition of `__dso_handle' 
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/crtbeginS.o(.data.rel+0x0): first defined here
collect2: ld returned 1 exit status
make[3]: *** [liblammpi++.la] Error 1
make[3]: Leaving directory `/spare/jlb/lam-7.0.6/share/mpi/cxx'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/spare/jlb/lam-7.0.6/share/mpi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/spare/jlb/lam-7.0.6/share'
make: *** [all-recursive] Error 1

> Try an ldd against mpp-dyna-big-long-name

[jlb at harry tmp2]$ ldd /usr/local/lstc/bin64/mpp971_d_7600.2.398_PGI_linux86-64_lam703
         liblamf77mpi.so.0 => /usr/local/lstc/lib64/liblamf77mpi.so.0 (0x0000002a95575000)
         libmpi.so.0 => /usr/local/lstc/lib64/libmpi.so.0 (0x0000002a95689000)
         liblam.so.0 => /usr/local/lstc/lib64/liblam.so.0 (0x0000002a95818000)
         libutil.so.1 => /lib64/libutil.so.1 (0x0000003101a00000)
         libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003100600000)
         libc.so.6 => /lib64/tls/libc.so.6 (0x00000030ff900000)
         libm.so.6 => /lib64/tls/libm.so.6 (0x00000030ffc00000)
         /lib64/ld-linux-x86-64.so.2 (0x00000030ff500000)

-- 
Joshua Baker-LePain
Department of Biomedical Engineering
Duke University



More information about the Beowulf mailing list