#10509: cvxopt: undefined symbol: ilaenv_
----------------------------+-----------------------------------------------
Reporter: vbraun | Owner: tbd
Type: defect | Status: needs_info
Priority: major | Milestone: sage-4.6.2
Component: packages | Keywords: ATLAS, BLAS
Author: Volker Braun | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Comment(by vbraun):
Atlas-3.8.3 does only provide a static lapack library, so cvxopt's
`lapack.so` statically linked it all:
{{{
(sage subshell) volker-desktop:sage-4.6.1.alpha0 vbraun$ ls -al
local/lib/liblapack*
-rw-r--r--. 1 vbraun vbraun 10254224 Nov 15 16:06 local/lib/liblapack.a
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha0
(sage subshell) volker-desktop:sage-4.6.1.alpha0 vbraun$ readelf -a
local/lib/python/site-packages/cvxopt/lapack.so | grep ilaenv
000000340600 019000000007 R_X86_64_JUMP_SLO 00000000000d6610 ilaenv_ + 0
400: 00000000000d6610 5800 FUNC GLOBAL DEFAULT 11 ilaenv_
361: 0000000000000000 0 FILE LOCAL DEFAULT ABS ilaenv.f
924: 00000000000d6610 5800 FUNC GLOBAL DEFAULT 11 ilaenv_
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha0
}}}
Atlas-3.9.32 builds shared libraries and cvxopt now links against the
shared library.
{{{
(sage subshell) volker-desktop:sage-4.6.1.alpha3-atlas vbraun$ ls -al
local/lib/liblapack* local/lib/libatlas* local/lib/lib*blas*
-rw-r--r--. 1 vbraun vbraun 10964328 Dec 20 22:36 local/lib/libatlas.a
-rw-r--r--. 1 vbraun vbraun 6402481 Dec 20 20:39 local/lib/libatlas.so
-rw-rw-r--. 1 vbraun vbraun 786962 Dec 20 22:36 local/lib/libblas.a
-rw-r--r--. 1 vbraun vbraun 499528 Dec 20 22:36 local/lib/libcblas.a
-rw-r--r--. 1 vbraun vbraun 157226 Dec 20 20:39 local/lib/libcblas.so
-rw-r--r--. 1 vbraun vbraun 599690 Dec 20 22:36 local/lib/libf77blas.a
-rw-r--r--. 1 vbraun vbraun 154978 Dec 20 20:39 local/lib/libf77blas.so
-rw-r--r--. 1 vbraun vbraun 1640938 Dec 20 22:36 local/lib/libgslcblas.a
-rwxr-xr-x. 1 vbraun vbraun 988 Dec 20 22:36 local/lib/libgslcblas.la
lrwxrwxrwx. 1 vbraun vbraun 20 Dec 20 20:43 local/lib/libgslcblas.so
-> libgslcblas.so.0.0.0
lrwxrwxrwx. 1 vbraun vbraun 20 Dec 20 20:43
local/lib/libgslcblas.so.0 -> libgslcblas.so.0.0.0
-rwxr-xr-x. 1 vbraun vbraun 896520 Dec 20 20:43
local/lib/libgslcblas.so.0.0.0
-rw-r--r--. 1 vbraun vbraun 10311776 Dec 20 22:36 local/lib/liblapack.a
-rw-r--r--. 1 vbraun vbraun 5455501 Dec 20 20:39 local/lib/liblapack.so
-rw-r--r--. 1 vbraun vbraun 500036 Dec 20 22:36 local/lib/libptcblas.a
-rw-r--r--. 1 vbraun vbraun 157257 Dec 20 20:39 local/lib/libptcblas.so
-rw-r--r--. 1 vbraun vbraun 600086 Dec 20 22:36 local/lib/libptf77blas.a
-rw-r--r--. 1 vbraun vbraun 155009 Dec 20 20:39
local/lib/libptf77blas.so
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha3-atlas
(sage subshell) volker-desktop:sage-4.6.1.alpha3-atlas vbraun$ readelf -a
local/lib/python/site-packages/cvxopt/lapack.so | grep ilaenv
0000002997f8 004600000007 R_X86_64_JUMP_SLO 0000000000000000 ilaenv_ + 0
70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ilaenv_
471: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ilaenv_
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha3-atlas
(sage subshell) volker-desktop:sage-4.6.1.alpha3-atlas vbraun$ readelf -a
local/lib/liblapack.so | grep ilaenv
00000070ff08 04e200000007 R_X86_64_JUMP_SLO 0000000000000000
clapack_ilaenv + 0
000000710ba8 070d00000007 R_X86_64_JUMP_SLO 0000000000000000 ilaenv_ + 0
1250: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND clapack_ilaenv
1805: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND ilaenv_
3237: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND clapack_ilaenv
3792: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND ilaenv_
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha3-atlas
(sage subshell) volker-desktop:sage-4.6.1.alpha3-atlas vbraun$ readelf -a
local/lib/libf77blas.so | grep ilaenv
00000021e288 004700000007 R_X86_64_JUMP_SLO 00000000000081b0
atl_f77wrap_ilaenv_ + 0
00000021e2b0 005100000007 R_X86_64_JUMP_SLO 0000000000000000 ATL_ilaenv +
0
71: 00000000000081b0 45 FUNC GLOBAL DEFAULT 6
atl_f77wrap_ilaenv_
81: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND ATL_ilaenv
409: 00000000000089bc 3147 FUNC GLOBAL DEFAULT 6 ilaenv_
12: 0000000000000000 0 FILE LOCAL DEFAULT ABS
ATL_f77wrap_ilaenv.c
44: 0000000000000000 0 FILE LOCAL DEFAULT ABS ilaenv.f
400: 00000000000081b0 45 FUNC GLOBAL DEFAULT 6
atl_f77wrap_ilaenv_
410: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND ATL_ilaenv
738: 00000000000089bc 3147 FUNC GLOBAL DEFAULT 6 ilaenv_
SAGE_ROOT=/home/vbraun/opt/sage-4.6.1.alpha3-atlas
}}}
In particular, ilaenv remains UNDefined in cvxopt `lapack.so` and atlas
`liblapack.so` and needs to be dynamically linked in from `libf77blas.so`.
I guess we should keep statically linking the static system-provided
lapack on Windows and OSX, or change cvxopt to use the C version
clapack_ilaenv (since it already links to `libcblas.so`)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10509#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.