Building things with setup.py

Robert Kern robert.kern at gmail.com
Fri Sep 22 00:13:36 EDT 2006


James Stroud wrote:
> I did build my own python 2.5, yesterday, requiring me to rebuild all 
> extensions.

Do other extensions build correctly? If so, it's beginning to look like a 
problem in numpy.distutils .

> Everything I do is compiled by hand as joe-user. I'm in a 
> situation where I can't do RPM (and I don't have root on my work machine 
> (theoretically ;-)) so, to be a good joe-user, everything I add goes 
> into the prefix:
> 
> $HOME/Programs
> 
> This is the listing from $HOME/Programs/lib/python2.5/config:
> 
> euler 6% ls
> total 4092
>     8 config.c       12 install-sh*       44 Makefile       8 python.o 
>     8 Setup.config
>     8 config.c.in  3960 libpython2.5.a    12 makesetup*    24 Setup 
>     8 Setup.local
> 
> The build process, by the way, required my copying libpython2.5.a to 
> $HOME/Programs/lib.

Hmm. That doesn't quite sound right, but it's been a while since I compiled the 
interpreter from source.

> The text files Setup.config and Setup.local do not seem to have terribly 
> specific information in them. Which file in particular should I inspect?

Makefile has most of that information. You can verify that distutils is finding 
it like so:

 >>> from distutils import sysconfig
 >>> sysconfig.get_makefile_filename()
'/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/config/Makefile'
 >>> d = sysconfig.parse_makefile(_)
 >>> import pprint
 >>> pprint.pprint(d)
{'AR': 'ar',
  ...
}

> I did not capture output from the build and I could not find a file with 
> the word "log" in it that appears to be a build log. The jist of the 
> problem is that first it can't find symbols from libpython2.5, then from 
>   libthread, etc. Then, it complains about no "MAIN__" when linking the 
> .so files with g77 and no "main" with gcc (which is curious), so I must 
> include the -shared flag, after including -llibrary type flags for all 
> of the libraries it doesn't know about.

What versions of gcc and g77 are you using?

> If its necessary, I can run setup.py build again and send the output to 
> a file and post that to scipy-dev if you think it might be helpful.

Yes, that is what I intended.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list