This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author christian.heimes
Recipients christian.heimes
Date 2021-11-23.22:35:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1637706922.21.0.951800087197.issue45886@roundup.psfhosted.org>
In-reply-to
Content
The build process creates the binary Program/_freeze_module, which is used to create frozen modules. The program takes a Python file, compiles it, and stores its marshalled output in a header file.

The approach does not work when cross compiling Python. In cross building case Program/_freeze_module cannot be executed on the build host. For example a cross build with build host "x86_64" and target host "aarch64" would create a aarch64 Program/_freeze_module. The current x86_64 host cannot executed binary (unless you use qemu and binfmt, which I'm deliberately ignoring here).

To unblock cross building and until we find a better solution, I propose that we allow developers to override the freeze module command on the command line. This allows developers to use a freeze_module program from a non-cross build:

   ../../configure -C --host=aarch64-linux-gnu-gcc --build=x86_64-pc-linux-gnu
   make FREEZE_MODULE=../x86_64/Program/_freeze_module
History
Date User Action Args
2021-11-23 22:35:22christian.heimessetrecipients: + christian.heimes
2021-11-23 22:35:22christian.heimessetmessageid: <1637706922.21.0.951800087197.issue45886@roundup.psfhosted.org>
2021-11-23 22:35:22christian.heimeslinkissue45886 messages
2021-11-23 22:35:22christian.heimescreate