[mpich-discuss] statically linked mpiexec

Kenneth Raffenetti raffenet at mcs.anl.gov
Mon Apr 7 09:58:02 CDT 2014


Ah, sorry. I misread your first email and assumed you were only talking 
about the MPICH libraries and compiler wrappers.

The Intel compilers should accept a '-static' flag that will force link 
all libraries statically. Try adding it to your CFLAGS to force this 
behavior on mpiexec.

Ken

On 04/07/2014 09:50 AM, Andy May wrote:
> Ken,
>
> The '--disable-shared' flag removes some of the external references (to
> the Intel compiler in my case) but still leaves:
>
> ldd ./bin/mpiexec
>          linux-vdso.so.1 (0x00007fff7a7b9000)
>          libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f3298e3f000)
>          libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3298c21000)
>          libpciaccess.so.0 => /usr/lib64/libpciaccess.so.0
> (0x00007f3298a17000)
>          libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f32986ac000)
>          libdl.so.2 => /lib64/libdl.so.2 (0x00007f32984a8000)
>          libz.so.1 => /lib64/libz.so.1 (0x00007f3298292000)
>          liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f329806c000)
>          libm.so.6 => /lib64/libm.so.6 (0x00007f3297d69000)
>          libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3297b52000)
>          libc.so.6 => /lib64/libc.so.6 (0x00007f32977a3000)
>          /lib64/ld-linux-x86-64.so.2 (0x00007f3299057000)
>
> whereas what I did gives:
>
> ldd ./bin/mpiexec
>          not a dynamic executable
>
> Is there any option to ensure fully statically linked mpiexec via
> configure?
>
> Thanks,
>
> Andy
>
> On 07/04/14 13:26, Kenneth Raffenetti wrote:
>> Andy,
>>
>> The official way is to add '--disable-shared' to your configure line.
>>
>> Ken
>>
>> On 04/07/2014 05:47 AM, Andy May wrote:
>>> Hi,
>>>
>>> Does anyone know if there is a supported or recommended way to build
>>> MPICH such that it's binaries (eg. mpiexec) are statically linked?
>>>
>>> At present, post building I'm running:
>>>
>>> cd src/pm/hydra
>>> eval ./configure `./config.status --config` --disable-pci
>>> --disable-libxml2
>>> make CCLD='$(CC) -all-static'
>>>
>>> which just disables two cases where the static libraries aren't
>>> available, then links statically, but is there a better or correct way
>>> to do this?
>>>
>>> Many thanks,
>>>
>>> Andy
>>> _______________________________________________
>>> discuss mailing list     discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss



More information about the discuss mailing list