Commit Graph

4 Commits

Author SHA1 Message Date
Richard Purdie
e16e725fb5 Revert "python3-numpy: upgrade 2.1.3 -> 2.2.0"
This reverts commit ff93068be3dd1993675dd016fd6b5e98ccb262bf.

Sadly this upgrade does pass reproducible build tests:
http://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241217-q6urkm0e/packages/diff-html/

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-17 11:53:15 +00:00
Trevor Gamblin
48b0c58b34 python3-numpy: upgrade 2.1.3 -> 2.2.0
Patch '0001-numpy-core-Define-RISCV-32-support.patch' is included in
v2.2.0, so remove it from the SRC_URI list:

|tgamblin@megalith ~/workspace/git/pythonsrc/numpy (main)$ git tag --contains 0e2b652a0eff85798584116c905a2d6ad8f25d5f
|v2.2.0

Changelog: https://github.com/numpy/numpy/releases/tag/v2.2.0

Build log:

|BUILDALL-QEMU LOG FOR python3-numpy
|START TIME: 2024-12-13_16:55:19
|HOSTNAME: megalith
|HOST OS: Debian GNU/Linux 12 (bookworm)
|HOST KERNEL: 6.1.0-28-amd64
|===============
|BUILD RESULTS:
|[glibc]
|FAIL: qemuloongarch64
|PASS: qemuriscv32
|PASS: qemuarmv5
|PASS: qemuppc
|PASS: qemumips64
|PASS: qemuriscv64
|PASS: qemuarm64
|PASS: qemuarm
|PASS: qemux86-64
|PASS: qemuppc64
|PASS: qemux86
|PASS: qemumips
|[musl]
|FAIL: qemuloongarch64
|FAIL: qemuriscv32
|PASS: qemuarmv5
|PASS: qemuppc
|PASS: qemumips64
|PASS: qemuriscv64
|PASS: qemuarm64
|PASS: qemuarm
|PASS: qemux86-64
|PASS: qemuppc64
|PASS: qemux86
|PASS: qemumips
|===============
|PASSED: 21
|FAILED: 3

(From OE-Core rev: ff93068be3dd1993675dd016fd6b5e98ccb262bf)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-17 11:41:53 +00:00
Trevor Gamblin
0b62506411 python3-numpy: inherit pkgconfig
This was supposed to be added in oe-core commit fd656aaf7fbe
("python3-numpy: upgrade 1.26.4 -> 2.1.3"), but it somehow got missed in
the final version of that patch. Add it now to fix possible do_compile
errors on some systems, due to host paths sneaking into the meson build
options, e.g.:

| Build machine cpu family: x86_64
| Build machine cpu: x86_64
| Host machine cpu family: x86_64
| Host machine cpu: x86_64
| Target machine cpu family: x86_64
| Target machine cpu: x86_64
| Program python3 found: YES (/home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux-musl/python3-numpy/2.1.3/recipe-sysroot-native/usr/bin/nativepython3)
| Did not find pkg-config by name 'pkg-config'
| Found pkg-config: NO
| Run-time dependency python found: NO (tried pkgconfig, pkgconfig and sysconfig)
|
| ../numpy-2.1.3/meson.build:41:12: ERROR: Python dependency not found
|
| A full log can be found at /home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux-musl/python3-numpy/2.1.3/build/meson-logs/meson-log.txt

and notably (meson-log.txt snippet):

|x86_64-poky-linux-musl-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/media/build/poky/build/tmp/work/core2-64-poky-linux-musl/python3-numpy/2.1.3/recipe-sysroot -I/media/build/poky/build/tmp/work/core2-64-poky-linux-musl/python3-numpy/2.1.3/recipe-sysroot/usr/include/python3.13 -I/usr/include/python3.13

A bug has been filed about this and the related gcc issue: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15672

With pkgconfig on the inherit line, all include directives in
meson-log.txt end up looking something like:

|-I/home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux-musl/python3-numpy/2.1.3/recipe-sysroot/usr/include/python3.13

(From OE-Core rev: b8503a2c5000262a400375321de75161357111fb)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-28 00:07:30 +00:00
Trevor Gamblin
ea8594d4a0 python3-numpy: upgrade 1.26.4 -> 2.1.3
- This release contains numerous API changes and bug fixes.
  Changelog: https://github.com/numpy/numpy/releases

- Notably, the build backend has switched to mesonpy since 1.26.4.

- Patch 0001-numpy-core-Define-RISCV-32-support.patch had to be updated
  to change the paths for the target files. It has now been merged
  upstream, but isn't included in any release yet. PR for reference:

  https://github.com/numpy/numpy/pull/17780

- Builds OK and seems to be compatible with current piglit and pandas
  (meta-python), which was not the case for the previous upgrade attempt
  to numpy 2.0.1.

- For numpy, add 'pkgconfig' to inherit to avoid errors like this at
  do_compile:

  | Found Pkg-config: NO
  | Run-time dependency python found: YES 3.12
  | Has header "Python.h" with dependency python: NO
  |
  | ../numpy-2.0.0/meson.build:44:2: ERROR: Problem encountered: Cannot compile `Python.h`. Perhaps you need to install python-dev|python-devel
  |
  | A full log can be found at /home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux/python3-numpy/2.0.0/build/meson-logs/meson-log.txt

- Mmodify the FILES:${PN}-staticdev line to fix a QA issue.

- This is now reproducible as of oe-core commit: 917df5ed022f

License-Update: Change copyright year to 2024

buildall-qemu log:

BUILDALL-QEMU LOG FOR python3-numpy
START TIME: 2024-11-20_14:02:08
HOSTNAME: megalith
HOST OS: Debian GNU/Linux 12 (bookworm)
HOST KERNEL: 6.1.0-27-amd64
===============
BUILD RESULTS:
[glibc]
FAIL: qemuloongarch64
PASS: qemuriscv32
PASS: qemuarmv5
PASS: qemuppc
PASS: qemumips64
PASS: qemuriscv64
PASS: qemuarm64
PASS: qemuarm
PASS: qemux86-64
PASS: qemuppc64
PASS: qemux86
PASS: qemumips
[musl]
FAIL: qemuloongarch64
FAIL: qemuriscv32
PASS: qemuarmv5
PASS: qemuppc
PASS: qemumips64
PASS: qemuriscv64
PASS: qemuarm64
PASS: qemuarm
PASS: qemux86-64
PASS: qemuppc64
PASS: qemux86
PASS: qemumips
===============
PASSED: 21
FAILED: 3

(From OE-Core rev: fd656aaf7fbed3115e3b4251ff76257ee8f19c82)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-22 16:58:40 +00:00