Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Oct 2015 14:13:12 +0000
From:      bugzilla-noreply@freebsd.org
To:        python@FreeBSD.org
Subject:   [Bug 203638] math/py-numpy: Undefined symbol "cblas_sgemm"
Message-ID:  <bug-203638-21822-z6x1MtCqAd@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-203638-21822@https.bugs.freebsd.org/bugzilla/>
References:  <bug-203638-21822@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203638

John Hein <z7dr6ut7gs@snkmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |z7dr6ut7gs@snkmail.com

--- Comment #4 from John Hein <z7dr6ut7gs@snkmail.com> ---
I can reproduce this by building math/suitesparse with NETLIB and math/py-numpy
with NETLIB.  Then "python -c 'import numpy'" gives the same undefined symbol
error as the OP.

/usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so:
        libblas.so.2 => /usr/local/lib/libblas.so.2 (0x801781000)
        libm.so.5 => /lib/libm.so.5 (0x8019d3000)
        libpython2.7.so.1 => /usr/local/lib/libpython2.7.so.1 (0x801bfc000)
        libc.so.7 => /lib/libc.so.7 (0x800821000)
        libgfortran.so.3 => /usr/local/lib/gcc48/libgfortran.so.3 (0x801fb7000)
        libgcc_s.so.1 => /usr/local/lib/gcc48/libgcc_s.so.1 (0x8022ce000)
        libquadmath.so.0 => /usr/local/lib/gcc48/libquadmath.so.0 (0x8024e4000)
        libthr.so.3 => /lib/libthr.so.3 (0x80271f000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x802943000)
        libutil.so.9 => /lib/libutil.so.9 (0x802b4e000)

numpy options in this case are:

OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_SET+=SUITESPARSE
OPTIONS_FILE_UNSET+=TESTS
OPTIONS_FILE_UNSET+=ATLAS
OPTIONS_FILE_SET+=NETLIB
OPTIONS_FILE_UNSET+=OPENBLAS

I also removed the openblas package before building both suitesparse and numpy
- I believe openblas is detected by numpy configure if it just exists.  And
that is enough to avoid the problem because the numpy configure explicitly
turns off HAVE_CBLAS if it detects openblas.

If I install openblas again (default options - all unset) and rebuild numpy
with the same options (NETLIB set, OPENBLAS unset) and no other changes from
the above failure case, I do NOT get the undefined symbol.

Here's the ldd output in that case:
% ldd /usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so
/usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so:
        libopenblas.so => /usr/local/lib/libopenblas.so (0x801800000)
        libm.so.5 => /lib/libm.so.5 (0x802575000)
        libpython2.7.so.1 => /usr/local/lib/libpython2.7.so.1 (0x80279e000)
        libc.so.7 => /lib/libc.so.7 (0x800821000)
        libgfortran.so.3 => /usr/local/lib/gcc48/libgfortran.so.3 (0x802b59000)
        libquadmath.so.0 => /usr/local/lib/gcc48/libquadmath.so.0 (0x802e70000)
        libthr.so.3 => /lib/libthr.so.3 (0x8030ab000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x8032cf000)
        libutil.so.9 => /lib/libutil.so.9 (0x8034da000)
        libgcc_s.so.1 => /usr/local/lib/gcc48/libgcc_s.so.1 (0x8036ec000)


>From this, it seems math/py-numpy + blaslapack:netlib (without openblas
installed at numpy build time) do not currently play well together.

I don't have a suggested fix for this at the moment.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203638-21822-z6x1MtCqAd>