-static-intel is not linking intel libraries in statically

-static-intel is not linking intel libraries in statically

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

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today