[gmx-users] Cant remove libpthreads from the link

Matt McMullen mmcmullen at scyld.com
Fri Mar 4 18:40:59 CET 2005


GMX-User List,

I am attempting to install Gromacs-3.2.1 on a Scyld 29-CZ4 Linux distribution. 
The Scyld OS has a problem doing a remote execute on an program that has the 
pthreads library linked in (regardless of the program actually using the 
pthreads calls). Consequently, I am trying to remove the pthreads library 
completely from the link.

I start the gromacs build with the following command....
>>./configure --disable-threads --enable-mpi

However, when I do search for the pthreads library in the src Makefiles I get 
the following output
>>grep -R -e"lpthread" src/*
src/contrib/Makefile:LIBS =  -L/usr/X11R6/lib64 -lnsl -lsrfftw_mpi -lsfftw_mpi 
-lsrfftw -lsfftw -lm  -lXm -lXt  -lSM -lICE -lXext -lXp -lX11  -lxml2 -lz 
-lpthread -lm
src/gmxlib/Makefile:LIBS =  -L/usr/X11R6/lib64 -lnsl -lsrfftw_mpi -lsfftw_mpi 
-lsrfftw -lsfftw -lm  -lXm -lXt  -lSM -lICE -lXext -lXp -lX11  -lxml2 -lz 
-lpthread -lm 
.... (more of the same)......

And when I do a symbolic link analysis on the src/kernel/mdrun executable I 
get the following.....
>>make
>>cd src/kernel
>>ldd mdrun 
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a9566b000)
        libsrfftw_mpi.so.2 => /usr/local/lib/libsrfftw_mpi.so.2 
(0x0000002a95781000)
        libsfftw_mpi.so.2 => /usr/local/lib/libsfftw_mpi.so.2 
(0x0000002a95883000)
        libsrfftw.so.2 => /usr/local/lib/libsrfftw.so.2 (0x0000002a9598a000)
        libsfftw.so.2 => /usr/local/lib/libsfftw.so.2 (0x0000002a95ab9000)
        libXm.so.3 => /usr/X11R6/lib64/libXm.so.3 (0x0000002a95bf2000)
        libXt.so.6 => /usr/X11R6/lib64/libXt.so.6 (0x0000002a95f8f000)
        libSM.so.6 => /usr/X11R6/lib64/libSM.so.6 (0x0000002a960ef000)
        libICE.so.6 => /usr/X11R6/lib64/libICE.so.6 (0x0000002a961f9000)
        libXext.so.6 => /usr/X11R6/lib64/libXext.so.6 (0x0000002a96312000)
        libXp.so.6 => /usr/X11R6/lib64/libXp.so.6 (0x0000002a96423000)
        libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000002a9652b000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000002a96706000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a96925000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000002a96a33000)
        libm.so.6 => /lib64/libm.so.6 (0x0000002a96bc7000)
        libmpich-gnu.so.1 => /usr/lib64/MPICH/p4/gnu/libmpich-gnu.so.1 
(0x0000002a96d4f000)
        libbproc.so.2 => /usr/lib64/libbproc.so.2 (0x0000002a96f10000)
        libc.so.6 => /lib64/libc.so.6 (0x0000002a97014000)
        libXmu.so.6 => /usr/X11R6/lib64/libXmu.so.6 (0x0000002a97259000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a97372000)
        /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 
(0x0000002a95556000)
        libbeomap.so.0.1 => /usr/lib64/libbeomap.so.0.1 (0x0000002a97475000)
        libbpsh.so.0 => /usr/lib64/libbpsh.so.0 (0x0000002a97578000)
        libbeostat.so.0 => /usr/lib64/libbeostat.so.0 (0x0000002a9767b000)

If I attempt to manually remove the -lpthread switch from all the make files 
and recompile/link I get....
>>some command to remove all -lpthread from Makefiles
>>make clean
>>make
>>cd src/kernel
>>ldd mdrun
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a9566b000)
        libsrfftw_mpi.so.2 => /usr/local/lib/libsrfftw_mpi.so.2 
(0x0000002a95781000)
        libsfftw_mpi.so.2 => /usr/local/lib/libsfftw_mpi.so.2 
(0x0000002a95883000)
        libsrfftw.so.2 => /usr/local/lib/libsrfftw.so.2 (0x0000002a9598a000)
        libsfftw.so.2 => /usr/local/lib/libsfftw.so.2 (0x0000002a95ab9000)
        libXm.so.3 => /usr/X11R6/lib64/libXm.so.3 (0x0000002a95bf2000)
        libXt.so.6 => /usr/X11R6/lib64/libXt.so.6 (0x0000002a95f8f000)
        libSM.so.6 => /usr/X11R6/lib64/libSM.so.6 (0x0000002a960ef000)
        libICE.so.6 => /usr/X11R6/lib64/libICE.so.6 (0x0000002a961f9000)
        libXext.so.6 => /usr/X11R6/lib64/libXext.so.6 (0x0000002a96312000)
        libXp.so.6 => /usr/X11R6/lib64/libXp.so.6 (0x0000002a96423000)
        libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000002a9652b000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000002a96706000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a96925000)
        libm.so.6 => /lib64/libm.so.6 (0x0000002a96a33000)
        libmpich-gnu.so.1 => /usr/lib64/MPICH/p4/gnu/libmpich-gnu.so.1 
(0x0000002a96bbb000)
        libbproc.so.2 => /usr/lib64/libbproc.so.2 (0x0000002a96d7c000)
        libc.so.6 => /lib64/libc.so.6 (0x0000002a96e80000)
        libXmu.so.6 => /usr/X11R6/lib64/libXmu.so.6 (0x0000002a970c5000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a971de000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000002a972e1000)
        libbeomap.so.0.1 => /usr/lib64/libbeomap.so.0.1 (0x0000002a97475000)
        libbpsh.so.0 => /usr/lib64/libbpsh.so.0 (0x0000002a97578000)
        libbeostat.so.0 => /usr/lib64/libbeostat.so.0 (0x0000002a9767b000)
        /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 
(0x0000002a95556000)

Unfortunately, pthreads is still being linked in. 

Do you know of a way to completely remove this from the link?

Thanks,
Matt McMullen



More information about the gromacs.org_gmx-users mailing list