- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I have 11.00 083 ifort and icc on Ubuntu 9.04. I am getting the following link problem.
ifort -o xxx yyy.o zzz.so
ld: xxx: hidden symbol `__svml_sin2' in /opt/intel/Compiler/11.0/083/lib/ia32/libsvml.a(svml_dsin2.o) is referenced by DSO
ld: final link failed: Nonrepresentable section on output
zzz.so is in the current directory and has just been created from a set of C and Fortran77 routines, mostly the latter. yyy.o is created by ifort.
I get this link error using icc for the C routines, but also exactly the same using gcc 4.3.3. Searching gave me some similar problems, but they were mostly about gcc libraries. None he;lped me to fix this problem or even understand it. Can anyone point me in the right direction.
Regards, Brian (b_duke)
I have 11.00 083 ifort and icc on Ubuntu 9.04. I am getting the following link problem.
ifort -o xxx yyy.o zzz.so
ld: xxx: hidden symbol `__svml_sin2' in /opt/intel/Compiler/11.0/083/lib/ia32/libsvml.a(svml_dsin2.o) is referenced by DSO
ld: final link failed: Nonrepresentable section on output
zzz.so is in the current directory and has just been created from a set of C and Fortran77 routines, mostly the latter. yyy.o is created by ifort.
I get this link error using icc for the C routines, but also exactly the same using gcc 4.3.3. Searching gave me some similar problems, but they were mostly about gcc libraries. None he;lped me to fix this problem or even understand it. Can anyone point me in the right direction.
Regards, Brian (b_duke)
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting more than one of those searches:
"usually means you built one of those shared libraries directly with ld"
but you didn't show how you did it. Anyway, the searched references tell you that linking non-shared libraries into a .so as you have done will produce this result.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - tim18
Quoting more than one of those searches:
"usually means you built one of those shared libraries directly with ld"
but you didn't show how you did it. Anyway, the searched references tell you that linking non-shared libraries into a .so as you have done will produce this result.
Thank you. I had seen that but missed it. It did allow a proper link. My problem is that I do not understand why this is the case, A lot of the searches were, as I said, about gcc but this code compliles and links correctly with gcc and gfortran using ld to get the library. The code also compliled and linked correctly years ago with icc/ifort version 8 using ld. Using ifort in place of ld to link is tricky if you are using specific ld arguments. Thanks for your help. I now have it linked but have other problems I did not have with gcc/gfortran.
![](/skins/images/895D6060305DF45A57FACF854B5A8CD1/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page