building a linux executable

Prateek surekap at
Wed Oct 24 12:55:16 CEST 2007


I'm trying to package my python program into a linux executable using
cx_freeze. The goal is that the user should require python on their

I've managed to make the binaries on Fedora Core 6 and they run fine.
However, when I move to Ubuntu (tested on Ubuntu Server 7.04 and
xUbuntu Desktop 7.04), the program fails to run with the following

ImportError: no module named _md5

_md5 being imported by the hashlib module because the import of failed.

When I try to import the _hashlib module manually, I see that it
cannot find (The _hashlib module in the standard python
installation which came with Ubuntu works just fine). If I manually
copy the file from FC6 (its really a symlink pointing to to Ubuntu and make the symlink in /lib, it works
fine (the next error is related to libcrypto, libxslt and libjpeg (i'm
also using libxml, libxsl and PIL in my application).

I've scoured the net and it seems that is dynamically
linked to libssl which is not being "integrated" into the build by
cx_Freeze. Similarly, there are other files with the same problem.

Does anyone have any idea how to make cx_Freeze make a linux
executable which is portable across *nix distros?

Thanks in advance,
-Prateek Sureka

More information about the Python-list mailing list