[SciPy-dev] Re: [SciPy-user] Install failure of SciPy

Pearu Peterson pearu at cens.ioc.ee
Fri Oct 18 16:44:15 CDT 2002


On Fri, 18 Oct 2002, Jeffrey B. Layton wrote:

> Good afternoon,
> 
>    After some suggestions Pearu made, I rebuilt gcc-3.1.1 in
> my home account. I found the g2c libs and linked them
> appropriately. I then downloaded the CVS version of Scipy
> and start building again. Unfortunately, I got another error,
> 
> ifc -shared build/temp.linux-i686-2.2/cephesmodule.o 
> build/temp.linux-i686-2.2/amos_wrappers.o 
> build/temp.linux-i686-2.2/specfun_wrappers.o 
> build/temp.linux-i686-2.2/toms_wrappers.o 
> build/temp.linux-i686-2.2/cdf_wrappers.o 
> build/temp.linux-i686-2.2/ufunc_extras.o -Lbuild/temp.linux-i686-2.2 
> -Lbuild/temp.linux-i686-2.2 
> -L/home/laytonj/local/gcc-3.1.1/lib/gcc-lib/i686-pc-linux-gnu/3.1.1 
> -lamos -ltoms -lc_misc -lcephes -lmach -lcdf -lspecfun -lg2c -o 
> build/lib.linux-i686-2.2/scipy/special/cephes.so
> /opt/intel/compiler60/ia32/lib/libF90.a(int8.o): In function `isnan':
> int8.o(.text+0x4c40): multiple definition of `isnan'
> build/temp.linux-i686-2.2/libcephes.a(isnan.o):/home/laytonj/TEMP/scipy/special/cephes/isnan.c:125: 
> first defined here
> ld: Warning: size of symbol `isnan' changed from 51 to 80 in 
> /opt/intel/compiler60/ia32/lib/libF90.a(int8.o)
> error: command 'ifc' failed with exit status 1
> 
> 
> I'm not sure the problem is, but I'll hazard to guess that
> isnan is being redefined.

I hope that after all the trouble, you'll not give up on SciPy, especially
when I have another bad news about the Intel compiler support.

First, to fix the above problem, insert the following line

#define isnan cephes_isnan

to files

  special/cephes/mconf_LE.h
  special/cephes/mconf_BE.h

and re-run the build command that should finish now successfully.

The bad news is that when running scipy tests, it will segfault after

.Testing ncf

in the stats module (I have tested it both on suse and debian with
Intel 5.0 compiler). All other tests from other modules seem to pass fine.

I am not sure yet what function, even what module exactly, is causing this
segfault, but it must be either stats or special (as stats uses special).
And both modules cannot be tested locally (special even doesn't have
working unittests) as they import scipy and that makes finding/fixing bugs
very time consuming and difficult. I also tried to remove the dependencies
of these modules on scipy but gave up on short term, the dependencies were
too deep and messy. On long term, I think these issues (the lack of
independence and unittests) really ought to be fixed. 

So, unless someone will figure out quickly the source of this segfault,
the Intel compiler remains unsupported. But I'll keep looking for the
solution ...

Until then, I'd suggest using g77 compiler for building scipy (see one of 
my previous mails how) and when we have fixed scipy for Intel compiler,
you can later simply rebuild scipy.

Sorry for inconvinience,
	Pearu





More information about the Scipy-dev mailing list