Bug 197527 - sci-libs/scipy-0.6.0-r2: scipy.test(1) gives a segmentation fault with lapack-atlas
|
Bug#:
197527
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: sci@gentoo.org
|
Reported By: lars.bittrich@gmail.com
|
|
Component: Library
|
|
|
URL:
|
|
Summary: sci-libs/scipy-0.6.0-r2: scipy.test(1) gives a segmentation fault with lapack-atlas
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-10-30 15:24 0000
|
A part of scipy.linalg test produces a segmentation fault with lapack-atlas
(ATLAS-version: 3.8.0). In contrast to bug #195619 I use ATLAS instead of MKL.
That problem was not present with sci-libs/scipy-0.6.0-r1. So the reason has to
be the scipy-0.6.0-clapack-symbol-fix.patch.
Reproducible: Always
Steps to Reproduce:
python /usr/lib64/python2.4/site-packages/scipy/linalg/tests/test_matfuncs.py
Actual Results:
Found 7 tests for __main__
.Segmentation fault
Expected Results:
Found 7 tests for __main__
.Result may be inaccurate, approximate err = 1.52806136194e-08
...Result may be inaccurate, approximate err = 4.28420877755e-10
...
----------------------------------------------------------------------
Ran 7 tests in 0.028s
OK
emerge --info
Portage 2.1.3.16 (default-linux/amd64/2006.1, gcc-4.1.2, glibc-2.6.1-r0,
2.6.22-gentoo-r9 x86_64)
=================================================================
System uname: 2.6.22-gentoo-r9 x86_64 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
Timestamp of tree: Tue, 30 Oct 2007 11:50:01 +0000
ccache version 2.4 [enabled]
app-shells/bash: 3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python: 2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r1
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool: 1.5.24
virtual/os-headers: 2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild
/etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=nocona -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms
strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo
ftp://ftp.wh2.tu/dresden.de/pub/mirrors/gentoo"
LINGUAS="en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/science"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acpi alsa amd64 amr amrnb amrwb arts audiofile
automount avi bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo cdr cli
cracklib crypt cups d dbus disk-partition dri dvd dvdr dvdread encode exif
ffmpeg fftw firefox foomaticdb fortran gdbm gif gimp gimpprint glut gmp gpm
gstreamer hal iconv icq imagemagick imlib ipv6 isdnlog java javascript jbig
jpeg jpeg2k kde kdeenablefinal lapack lcms logitech-mouse midi mikmod mng mono
mp3 mp4 mp4live mpeg mpeg4 mpi mplayer mudflap ncurses nls nptl nptlonly
nsplugin ogg oggvorbis opengl openmp pam pcre pdf perl png pnp ppds pppd python
qt qt3 qt3support qt4 quicktime readline reflection samba scanner sdl session
spell spl srt sse3 ssl ssse3 tcltk tcpd tetex threads tiff tk truetype
truetype-fonts type1-fonts umfpack unicode urandom usb v4l v4l2 vorbis wavelan
wmf x264 xinerama xml xorg xprint xscreensaver xvid zlib"
ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare
dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw
multi null plug rate route share shm softvol" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="fglrx"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL,
LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Thanks for your note and I can confirm this problem
on my box. So it looks like that even though the clapack
patch allows to link against lapack reference the actual functions
that are being linked against are either broken or more likely
not the proper ones. The only remedy I see at present would
be to remove the patch and have scipy hard-depend against
blas-atlas (which has the proper symbols) and possibly mkl, acml.
I'll have to look into this some more.
Thanks,
Markus
(In reply to comment #1)
> Thanks for your note and I can confirm this problem
> on my box. So it looks like that even though the clapack
> patch allows to link against lapack reference the actual functions
> that are being linked against are either broken or more likely
> not the proper ones. The only remedy I see at present would
> be to remove the patch and have scipy hard-depend against
> blas-atlas (which has the proper symbols) and possibly mkl, acml.
> I'll have to look into this some more.
>
> Thanks,
> Markus
>
I had a little closer look and the clapack patch indeed seems to be
incorrect. It was intended to allow scipy to compile against
lapack-reference. However, the real issue is that scipy
needs clapack (an f2c'd version of lapack) which lapack-atlas provides
and lapack-reference doesn't. The clapack patch simply forces
scipy to link against the fortran symbols which - not too surprisingly -
causes trouble. Hence, it seems that unless the clapack part can
somehow be disabled in scipy itself we need lapack-atlas (or other
lapack implementations that provide clapack).
Does anybody with detailed scipy knowledge have any good suggestions?
Otherwise I'll probably have to bump scipy to -r3 with that patch
removed again.
cheers,
Markus
> I had a little closer look and the clapack patch indeed seems to be
> incorrect. It was intended to allow scipy to compile against
> lapack-reference. However, the real issue is that scipy
> needs clapack (an f2c'd version of lapack) which lapack-atlas provides
> and lapack-reference doesn't. The clapack patch simply forces
> scipy to link against the fortran symbols which - not too surprisingly -
> causes trouble. Hence, it seems that unless the clapack part can
> somehow be disabled in scipy itself we need lapack-atlas (or other
> lapack implementations that provide clapack).
> Does anybody with detailed scipy knowledge have any good suggestions?
> Otherwise I'll probably have to bump scipy to -r3 with that patch
> removed again.
If I remember, scipy auto-adapts the lapack version: if lapack only has F77
bindings, it will create the clapack ones, if not, as in the case of
lapack-atlas, it will use them. Removing the patch should fix the issue, but we
need to be careful to not reproduce bug #195619.
Sébastien