[SciPy-user] scipy installation without root access

Alastair Basden a.g.basden at durham.ac.uk
Thu Feb 28 08:10:45 EST 2008


Hi Hoyt/David,
thanks for the replies...
the problem is that it installs fine without errors, but the special.kv 
function doesn't work, and since my code needs this, its a problem!

Does anyone have any idea how I could try to correct this?  From what I 
can gather, the function is in scipy/special/amos/zbesk.f

I have a feeling that amos_wrappers.c has something to do with it, as does 
_cephes.so, which is imported by basic.py (imported by init).

amos_wrappers seems to wrap the fortran to c.  _cephesmodule.c then seems 
to use this by calliny PyUFunc_FromFuncAndData.  

So I suspect the error is either in PyUFunc or in the fortran...

This uses cephes2cp_functions which are PyUFunc_ff_f_As_dD_D, etc.

Are there any known bugs in the ufunc interface that could be causing 
this? (see posts from a week or so ago for the problem with kv).

I actually now think there are further errors in kv, on all platforms that 
I've tried...
eg:
scipy.special.kv(6./5,1)
scipy.special.kv(6./5,0)
scipy.special.kv(6./5,0)
scipy.special.kv(6./5,[1,1,1])
scipy.special.kv(6./5,[1,0,0])
scipy.special.kv(6./5,[0,0,1])
For values with 0 in the 2nd arguement, I think they should raise a python 
error, or at least give some warning - however, they dont.

One thing that I notice is that when running kv(6./5,1) twice (on my 
attempted installation), the second time returns with a fortran error of 
IERR=2 (I inserted a print statement in amos_wrappers.c).  So this is 
definitely not the correct behaviour...

The failing is occuring at line 208 of zbesk.f:
if (AZ.LT.UFL) GO TO 180

Here, AZ is 1 as expected, but UFL==1200.  Not sure why this should be 
The line previous defines UFL as:
UFL = D1MACH(1)*1.0D+3
which means that D1MACH(1) is returning 1.2 - which I would think is 
blatantly wrong! (looking at the code, I would have expected it to 
return 2.22507386e-308).

Strange... the only thing that I can think of is that the static variable 
small(2) is being overwritten elsewhere... maybe its a fortran compiler 
issue.

Thanks...



More information about the SciPy-User mailing list