- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to use the Pardiso solver on an SGI Altix machine. The code compiles and produces an executable, but I'm getting the following error during the linking:
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
What library do I need to link to in order to resolve this dependency?
Thanks,
Dave
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is my link line:
ifort -o nike3d.lnx *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -lpthread
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is my link line:
ifort -o nike3d.lnx *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -lpthread
Dave,I thinl the linker adviser ( follow the link: http://software.intel.com/en-us/forums/showthread.php?t=65510) will helps you to select the appropriate linking line.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave,I thinl the linker adviser ( follow the link: http://software.intel.com/en-us/forums/showthread.php?t=65510) will helps you to select the appropriate linking line.
--Gennady
I tried using the linker advisor and changed my link line to the following:
MKL_PATH = /usr/sci/LinuxIA64/intel/mkl/lib/64/
#MKL_LIB = -L$(MKL_PATH) -Wl,--start-group $(MKL_PATH)libmkl_intel_lp64.a $(MKL_PATH)libmkl_intel_thread.a
$(MKLPATH)libmkl_core.a -Wl,--end-group -openmp -lpthread
I'm now getting a host of errors such as:
IPO Error: unresolved : mkl_pds_lp64_get_proc_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_diag_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
Referenced in libmkl_core.a(check_input_fc_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_c_diag_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
Referenced in libmkl_core.a(check_input_fc_lp64.o)
IPO Error: unresolved : mkl_lapack_dlasr3
Referenced in libmkl_core.a(dsteqr.o)
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
IPO Error: unresolved : mkl_pds_lp64_c_pre_cgs_pardiso
Referenced in libmkl_core.a(do_all_fc_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_c_amuxy_pardiso
Referenced in libmkl_core.a(do_all_fc_lp64.o)
...
Any suggestions?
Dave
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What MKL version you are using?
Can you get us the PackageID of this version?
Please open
--GIF
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What MKL version you are using?
Can you get us the PackageID of this version?
Please open
--GIF
Package ID: l_mkl_p_10.1.1.019
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Package ID: l_mkl_p_10.1.1.019
Dave, we had similar problem with this version and it was fixed in the following update2.
I'd recommend you to upgrade the current version to the MKL 10.1 update 2.
Please see official announcement about this topic: Intel MKL 10.1 Update 2 is now availablePlease pay attention on: "Users with current licenses may login at the Intel Registration Center to download."
/GIF
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave, we had similar problem with this version and it was fixed in the following update2.
I'd recommend you to upgrade the current version to the MKL 10.1 update 2.
Please see official announcement about this topic: Intel MKL 10.1 Update 2 is now availablePlease pay attention on: "Users with current licenses may login at the Intel Registration Center to download."
/GIF
I upgraded MKL. The current version is:
Package ID: l_mkl_p_10.1.2.024
I'm still getting the same error messages, though.
Dave
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I upgraded MKL. The current version is:
Package ID: l_mkl_p_10.1.2.024
I'm still getting the same error messages, though.
Dave
Dave
I don't see -liomp5 or -lguide inthe linking line. One of these libraries must present in the linking line. Would you try this sequence of libraries
-L$(MKL_PATH) $(MKL_PATH)libmkl_intel_lp64.a -Wl,--start-group $(MKL_PATH)libmkl_intel_thread.a $(MKLPATH)libmkl_core.a -Wl,--end-group-L$(MKL_PATH) -liomp5 -lpthread -lm
All the best
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't see -liomp5 or -lguide inthe linking line. One of these libraries must present in the linking line. Would you try this sequence of libraries
-L$(MKL_PATH) $(MKL_PATH)libmkl_intel_lp64.a -Wl,--start-group $(MKL_PATH)libmkl_intel_thread.a $(MKLPATH)libmkl_core.a -Wl,--end-group-L$(MKL_PATH) -liomp5 -lpthread -lm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I upgraded MKL. The current version is:
Package ID: l_mkl_p_10.1.2.024
I'm still getting the same error messages, though.
Dave
Dave,
I forgot to mention that references like _tls_get_addr should be resolved with the help of libc library from gnu. If Intel compiler doesn't find alibc function, that means something is wrongwith environment variables, or gnu compiler is installed incorrectly. Could you try the commands
$/lib/libc.so.6.1
GNU C Library stable release version 2.3.3 (20040412), by Roland McGrath et al.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
....$which gnu
and
$gcc --version
All the best
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave,
I forgot to mention that references like _tls_get_addr should be resolved with the help of libc library from gnu. If Intel compiler doesn't find a libc function, that means something is wrong with environment variables, or gnu compiler is installed incorrectly. Could you try the commands
$/lib/libc.so.6.1
GNU C Library stable release version 2.3.3 (20040412), by Roland McGrath et al.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
....$which gnu
and
$gcc --version
All the best
Sergey
> /lib/libc.so.6.1
GNU C Library stable release version 2.3.5 (20050720), by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Configured for ia64-suse-linux.
Compiled by GNU CC version 3.3.3 (SuSE Linux).
Compiled on a Linux 2.6.5 system on 2009-03-27.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.10 by Xavier Leroy
GNU Libidn by Simon Josefsson
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
pthread library is compiled with floating stack support enabled.
For bug reporting instructions, please see:
<>.
> gcc --version
gcc (GCC) 3.3.3 (SuSE Linux)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> which gnu
Note that gnu does not seem to be recognized.
Dave
>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave
I don't see -liomp5 or -lguide in the linking line. One of these libraries must present in the linking line. Would you try this sequence of libraries
-L$(MKL_PATH) $(MKL_PATH)libmkl_intel_lp64.a -Wl,--start-group $(MKL_PATH)libmkl_intel_thread.a $(MKLPATH)libmkl_core.a -Wl,--end-group -L$(MKL_PATH) -liomp5 -lpthread -lm
All the best
Sergey
Here's my new link line along with a sample of the errors:
ifort -o nike3d.lnx *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_intel_lp64.a -Wl,--start-group /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ -liomp5 -lpthread -lm
IPO Error: unresolved : mkl_pds_lp64_get_proc_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_diag_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
Referenced in libmkl_core.a(check_input_fc_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_c_diag_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
Referenced in libmkl_core.a(check_input_fc_lp64.o)
IPO Error: unresolved : mkl_lapack_dlasr3
Referenced in libmkl_core.a(dsteqr.o)
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
IPO Error: unresolved : mkl_pds_lp64_c_pre_cgs_pardiso
Referenced in libmkl_core.a(do_all_fc_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_c_amuxy_pardiso
Referenced in libmkl_core.a(do_all_fc_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_amuxy_pardiso
Referenced in libmkl_core.a(do_all_fc_lp64.o)
Referenced in libmkl_core.a(pre_cgs_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_cgs_i
Referenced in libmkl_core.a(pre_cgs_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_cgs_a
Referenced in libmkl_core.a(pre_cgs_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_cgs_b
Referenced in libmkl_core.a(pre_cgs_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_ladj_mod_pardiso
Referenced in libmkl_core.a(reorder1_lp64.o)
IPO Error: unresolved : mkl_pds_lp64_psol_fwgath_pardiso
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ifort -o nike3d.lnx *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_intel_lp64.a -Wl,--start-group /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ -liomp5 -lpthread -lm
IPO Error: unresolved : mkl_pds_lp64_get_proc_pardiso
Referenced in libmkl_core.a(pardiso_lp64.o)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I moved the lp64 library within the group and still got the same errors. Note that if I use the link line:
ifort -o nike3d.lnx nike3d.o *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -openmp -lpthread
I don't get the other unresolved reference errors, but I do still get the following error:
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
Thanks,
Dave
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The continued tls problems make it look like an incompatibility with your gliibc. I'm out of IA64 business, my old IA64 box died last week; anyway, I haven't any experience with Altix IA64 distros.
If you submit a support request on premier.intel.com, you will need to quote your distro (some version of SLES?), uname, and glibc; in addition you should give your ProPack version and binutils (e.g. ld --version).
One other thing: you should make sure you are linking the libraries you have specified from your MKL directory, and not getting your current MKL libraries mixed up with some older versions, such as libguide.so or libiomp5.so which may be installed elsewhere on your system. You should use the latest libiomp5 among those provided with your MKL and with your ifort.
The ifort professional version (the only one still supported) has its own MKL library, so you could avoid confusion by getting all these libraries from the ifort installation tree.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I moved the lp64 library within the group and still got the same errors. Note that if I use the link line:
ifort -o nike3d.lnx nike3d.o *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -openmp -lpthread
I don't get the other unresolved reference errors, but I do still get the following error:
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
Thanks,
Dave
Note that some versions of ifort did not handle the --group flags correctly, perhaps depending on platform variations. Instead of using those flags, I have been using a pseudo-archive linker script instead. In this case, it contains the line:
I moved the lp64 library within the group and still got the same errors. Note that if I use the link line:
ifort -o nike3d.lnx nike3d.o *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -openmp -lpthread
I don't get the other unresolved reference errors, but I do still get the following error:
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
Thanks,
Dave
I tried using 'libc.so', but ifort gave an error with the library /usr/lib/libc_nonshared.a, referenced by /usr/lib/libc.so, which is actually a linker script. Maybe that nonshared lib is the source of the problem?
Note that some versions of ifort did not handle the --group flags correctly, perhaps depending on platform variations. Instead of using those flags, I have been creating a linker script instead. In this case, it contains the line:
GROUP (libmkl_ipf.a libmkl_lapack.a libguide.a /lib/libc.so.6.1 /lib/ld-linux-ia64.so.2)
Joe Krahn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried using 'libc.so', but ifort gave an error with the library /usr/lib/libc_nonshared.a, referenced by /usr/lib/libc.so, which is actually a linker script. Maybe that nonshared lib is the source of the problem?
Note that some versions of ifort did not handle the --group flags correctly, perhaps depending on platform variations. Instead of using those flags, I have been creating a linker script instead. In this case, it contains the line:
GROUP (libmkl_ipf.a libmkl_lapack.a libguide.a /lib/libc.so.6.1 /lib/ld-linux-ia64.so.2)
It would be unreliable to link a static library to satisfy references from a dynamic library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note that some versions of ifort did not handle the --group flags correctly, perhaps depending on platform variations. Instead of using those flags, I have been using a pseudo-archive linker script instead. In this case, it contains the line:
I moved the lp64 library within the group and still got the same errors. Note that if I use the link line:
ifort -o nike3d.lnx nike3d.o *.o -L/usr/sci/LinuxIA64/intel/mkl/lib/64/ /usr/sci/LinuxIA64/intel/mkl/lib/64/libmkl_lapack.a /usr/sci/LinuxIA64/intel/mkl/lib/64/libiomp5.a -openmp -lpthread
I don't get the other unresolved reference errors, but I do still get the following error:
IPO Error: unresolved : __tls_get_addr
Referenced in libmkl_core.a(mkl_memory.o)
Thanks,
Dave
I tried using 'libc.so', but ifort gave an error with the library /usr/lib/libc_nonshared.a, referenced by /usr/lib/libc.so, which is actually a linker script. Maybe that nonshared lib is the source of the problem?
Note that some versions of ifort did not handle the --group flags correctly, perhaps depending on platform variations. Instead of using those flags, I have been creating a linker script instead. In this case, it contains the line:
GROUP (libmkl_ipf.a libmkl_lapack.a libguide.a /lib/libc.so.6.1 /lib/ld-linux-ia64.so.2)
Joe Krahn
John,
Thanks. Adding libc.a in a link group took care of the __tls_get_addr problem.
Dave

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