Simple question about freeze

"Martin v. Löwis" martin at v.loewis.de
Fri Feb 17 16:49:32 EST 2006


mrstephengross wrote:
> I want to make sure that my native executable is entirely standalone.
> That is, it should have no dynamic linking. I've read through a number
> of posts on the subject, and think I get it. In order to make this
> work, I need to do two things:
> 
> (1) Recompile libpythonXXX.a so that the required modules are indeed
> compiled into the archive.
> (2) Modify the freeze-generated Makefile to force gcc to use static
> linking and to use my custom-built libpythonXXX.a in linking together
> the native executable.
> 
> My question is: is it sufficient to carry out the above steps? 

No. You also need to provide static versions of all system libraries.
E.g. if you include _tkinter in your binary, you need static Tcl
libraries, plus, on Unix, static X11 libraries, plus a static C
library; if you include a bsddb module, you need a static bsddb library,
and so on.

> Freeze
> is designed to use the version of python installed on the host system,
> *not* a custom build in a different directory. If freeze looks to the
> system's default installation, but I've modified the makefile to use my
> custom-built libpython.a, will that cause problems? My sense is that it
> will not, but I want to make sure I think things through. Any thoughts?

I don't see a problem with that.

Regards,
Martin



More information about the Python-list mailing list