Files
buildroot/package
Arnout Vandecappelle b45400dad4 package/python3: do build-time detection of non-working toolchain
Since the bump to Python 3.13.2 in commit
d63e207eb8, 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.
commit ffd0028031).

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>
2025-09-07 17:47:23 +02:00
..
…
…
…
2025-08-06 14:57:07 +02:00
…
2025-04-07 19:47:47 +02:00
2025-05-16 16:42:22 +02:00
…
…
…
…
…
…
…
2025-08-16 23:05:24 +02:00
…
2025-09-04 18:10:48 +02:00
…
2025-04-25 18:14:28 +02:00
…
…
…
…
2025-03-31 21:38:25 +02:00
…
…
…
…
2025-07-25 23:43:04 +02:00
2025-07-02 21:27:35 +02:00
2025-05-07 19:25:58 +02:00
…
…
2025-07-15 23:50:31 +02:00
…
…
…
…
2025-07-01 23:39:58 +02:00
…
…
2025-04-19 17:02:18 +02:00
2025-06-12 09:59:11 +02:00
2025-06-15 13:40:19 +02:00
…
2025-08-24 16:14:50 +02:00
…
…
2025-08-19 17:19:14 +02:00
…
2025-08-03 17:40:00 +02:00
…
…
…
…
…
…
2025-04-21 16:24:44 +02:00
2025-05-12 17:26:43 +02:00
…
…
…
…
…
2025-06-06 19:22:38 +02:00
…
…
2025-07-03 22:49:44 +02:00
…
…
…
…
2025-07-09 20:53:15 +02:00
…
2025-08-04 22:11:23 +02:00
…
2025-08-29 20:45:53 +02:00
…
2025-05-19 19:09:24 +02:00
2025-08-23 18:50:11 +02:00
2025-06-19 20:43:46 +02:00
2025-05-20 19:12:40 +02:00
…
…
2025-07-03 19:06:04 +02:00
2025-05-18 23:06:43 +02:00
…
2025-05-20 19:12:40 +02:00
…
…
…
…
2025-07-30 01:24:18 +02:00
2025-04-15 22:22:02 +02:00
…
…
2025-08-10 17:17:05 +02:00
2025-05-07 18:23:43 +02:00
…
2025-09-03 18:17:49 +02:00
…
…
…
…
…
…
…
…
2025-06-17 20:58:31 +02:00
…
…
…
2025-08-16 22:55:10 +02:00
2025-05-16 13:54:02 +02:00
2025-08-21 23:20:44 +02:00
2025-04-09 21:42:12 +02:00
2025-07-09 21:16:26 +02:00
2025-04-28 22:21:58 +02:00
2025-03-30 22:21:22 +02:00
2025-03-30 11:09:55 +02:00
…
…
2025-03-22 12:34:21 +01:00
…
…
…
2025-06-15 22:44:17 +02:00
…
…
…
…
…
…
…
…
…
2025-05-17 09:28:58 +02:00
…
…
2025-03-24 20:52:58 +01:00
…
…
…
…
2025-06-12 09:59:11 +02:00
…
…
…
…
2025-08-09 16:08:51 +02:00
…
…
2025-06-23 22:06:46 +02:00
…
…
2025-05-17 09:07:31 +02:00
…
2025-06-25 19:11:40 +02:00
…
…
2025-06-15 12:38:03 +02:00
…
…
2025-04-21 16:24:55 +02:00
2025-07-12 13:06:38 +02:00
…
…
…
2025-06-04 20:15:14 +02:00
2025-05-19 19:13:17 +02:00
…
…
…
…
2025-05-12 21:51:18 +02:00
…
…
…
…
…
2025-07-04 23:14:08 +02:00
2025-07-29 00:54:41 +02:00
…
…
…
…
2025-08-03 17:06:10 +02:00
…
…
…
2025-03-18 21:53:24 +01:00
2025-07-06 17:25:20 +02:00
…
…
…
…
…
…
2025-08-28 22:15:31 +02:00
…
…
2025-06-18 22:07:48 +02:00
…
…
2025-05-05 23:18:24 +02:00
2025-07-15 23:50:31 +02:00
2025-07-30 01:39:45 +02:00
…
…
2025-07-07 22:27:51 +02:00
…
…
…
2025-07-20 16:37:24 +02:00
…
2025-07-03 22:41:25 +02:00
2025-06-12 09:59:11 +02:00
2025-08-31 16:58:49 +02:00
…
…
…
2025-04-14 20:15:46 +02:00
2025-06-26 23:09:53 +02:00
…
…
…
…
2025-04-21 16:25:41 +02:00
…
…
2025-08-09 22:51:29 +02:00
…
…
2025-04-19 23:41:08 +02:00
2025-07-06 13:16:56 +02:00
2025-05-31 12:36:01 +02:00
…
2025-07-25 19:33:09 +02:00
…
…
…
…
…
…
…
…
2025-08-07 03:02:51 +02:00
…
2025-08-29 19:35:34 +02:00
…
…
2025-06-16 22:13:47 +02:00
…
…
…
2025-06-28 23:10:12 +02:00
…
…
…
…
2025-05-16 10:55:25 +02:00
…
…
…
2025-03-24 21:00:42 +01:00
2025-07-24 21:28:05 +02:00
2025-03-31 21:48:05 +02:00
…
…
2025-06-20 18:36:02 +02:00
2025-05-07 10:36:54 +02:00
…
…
2025-03-18 21:55:39 +01:00
…
2025-07-06 17:46:48 +02:00
…
…
…
2025-09-03 19:47:24 +02:00