Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 413515

Summary: sci-libs/scipy - import failures due to missing symbols in clapack.so
Product: Gentoo Linux Reporter: Bas Weelinck <meridion>
Component: [OLD] DevelopmentAssignee: Gentoo Science Related Packages <sci>
Status: RESOLVED WORKSFORME    
Severity: normal CC: phajdan.jr, tb, tsigarid
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: SciPy 0.9.0-r1 bugged output and emerge --info

Description Bas Weelinck 2012-04-25 14:10:03 UTC
Created attachment 310065 [details]
SciPy 0.9.0-r1 bugged output and emerge --info

I am re-reporting an issue which seems to have been around since at least 2006, various bugs have been opened and closed but the issue unfortunately remains.

The bug can be reproduced as follows:

        1. Emerge SciPy with no prior intallation of virtual/*blas software
           or with the blas and lapack implementations set to reference.
        2. Run python and try to import a submodule such as scipy.linalg or
           scipy.signal

The expected result is for the import to succeed, the actual result can be viewed in my attachment.

I have successfully reproduced the issue both on x86 and amd64 using SciPy versions 0.9.0-r1 (stable), 0.10.1 (keyworded). Together with NumPy version 1.6.0.

The problem occurs because of a missing symbol in the reference implementations of blas and lapack which are currently the virtual/blas, virtual/cblas and virtual/lapack defaults.
I was able to fix the issue by installing blas-atlas and lapack-atlas and eselecting as described in the following bug report on the SciPy website: http://projects.scipy.org/scipy/ticket/1031

Bugs in the Gentoo bug tracker which have described or touched on the same subject are:

https://bugs.gentoo.org/show_bug.cgi?id=129524
    Which was closed because there was no way to force a blas/lapack profile.

https://bugs.gentoo.org/show_bug.cgi?id=371099
    I don't know why this bug was closed as the original issue described
    persists.

https://bugs.gentoo.org/show_bug.cgi?id=397315
    Which was closed invalid, but was very likely caused by the same issue in
    the first place. 

Possible solutions are to somehow enforce SciPy not to use the reference implementation or otherwise create a SciPy install guide to prevent more people from stumbling into this issue. Another one would be to change the virtual packages defaults or add a USE flag for SciPy compatibility.

Currently the SciPy website itself states the correct way to install SciPy on Gentoo is to simply emerge the package, which is not true at the moment.
http://www.scipy.org/Installing_SciPy/Linux#head-275c31f4779b4d029fc9195f250a0bf5ed86788c
Comment 1 Kostas 2012-12-31 20:50:51 UTC
This bug is still around for me, exactly as described here. Any solution yet?
Comment 2 François Bissey 2013-01-01 01:43:16 UTC
Have you recently switched to science overlay for blas/lapack.
Comment 3 Kostas 2013-01-01 16:03:33 UTC
(In reply to comment #2)
> Have you recently switched to science overlay for blas/lapack.

No I haven't.
Comment 4 François Bissey 2013-01-01 20:19:21 UTC
Ok. Use flags for both numpy and scipy. What do
eselect blas list
eselect cblas list
eselect lapack list
report?
Comment 5 Kostas 2013-01-02 01:00:11 UTC
(In reply to comment #4)
> Ok. Use flags for both numpy and scipy. What do
> eselect blas list
> eselect cblas list
> eselect lapack list
> report?

They all report "reference". I know the trick with lapack-atlas, but this is not standard Gentoo behavior. If if is, then lapack-atlas should be unmasked and linked with the scipy ebuild. Instead, the default behavior is lapack-reference, and this is what should work.
Comment 6 François Bissey 2013-01-02 02:20:57 UTC
Ok I didn't just want to know which one was selected but also the list of available implementations I'll assume it is the only one. What about the useflags for numpy and scipy? If you have lapack in numpy what happen when you import numpy from a python shell.
Comment 7 Kostas 2013-01-03 20:00:31 UTC
(In reply to comment #6)
> Ok I didn't just want to know which one was selected but also the list of
> available implementations I'll assume it is the only one. What about the
> useflags for numpy and scipy? If you have lapack in numpy what happen when
> you import numpy from a python shell.

I've installed the atlas libraries, since I needed to work. Today I've reverted back to the old behavior in order to check your question, and the problem has disappeared! scipy compiles without problems, even with the reference libraries. I wonder what has happened... Sorry, I cannot reproduce the problem any more. Maybe some old binaries (with old settings) in the system got overwritten by the compilation.

Anyway, thanks for your time.
Comment 8 Justin Lecher (RETIRED) gentoo-dev 2013-02-07 13:44:35 UTC
*** Bug 391337 has been marked as a duplicate of this bug. ***
Comment 9 Justin Lecher (RETIRED) gentoo-dev 2015-02-19 08:36:41 UTC
Please see whether this is still valid for scipy 0.14/0.15.