Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 197527 - sci-libs/scipy-0.6.0-r2: scipy.test(1) gives a segmentation fault with lapack-atlas
Summary: sci-libs/scipy-0.6.0-r2: scipy.test(1) gives a segmentation fault with lapack...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-30 15:24 UTC by Lars Bittrich
Modified: 2007-12-19 13:55 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Bittrich 2007-10-30 15:24:52 UTC
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
Comment 1 Markus Dittrich (RETIRED) gentoo-dev 2007-10-31 13:36:51 UTC
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
Comment 2 Markus Dittrich (RETIRED) gentoo-dev 2007-10-31 21:47:07 UTC
(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
Comment 3 Sébastien Fabbro (RETIRED) gentoo-dev 2007-11-03 08:53:47 UTC
> 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
Comment 4 Sébastien Fabbro (RETIRED) gentoo-dev 2007-12-19 13:55:27 UTC
patch reverted.