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

Bug 251165

Summary: sci-libs/scipy-0.6.0-r5 missing dependency - ImportError: /usr/lib/python2.5/site-packages/scipy/integrate/_odepack.so: undefined symbol: daxpy_
Product: Gentoo Linux Reporter: Alex Filov <alexander.filov>
Component: New packagesAssignee: Gentoo Science Related Packages <sci>
Status: RESOLVED FIXED    
Severity: normal CC: dberkholz, matthew.m.mccormick
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Alex Filov 2008-12-16 13:20:05 UTC
Python 2.5.2 (r252:60911, Oct 21 2008, 10:54:06) 
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.integrate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site-packages/scipy/integrate/__init__.py", line 10, in <module>
    from odepack import *
  File "/usr/lib/python2.5/site-packages/scipy/integrate/odepack.py", line 7, in <module>
    import _odepack
ImportError: /usr/lib/python2.5/site-packages/scipy/integrate/_odepack.so: undefined symbol: daxpy_
>>> 


localhost ~ # eselect blas list
Installed BLAS for library directory lib
  [1]   atlas *
  [2]   reference

localhost ~ # eselect cblas list
Installed CBLAS for library directory lib
  [1]   atlas *
  [2]   gsl
  [3]   reference

localhost ~ # eselect lapack list
Installed LAPACK for library directory lib
  [1]   atlas *
  [2]   reference
Comment 1 Sumant Oemrawsingh 2008-12-19 00:29:34 UTC
Same result on amd64 (using gcc 4.1.2). Also tried atlas, gsl, reference and recompiling scipy after each setting. Same result.

For completeness:

$ python
Python 2.5.2 (r252:60911, Nov  4 2008, 00:21:57) 
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.integrate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.5/site-packages/scipy/integrate/__init__.py", line 10, in <module>
    from odepack import *
  File "/usr/lib64/python2.5/site-packages/scipy/integrate/odepack.py", line 7, in <module>
    import _odepack
ImportError: /usr/lib64/python2.5/site-packages/scipy/integrate/_odepack.so: undefined symbol: daxpy_
>>> 

$ eselect blas list
Installed BLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads *
  [3]   reference

$ eselect cblas list
Installed CBLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads *
  [3]   gsl
  [4]   reference

$ eselect lapack list
Installed LAPACK for library directory lib64
  [1]   atlas *

$ emerge --info
Portage 2.1.4.5 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.25-gentoo-r7 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
Timestamp of tree: Thu, 11 Dec 2008 18:36:01 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.usu.edu/mirrors/gentoo/ "
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_GB nl"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/wschlich-testing /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdr cjk cli cracklib crypt cups cupsddk curl dbus dri dts dvd dvdr dvdread emboss encode esd evo exif fam ffmpeg firefox flac fortran gdbm ghostscript gif glitz gnutls gpm gtk hal iconv imlib ipv6 isdnlog jpeg lapack latex lcms ldap libnotify mad mdnsresponder-compat midi mikmod mmx mp3 mpeg mudflap multilib ncurses nls nodrm nptl nptlonly nvidia ocaml ogg opengl openmp pam pcre pdf perl plotutils png ppds pppd python qt3support quicktime readline reflection rtc samba sdl session smp spell spl srt sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vim-syntax vorbis x264 xml xorg xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB nl" USERLAND="GNU" VIDEO_CARDS="i810 nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 thewtex 2009-01-04 06:43:13 UTC
I did not see this problem on my amd64 gcc 4.3.2 reference cblas system, but I did see it on my x86 gcc-4.1.2 atlas cblas system.  However, I eselected the reference cblas and re-emerged scipy and it worked.  Here are the specs for the working x86

Python 2.5.2 (r252:60911, Sep 19 2008, 14:56:22) 
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.integrate
>>> 

$ eselect blas list
Installed BLAS for library directory lib
  [1]   atlas
  [2]   mkl-gfortran
  [3]   mkl-gfortran-threads
  [4]   reference *

