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

final link failed: Nonrepresentable section on output

b_duke
Beginner
1,300 Views
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)
0 Kudos
2 Replies
TimP
Honored Contributor III
1,300 Views
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.
0 Kudos
b_duke
Beginner
1,300 Views
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.
0 Kudos
Reply