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

Bug 376771

Summary: sci-libs/scipy missing RDEPEND
Product: Gentoo Linux Reporter: Nicolas Bigaouette <nbigaouette>
Component: New packagesAssignee: Gentoo Science Related Packages <sci>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Nicolas Bigaouette 2011-07-28 15:54:46 UTC
On my two gentoo amd64 machines, my matplotlib/scipy script have never worked. Here is my backtrace:
Traceback (most recent call last):
  File "./post_processing/spectrum.py", line 60, in <module>
    import my_fft
  File "/home/nicolas/qfdtd.git/post_processing/my_fft.py", line 22, in <module>
    from scipy import interpolate
  File "/usr/lib64/python2.7/site-packages/scipy/interpolate/__init__.py", line 13, in <module>
    from rbf import Rbf
  File "/usr/lib64/python2.7/site-packages/scipy/interpolate/rbf.py", line 48, in <module>
    from scipy import linalg
  File "/usr/lib64/python2.7/site-packages/scipy/linalg/__init__.py", line 9, in <module>
    from basic import *
  File "/usr/lib64/python2.7/site-packages/scipy/linalg/basic.py", line 14, in <module>
    from lapack import get_lapack_funcs
  File "/usr/lib64/python2.7/site-packages/scipy/linalg/lapack.py", line 15, in <module>
    from scipy.linalg import clapack
ImportError: /usr/lib64/python2.7/site-packages/scipy/linalg/clapack.so: undefined symbol: clapack_sgesv

It fails when importing scipy.interpolate.

On one of the two machine, I tried emerging some packages that I though might have been a missing dependency. I tried clapack and atlas (atlas took ~3h to compile... I did it 2 or 3 times...) At some point it started working but I've been unable to identify the package that fixed it.

If this package is found, it should be added to scipy's dependency.

On the working machine, these are the packages that were installed trying to fix the problem (and eventually did):
sci-libs/blas-atlas-3.8.0
sci-libs/lapack-atlas-3.8.0
dev-libs/libf2c-20090407-r1
sci-libs/clapack-3.2.1-r4
sci-libs/scipy-0.9.0-r1

On the non-working one:
sci-libs/blas-atlas-3.8.0
sci-libs/lapack-atlas-3.8.0
dev-libs/libf2c-20090407-r1
sci-libs/clapack-3.2.1-r4
sci-libs/scipy-0.9.0-r1

Reproducible: Always




emerge --info
Portage 2.1.10.3 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.10.1-r1, 2.6.32-gentoo-r33-nb x86_64)
=================================================================
System uname: Linux-2.6.32-gentoo-r33-nb-x86_64-Intel-R-_Xeon-R-_CPU_E5520_@_2.27GHz-with-gentoo-2.0.2
Timestamp of tree: Wed, 20 Jul 2011 21:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.1_p9
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.68
sys-devel/automake:       1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.3.4, 4.4.5
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.2.10
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.10.1-r1
Repositories: gentoo science x-ebuilds-git
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O1 -pipe -march=core2 -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/spool/torque /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O1 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j28"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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="/var/lib/layman/science /home/nicolas/ebuilds.git"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib acl acpi amd64 apache2 bash-completion berkdb bzip2 cli cracklib crypt ctype cups curl cxx dbus dga dri fam ffmpeg fortran gdbm gif gpm gtk iconv ipv6 jpeg jpeg2k lcms mkl mlx4 mmx mmxext modules mudflap multilib mysql nas ncurses network nls nptl nptlonly nsplugin ogg openmp oss pam pcre perl png ppds pppd python quotas readline samba sasl session smp sndfile sql sqlite sse sse2 ssl svg sysfs syslog tcl tcpd threads tiff tk truetype unicode vorbis xcb xml xorg xv 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 proxy proxy_connect proxy_http rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="mga" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Nicolas Bigaouette 2011-07-28 16:19:04 UTC
clapack_sgesv is defined in sci-libs/lapack-atlas-3.8.0's liblapack.so:
nm /usr/lib/debug/usr/lib64/lapack/atlas/liblapack.so.0.0.0.debug | grep clapack_sgesv
00000000001088f8 T clapack_sgesv
Now why is scipy not seing it...
Comment 2 Nicolas Bigaouette 2011-07-28 17:36:15 UTC
To cite firefox: Hum, that's embarrassing...
I had to:
# eselect lapack set atlas
and re-emerge scipy to make it work.

Should scipy had detected that at build time? Maybe warn the user it should be built against atlas?
Comment 3 S├ębastien Fabbro (RETIRED) gentoo-dev 2011-07-28 21:50:00 UTC
you do not need clapack for scipy. clapack in sci-libs/clapack and sci-libs/lapack-atlas have different ABI/API.

only lapack-atlas exports the clapack_blah symbols. we need to confirm that in recent scipy versions, other modules do not depend on it. it used to be not the case.
Comment 4 S├ębastien Fabbro (RETIRED) gentoo-dev 2011-08-10 05:16:50 UTC

*** This bug has been marked as a duplicate of bug 371099 ***