mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-09 17:03:35 -09:00
b45400dad416d174459ccafc1ec223b984434a5b
Since the bump to Python 3.13.2 in commitd63e207eb8, there is a runtime assertion in Python when the toolchain doesn't support time64 [1]. The only such toolchain is one with uClibc and linux headers < 5.1. Encoding this dependency in Config.in was deemed to complicated (cfr. commitffd0028031). Instead, do a build-time check of the same condition. The check itself is a bit complicated, but it is localized to python3.mk and doesn't need to be propagated to all reverse dependencies. Testing such a corner case toolchain is a bit complicated. It can be done with the following configuration. BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2018.02-1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_PACKAGE_PYTHON3=y It needs to be built in an environment that has libmpfr.so.4 installed as the pre-built toolchain from that era did not include it. An easy way to achieve this is to build this configuration under an old Buildroot Docker container: IMAGE=buildroot/base:20180205.0730 ./utils/docker-run make python3 With a build-time check, the autobuilders could get build failures when generating such a config. However, the autobuilders cannot use a toolchain with this configuration (they only use more recent toolchains). Therefore, no update to genrandconfig is needed. [1] https://gitlab.com/buildroot.org/buildroot/-/issues/95#note_2348479811 Cc: Vincent Fazio <vfazio@xes-inc.com> Cc: James Hilliard <james.hilliard1@gmail.com> Signed-off-by: Arnout Vandecappelle <arnout@rnout.be> Signed-off-by: Julien Olivain <ju.o@free.fr>
…
…
…
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches
Description
Languages
Makefile
62.6%
Python
18.8%
C
8.5%
Shell
6.1%
PHP
1.4%
Other
2.2%