Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29253 Discussions

-static-intel is not linking intel libraries in statically

Bernie_B_
Beginner
661 Views
I'm not sure what I'm doing wrong, but when linking with -static-intel, I'm still seeing the intel libraries

libimf.so => /fltapps/boeing/intel/compiler111/Compiler/11.1/075/lib/intel64/libimf.so (0x00002ad1155bd000)
libsvml.so => /fltapps/boeing/intel/compiler111/Compiler/11.1/075/lib/intel64/libsvml.so (0x00002ad115951000)
libintlc.so.5 => /fltapps/boeing/intel/compiler111/Compiler/11.1/075/lib/intel64/libintlc.so.5 (0x00002ad115b67000)

The main difference with this build of the Nasa Overflow code is that we are adding some libraries using the -Xlinker -rpath -Xlinker construct to the executable that are not in the standard library cache.

/fltusr/borensbs/openmpi143/bin/mpif90 -O2 -align all -axSSE4.2,SSE2 -heap-arrays -o overmpi_2.1ae_openmpi_fltapps_intel11.1-SSE4.2-SSE2 modules/*.o chimera/*.o grid/*.o linear/*.o rotor/*.o spline/*.o unix/*.o utilities/*.o walldist/*.o omisoft/adaptq/*.o omisoft/brick/*.o omisoft/collision/*.o omisoft/dcfcrt/*.o omisoft/errest/*.o omisoft/gen_x/*.o omisoft/global/*.o omisoft/gmp/*.o omisoft/groupr/*.o omisoft/invmap/*.o omisoft/sixdof/*.o ns/bc/*.o ns/control/*.o ns/euler/*.o ns/fomo/*.o ns/mg/*.o ns/smoothing/*.o ns/source/*.o ns/step/*.o ns/turbulence/*.o ns/utilities/*.o ns/viscous/*.o ke/bc/*.o ke/convection/*.o ke/diffusion/*.o ke/source/*.o ke/step/*.o ke/turbulence/*.o ke/utilities/*.o ret/bc/*.o ret/convection/*.o ret/diffusion/*.o ret/source/*.o ret/step/*.o ret/turbulence/*.o ret/utilities/*.o sce/bc/*.o sce/convection/*.o sce/diffusion/*.o sce/smoothing/*.o sce/step/*.o sce/utilities/*.o -Xlinker -rpath -Xlinker /fltapps/boeing/mpi/drivers/lib64 -static-intel
/fltapps/boeing/intel/compiler111/Compiler/11.1/075/lib/intel64/libimf.so: warning: warning: feupdateenv is not implemented and will always fail

Any information that someone could supply would be appreciated. There is no static version of libintlc.so.5 in the intel lib directory.

Bernie Borenstein
The Boeing Company

0 Kudos
1 Reply
TimP
Honored Contributor III
661 Views
You might add the -# option, so as to see whether the series of commands passed in the ld script make sense, including verification of which link phases have static linking. Maybe the -static-intel has no effect in that position (normally, I would expect to supply it along with the ifort options).
As far as I know, the libsvml and libimf from the 11.1 compiler weren't influenced by the architecture options in the compile line; they would do run-time analysis on the CPU to decide which instruction sets to use, so a static link would involve multiple versions of functions.
Evidently, if only a .so version of a library is available, that is the one which would be expected to be linked.
You may have seen a previous response relating to libintlc.so; I don't know if that relates to your question.
0 Kudos
Reply