statically linked python

Ralph Butler rbutler at mtsu.edu
Sat Jun 17 22:32:11 EDT 2006


Serge Orlov wrote:
> Ralph Butler wrote:
>> Hi:
>>
>> I have searched the docs and google but have not totally figured
>> out how to accomplish my task:  On a linux box, I want to compile
>> and link python so that it uses no shared libraries, but does support
>> import of some "extra" modules.  I have made a few attempts but
>> with limited success.  In particular, I have tried things like
>> adding -static to the compiler options in the Makefile.
>>
>> At one point I managed to build a python that was close to what I
>> wanted, e.g. when I ran "ldd python", it said:
>>      not a dynamic executable
>> In that version, when I do some imports, e.g. sys, os, etc. they
>> load fine.  But, when I try to import some other modules, e.g. time,
>> they are not found.  I have tried similar procedures while also
>> altering Modules/Setup.local (produced by configure) to contain:
>>      time timemodule.c # -lm # time operations and variables
>>
>> There has to be a simple, "elegant" way to accomplish this which I am
>> simply overlooking.  Any help would be appreciated.
> 
> This has nothing to do with python. glibc doesn't support loading
> shared libraries into statically linked executables. At least it didn't
> support in 2002:
> http://www.cygwin.com/ml/libc-alpha/2002-06/msg00079.html
> Since it still doesn't work most likely it is still not supported, but
> you may ask glibc developers what is the problem.
> 

I do not want to load them.  I want to statically link the code for a
module (e.g. time) directly into the statically linked executable. 
Sorry if that was not clear.



More information about the Python-list mailing list