Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

intel prelink

bitozoid
Beginner
621 Views
There is a prelink executable with my intel compiler. How does it work? Is it compatible with the gnu prelink?

Thanks in advance
0 Kudos
8 Replies
TimP
Honored Contributor III
621 Views
Quoting - bitozoid
There is a prelink executable with my intel compiler. How does it work? Is it compatible with the gnu prelink?

icc makes gnu ld compatible scripts, including libraries which are provided by icc. I don't know your definition of compatibility.
0 Kudos
bitozoid
Beginner
621 Views
Quoting - tim18
icc makes gnu ld compatible scripts, including libraries which are provided by icc. I don't know your definition of compatibility.

I just meant whether it is possible to use intel prelink binary in a gnu/linux system. Does anyone knows how to use it?
0 Kudos
JenniferJ
Moderator
621 Views
Do you mean this prelink - http://en.wikipedia.org/wiki/Prelink ?

It seems to me that this tool should work with any binary created by gcc or icc, but only on Linux platform.
Is there any specific error you encounter?

Jennifer
0 Kudos
aazue
New Contributor I
621 Views
Quoting - bitozoid
Quoting - tim18
icc makes gnu ld compatible scripts, including libraries which are provided by icc. I don't know your definition of compatibility.

I just meant whether it is possible to use intel prelink binary in a gnu/linux system. Does anyone knows how to use it?
Hi
if you want share object ICC and GCC merge
you must use way same lib static(.a) or shared (.so)
ar, ranlib etc.....
after you call the lib (lib can be compiled Gcc or invert Icc) in your instruction
compiler choice Icc or Gcc.
( he Have really interest is only if you having part source code that can correctly work one side.)
also well for prelink object lib distributed for appropriate machine type for compile process attributed users.
Best regards.
0 Kudos
TimP
Honored Contributor III
621 Views
If icc or ifort implicitly invokes Intel prelink, gcc compiled objects may be compatible, but Intel run-time libraries will be used along with glibc etc.
gcc might invoke its own prelink; this is not so desirable when Intel compiler built objects are present, as Intel run-time libraries would not be included automatically.
ar (linux tool) works fine to make .a libraries with either Intel or gnu compiler objects, when IPO isn't in use. Not for dynamic libraries, not for IPO objects. prelink presumably doesn't care which tool made a .so library, but doesn't necessarily check that it's compatible.
0 Kudos
aazue
New Contributor I
621 Views
Quoting - tim18
If icc or ifort implicitly invokes Intel prelink, gcc compiled objects may be compatible, but Intel run-time libraries will be used along with glibc etc.
gcc might invoke its own prelink; this is not so desirable when Intel compiler built objects are present, as Intel run-time libraries would not be included automatically.
ar (linux tool) works fine to make .a libraries with either Intel or gnu compiler objects, when IPO isn't in use. Not for dynamic libraries, not for IPO objects. prelink presumably doesn't care which tool made a .so library, but doesn't necessarily check that it's compatible.
Hi
You have write (Not for dynamic libraries) but is false if i have really understand ....or is to IPO side only ???
you can call shared library (.so) or static (.a) as compiled with GCC || G++ without problem in your command with Intel compiler Icc
If i rectify is i have make several in reality
One simple example:
library backend Postgres libpq++ compiled with g++) and compile program to call the backend functions with Icc.
Also engine database Posgresql (linked backend) can be compiled with ICC or GCC without problem with this mixed configuration..
Kind.so regards.a

0 Kudos
bitozoid
Beginner
621 Views
Do you mean this prelink - http://en.wikipedia.org/wiki/Prelink ?

It seems to me that this tool should work with any binary created by gcc or icc, but only on Linux platform.
Is there any specific error you encounter?

Jennifer

There is a gnu prelink (that on wikipedia) available on my gentoo system in /usr/sbin/prelink. An introduction for this in gentoo can be found in http://www.gentoo.org/doc/en/prelink-howto.xml .

But there is also an intel prelink in ICC installation, in my system /usr/local/icc-11.0.081/bin/intel64/prelink . I just wondered whether its behaviour is similar, and whether there is any documentation about how to use it.
0 Kudos
Andres_M_Intel4
Employee
621 Views
Just wanted to point the fact that not the same set of options are supported on both prelink tools.
See below what happens if you try the-y (--verify) option on both prelink tools.
$ /opt/intel/Compiler/12.1/107/composerxe-2011.1.107/bin/intel64/prelink -y
unrecognized option: -y
C++ prelinker: error: command line error
$ /usr/sbin/prelink -y
/usr/sbin/prelink: no files given and --all not used

0 Kudos
Reply