$ eselect cblas list
Installed CBLAS for library directory lib
  [1]   atlas
  [2]   gsl
  [3]   mkl-gfortran
  [4]   mkl-gfortran-threads
  [5]   reference *

 $ eselect lapack list
Installed LAPACK for library directory lib
  [1]   atlas
  [2]   mkl-gfortran
  [3]   mkl-gfortran-threads
  [4]   reference *

# emerge --info
Portage 2.1.6.4 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r7 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r7-i686-Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-glibc2.0
Timestamp of tree: Fri, 02 Jan 2009 14:45:02 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"     
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"        
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo http://gentoo.cites.uiuc.edu/pub/gentoo/ "
LANG="en_US.UTF8"
LC_ALL="en_US.UTF8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/home/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/layman/desktop-effects /usr/local/layman/science /usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X Xaw3d aac acl acpi aim alsa audiofile bash-completion bcmath berkdb blas bluetooth branding bzip2 cairo cddb cdr cli cracklib crypt cups dbus dvd dvdr dvdread eds emboss encode evo examples exif fam ffmpeg fftw firefox flac fortran ftp gdbm gif glitz gphoto2 gpm graphviz gtk hal iconv imagemagick imap isdnlog jabber jack java javascript jbig jpeg jpeg2k kde lame lapack latex ldap libnotify libsamplerate mad midi mikmod mmx mp3 mpeg mplayer msn mudflap musicbrainz ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl plotutils png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl startup-notification svg symlink sysfs tcpd tetex tex theora tiff truetype unicode usb vcd videos vim-syntax vorbis win32codecs x264 x86 xcomposite xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Sumant Oemrawsingh 2009-01-04 17:43:57 UTC
(In reply to comment #2)
> I did not see this problem on my amd64 gcc 4.3.2 reference cblas system, but I
> did see it on my x86 gcc-4.1.2 atlas cblas system.  However, I eselected the
> reference cblas and re-emerged scipy and it worked.

That's weird, setting to reference and re-emerging scipy didn't work for me before, but works now.

If it works for reference, but not for atlas(-threads), does that mean that the bug is in atlas, i.e. should the bug be moved/reported to blas-atlas?
Comment 4 Sumant Oemrawsingh 2009-01-04 17:53:41 UTC
(In reply to comment #3)

Interesting; the failure only happens if blas/cblas was not set to reference at compile time. I did the following:

# eselect blas list
Installed BLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads
  [3]   reference *

# eselect cblas list
Installed CBLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads
  [3]   gsl
  [4]   reference *

# eselect lapack list
Installed LAPACK for library directory lib64
  [1]   atlas *

# emerge scipy
(...)

# python
Python 2.5.2 (r252:60911, Nov  4 2008, 00:21:57) 
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.integrate
>>>

# eselect blas set atlas-threads

# eselect cblas set atlas-threads

# eselect blas list
Installed BLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads *
  [3]   reference

# eselect cblas list
Installed CBLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads *
  [3]   gsl
  [4]   reference

# eselect lapack list
Installed LAPACK for library directory lib64
  [1]   atlas *

# python
Python 2.5.2 (r252:60911, Nov  4 2008, 00:21:57) 
[GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.integrate
>>>

Should the scipy ebuild maybe first set blas and cblas to reference before emerging and then restore the setting after emerging, or put a warning message before emerging?
Comment 5 thewtex 2009-01-05 19:07:27 UTC
(In reply to comment #4)
> (In reply to comment #3)
> 
> Interesting; the failure only happens if blas/cblas was not set to reference at
> compile time. I did the following:
> 
...
> 
> # eselect cblas set atlas-threads

Huh.  I did the same with atlas, and can confirm.

 
> 
> Should the scipy ebuild maybe first set blas and cblas to reference before
> emerging and then restore the setting after emerging, or put a warning message
> before emerging?
> 

I would agree.
Comment 6 Sébastien Fabbro (RETIRED) gentoo-dev 2009-01-15 12:41:22 UTC
It seems it was a missing dep on blas in the pkgconfig file. At least it did
for me. Let me know how it works with scipy-0.6.0-r6, and re-open if it persists.
Thanks.