Files
meta-openembedded/meta-python
Gyorgy Sarvari b66b1eb9f6 python3-pandas: compile against target version of numpy
python3-numpy headers are required by pandas to compile successfully.
By default, this recipe used python3-numpy-native for compilation,
which usually works. However in case the bitness of the build-host
differs from the target, then problems arise.

For example when compiling for 32-bit ARM on a x86-64 machine, the following
error appears when trying to import the module:

ValueError: Buffer dtype mismatch, expected 'const int64_t' but got 'long long'

When running a diff on all numpy headers across native and target,
only one header differs, _numpyconfig.h, in a significant way.
This header defines the sizes of different datatypes used by numpy,
and these sizes strongly depend on the arch bitness.

This change switches from python3-numpy-native dependency to python3-numpy to
ensure that the correct headers are used. Beside this also patch the meson script,
so it accepts an option (numpy_inc_dir) to specify the location of these headers,
since it is not able to query them from the class-target module

The PYTHONPATH variable is extended with the target's RECIPE_SYSROOT, because
numpy is specified as a dependency in meson, and it needs to find the module
to continue successfully.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-10 09:41:56 -07:00
..

meta-python

Introduction

This layer is intended to be the home of python modules for OpenEmbedded.

Dependencies

The meta-python layer depends on:

URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master

URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
branch: master

Contributing

The meta-openembedded mailinglist (openembedded-devel@lists.openembedded.org) is used for questions, comments and patch review. It is subscriber only, so please register before posting.

Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-python]' in the subject.

When sending single patches, please use something like: git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix='meta-python][PATCH'

Maintenance

Layer maintainers: Tim "moto-timo" Orling TicoTimo@gmail.com Derek Straka derek@asterius.io