[SciPy-user] Error building statlib.so

Bob Ippolito bob at redivi.com
Sat Mar 13 10:41:49 EST 2004


On Mar 13, 2004, at 9:49 AM, Pearu Peterson wrote:

>
>
> On Fri, 12 Mar 2004, Christopher Fonnesbeck wrote:
>
>> For some reason, stats/statlib refuses to build for me anymore. I did
>> not make any changes to this file, yet on the last few build attempts  
>> I
>> get the error below, which is obviously related to not seeing the
>> python framework. However, I have the updated gnufcompiler.py, which
>> contains the following for OSX:
>>
>> opt.extend(["-Wl,-framework","-Wl,Python","-lcc_dynamic","-bundle"])
>>
>> So, I'm completely at a loss as to why these do not get appended to  
>> the
>> compile options.
>>
>> Any ideas?
>
> Acctually, the latest CVS version of gnufcompiler.py contains
>
>           if sys.platform=='darwin':
>              if sys.executable.startswith('/usr/bin'):
>                  # This is when Python is from Apple framework
>                  opt.extend(["-Wl,-framework","-Wl,Python"])
>              #else we are running in Fink python.
>              opt.extend(["-lcc_dynamic","-bundle"])
>           else:
>              ...
>
> which means that in your case Python is assumed to be Fink Python but
> obviously (?) you are using Apple Python that is just installed to
> nonstandard (?) location.
> Could you guys and girls running on OSX find out what is the most  
> robust
> way to determine that Python is either of Apple or Fink one? May be
> sys.version should be used instead of sys.executable for that?

It's possible that sys.executable could also start with /System if you  
use a pythonw shell script.

[crack:~/src/stackless/Stackless] bob% pythonw -c "import sys; print  
sys.executable"
/System/Library/Frameworks/Python.framework/Versions/2.3/Resources/ 
Python.app/Contents/MacOS/Python

[crack:~/src/stackless/Stackless] bob% python -c "import sys; print  
sys.executable"
/usr/bin/python

[crack:~/src/stackless/Stackless] bob% python -c "import sys,os; print  
os.path.realpath(sys.executable)"
/System/Library/Frameworks/Python.framework/Versions/2.3/bin/python

I guess it should be changed to  
os.path.realpath(sys.executable).startswith('/System')

-bob




More information about the SciPy-User mailing list