[SciPy-dev] segfault in scipy.test()

Skip Montanaro skip at pobox.com
Tue Oct 1 09:08:52 CDT 2002


Does this traceback seem familiar to anyone?

    Program received signal SIGSEGV, Segmentation fault.
    0xfde47060 in copy_ND_array ()
       from /home/skip/tmp/sun_cc/2.2/lib/python2.2/site-packages/scipy/linalg/_flinalg.so
    (gdb) bt
    #0  0xfde47060 in copy_ND_array ()
       from /home/skip/tmp/sun_cc/2.2/lib/python2.2/site-packages/scipy/linalg/_flinalg.so
    #1  0xfde468c4 in array_from_pyobj ()
       from /home/skip/tmp/sun_cc/2.2/lib/python2.2/site-packages/scipy/linalg/_flinalg.so
    #2  0xfde478d4 in f2py_rout__flinalg_ddet_r ()
       from /home/skip/tmp/sun_cc/2.2/lib/python2.2/site-packages/scipy/linalg/_flinalg.so
    ... (rest of call stack is Python "call this, eval that" stuff) ...

Here's what I have to go on at the moment.  The build environment is Solaris
8 using Sun's Forte v7 compilers.

The module was build using these commands:

    mycc -DNDEBUG -O
        -I/home/skip/tmp/sun_cc/2.2/lib/python2.2/site-packages/f2py2e/src \
        -I/home/skip/tmp/sun_cc/2.2/include/python2.2 -c \
        build/temp.solaris-2.8-sun4u-2.2/_flinalgmodule.c -o \
        build/temp.solaris-2.8-sun4u-2.2/_flinalgmodule.o 

    f77 build/temp.solaris-2.8-sun4u-2.2/fortranobject.o \
        build/temp.solaris-2.8-sun4u-2.2/_flinalgmodule.o \
        -L/home/skip/local/SunOS/lib/atlas -L/usr/lib \
        -Lbuild/temp.solaris-2.8-sun4u-2.2 \
        -Lbuild/temp.solaris-2.8-sun4u-2.2 \
        -Lbuild/temp.solaris-2.8-sun4u-2.2 \
        -Lbuild/temp.solaris-2.8-sun4u-2.2 -L/usr/local/ssl/lib \
        -L/home/skip/local/SunOS/lib -L/usr/local/ssl/7.0/lib \
        -R/usr/local/ssl/lib -R/home/skip/local/SunOS/lib \
        -R/usr/local/ssl/7.0/lib -l_flinalg -lfblas -llapack -lblas -lfsu \
        -lF77 -lM77 -lsunmath -lmvec -lf77compat -lm -o \
        build/lib.solaris-2.8-sun4u-2.2/scipy/linalg/_flinalg.so -Bdynamic \
        -G

"mycc" is a shell script which selects between C or C++ compilers based on
its command line arguments.  Anyone know how to get rid of the "-L/usr/lib"?
It almost certainly shouldn't be there.

'ldd' shows these library dependencies:

    $ ldd ./2.2/lib/python2.2/site-packages/scipy/linalg/_flinalg.so
            libfsu.so.1 =>   /opt/SUNWspro/lib/libfsu.so.1
            libF77.so.2 =>   /opt/SUNWspro/lib/libF77.so.2
            libM77.so.2 =>   /opt/SUNWspro/lib/libM77.so.2
            libsunmath.so.1 =>       /opt/SUNWspro/lib/libsunmath.so.1
            libf77compat.so.1 =>     /opt/SUNWspro/lib/libf77compat.so.1
            libm.so.1 =>     /usr/lib/libm.so.1
            libc.so.1 =>     /usr/lib/libc.so.1
            libdl.so.1 =>    /usr/lib/libdl.so.1
            /usr/platform/SUNW,Ultra-2/lib/libc_psr.so.1

I will try building with debug symbols to see if it gives me any more useful
information.

Thx,

Skip



More information about the Scipy-dev mailing list