- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ifort -shared -i-static *.o -o fv_toolkit.so
I get the error :
ld: /fltapps/boeing/intel/compiler91/fce/9.1.036/lib/libifcore.a(for_close.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/fltapps/boeing/intel/compiler91/fce/9.1.036/lib/libifcore.a: could not read symbols: Bad value
If I remove the -i-static option, then it links fine. Any help that can be provided would be appreciated.
Bernie Borenstein
The Boeing Company
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We do provide Fortran runtime libraries built "position-independent" on the Intel Fortran kit. We started that very recently, at the request of one customer who was experimenting with them. To find out if your kit is new enough to have them, check the library area of the installed compiler for files *_pic.a. This directory will be something like:
/opt/intel/fc/9.1.xxx/lib
where "xxx" is your version number.
That said, because it's rather experimental, there are nocommand line switches [yet?] to automaticallylink against them.
If you're feeling adventurous, you can do as we advised the original requestor: manually link against the "pic" Intel Fortran libraries.
First - add the "-dryrun" switch to whatever command you are using to link the executable. This will show you the calls that the driver would have made, if it were to actually do the link. Let me recommend that you output that to a file, and maybe edit that file to createa script you can invoke.
Once you have the script - modify -lifcore to -lifcore_pic
I can't, of course,promise that we're going to make this easier, but I *do* understand it's quite awkward.
- Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - lorri_menard
We do provide Fortran runtime libraries built "position-independent" on the Intel Fortran kit. We started that very recently, at the request of one customer who was experimenting with them. To find out if your kit is new enough to have them, check the library area of the installed compiler for files *_pic.a. This directory will be something like:
/opt/intel/fc/9.1.xxx/lib
where "xxx" is your version number.
That said, because it's rather experimental, there are nocommand line switches [yet?] to automaticallylink against them.
If you're feeling adventurous, you can do as we advised the original requestor: manually link against the "pic" Intel Fortran libraries.
First - add the "-dryrun" switch to whatever command you are using to link the executable. This will show you the calls that the driver would have made, if it were to actually do the link. Let me recommend that you output that to a file, and maybe edit that file to createa script you can invoke.
Once you have the script - modify -lifcore to -lifcore_pic
I can't, of course,promise that we're going to make this easier, but I *do* understand it's quite awkward.
- Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, still experimential. It hasnot been "officially" released although the same *_pic.a libraries mentioned are provided even in the latest 11.1 release.
I noted the current internal tracking id below.
(Internal tracking id : DPD200026104)
(Resolution Update on 09/30/2011): This defect is fixed in the Intel® Fortran Compiler 2011 release

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page