pandas-dev / pandas

Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
https://pandas.pydata.org
BSD 3-Clause "New" or "Revised" License
43.7k stars 17.92k forks source link

BUILD: cross-compiling issue using crossenv #57945

Closed th0ma7 closed 7 months ago

th0ma7 commented 7 months ago

Installation check

Platform

Synology toolchain for any (x64, armv7, aarch64, ppc)

Installation Method

Built from source

pandas Version

2.0.3 and 2.2.1

Python Version

3.11.8

Installation Logs

Requirement already satisfied: pybind11==2.11.1 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages (2.11.1) Requirement already satisfied: expandvars==0.12.0 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages (0.12.0) Requirement already satisfied: python-dateutil==2.9.0.post0 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages (2.9.0.post0) Requirement already satisfied: pytz==2024.1 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages (2024.1) Collecting tzdata==2024.1 Downloading tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB) Requirement already satisfied: six>=1.5 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages (from python-dateutil==2.9.0.post0) (1.16.0) Downloading tzdata-2024.1-py2.py3-none-any.whl (345 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 345.4/345.4 kB 3.9 MB/s eta 0:00:00 Installing collected packages: tzdata Successfully installed tzdata-2024.1 Requirement already satisfied: pybind11==2.11.1 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/lib/python3.11/site-packages (2.11.1) Requirement already satisfied: expandvars==0.12.0 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/lib/python3.11/site-packages (0.12.0) Requirement already satisfied: python-dateutil==2.9.0.post0 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/lib/python3.11/site-packages (2.9.0.post0) Requirement already satisfied: pytz==2024.1 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/lib/python3.11/site-packages (2024.1) Collecting tzdata==2024.1 Using cached tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB) Requirement already satisfied: six>=1.5 in /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/lib/python3.11/site-packages (from python-dateutil==2.9.0.post0) (1.16.0) Using cached tzdata-2024.1-py2.py3-none-any.whl (345 kB) Installing collected packages: tzdata Successfully installed tzdata-2024.1 ===> Processing wheels of homeassistant ===> Downloading wheels from src/requirements-abi3.txt ... ===> pip download [pycryptodome], version [3.18.0] INFO: File already exists [pycryptodome-3.18.0.tar.gz] ===> pip download [pycryptodomex], version [3.18.0] INFO: File already exists [pycryptodomex-3.18.0.tar.gz] ===> Downloading wheels from src/requirements-crossenv.txt ... ===> pip download [pandas], version [2.2.1] INFO: File already exists [pandas-2.2.1.tar.gz] ===> pip download [webrtcvad], version [2.0.10], URL: [git+https://github.com/wiseman/py-webrtcvad@3bd761332a9404f5c9276105070ee814c4428342#egg=webrtcvad==2.0.10] WARNING: Skipping download URL - Downloaded at build time ===> Adding existing src/requirements-abi3.txt file as ABI-limited ===> Adding existing src/requirements-crossenv.txt file as cross-compiled (discarding any pure-python) ===> Adding existing src/requirements-pure.txt file as pure-python (discarding any cross-compiled) ===> Cross-compiling wheels ===> Python crossenv found: [/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/bin/activate] ===> pip crossenv found: [/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/pip] ===> [pandas] --config-settings=editable-verbose=true make[3]: Entering directory '/home/spksrc/py311-update/spksrc/spk/homeassistant' ===> _PYTHON_HOST_PLATFORM=x86_64-pc-linux-gnu /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/pip wheel --disable-pip-version-check --no-binary :all: --find-links /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip --cache-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/pip --no-deps --wheel-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/wheelhouse --no-index --config-settings=editable-verbose=true --no-build-isolation pandas==2.2.1 Looking in links: /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip Processing /home/spksrc/py311-update/spksrc/distrib/pip/pandas-2.2.1.tar.gz Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' ERROR: Exception: Traceback (most recent call last): File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper status = run_func(*args) ^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper return func(self, options, args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/commands/wheel.py", line 147, in run requirement_set = resolver.resolve(reqs, check_supported_wheels=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve result = self._result = resolver.resolve( ^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve self._add_to_criteria(self.state.criteria, r, parent=None) File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria if not criterion.candidates: File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__ return bool(self._sequence) ^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ return any(self) ^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in return (c for c in iterator if id(c) not in self._incompatible_ids) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built candidate = func() ^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link base: Optional[BaseCandidate] = self._make_base_candidate_from_link( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link self._link_candidate_cache[link] = LinkCandidate( ^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ super().__init__( File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ self.dist = self._prepare() ^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare dist = self._prepare_distribution() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement return self._prepare_linked_requirement(req, parallel_builds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement dist = _get_prepared_distribution( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution abstract_dist.prepare_distribution_metadata( File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata self.req.prepare_metadata() File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 579, in prepare_metadata self.metadata_directory = generate_metadata( ^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 766, in prepare_metadata_for_build_wheel return super().prepare_metadata_for_build_wheel( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel return self._call_hook('prepare_metadata_for_build_wheel', { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook raise BackendUnavailable(data.get('traceback', '')) pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last): File "/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/build/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/spksrc/py311-update/spksrc/native/python311/work-native/install/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1140, in _find_and_load_unlocked ModuleNotFoundError: No module named 'mesonpy' make[3]: *** [../../mk/spksrc.wheel.mk:203: cross-compile-wheel-pandas] Error 2 make[3]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant' make[2]: *** [../../mk/spksrc.wheel.mk:144: build_wheel_target] Error 1 make[2]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant' make[1]: *** [../../mk/spksrc.spk.mk:719: build-arch-x64-7.1] Error 1 make[1]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant' make: *** [../../mk/spksrc.spk.mk:713: arch-x64-7.1] Error 2
th0ma7 commented 7 months ago

Associated PR (although code is in my local tree) https://github.com/SynoCommunity/spksrc/pull/6040

lithomas1 commented 7 months ago

Can you provide your build command?

Looking at the error, you are missing the meson/meson-python dependencies.

th0ma7 commented 7 months ago

Indeed it was missing, thnx now added:

make[3]: Entering directory '/home/spksrc/py311-update/spksrc/spk/homeassistant'
===>  _PYTHON_HOST_PLATFORM=x86_64-pc-linux-gnu /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/pip wheel --disable-pip-version-check --no-binary :all: --find-links /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip --cache-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/pip --no-deps --wheel-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/wheelhouse --no-index --no-clean --config-settings=editable-verbose=true --no-build-isolation pandas==2.2.1
Looking in links: /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip
Processing /home/spksrc/py311-update/spksrc/distrib/pip/pandas-2.2.1.tar.gz
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [10 lines of output]
      + meson setup /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9 /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9/.mesonpy-y9035jpi -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9/.mesonpy-y9035jpi/meson-python-native-file.ini
      The Meson build system
      Version: 1.4.0
      Source dir: /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9
      Build dir: /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9/.mesonpy-y9035jpi
      Build type: native build

      ../meson.build:5:13: ERROR: Command `/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/python /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9/generate_version.py --print` failed with status 1.

      A full log can be found at /tmp/pip-wheel-8eh27d9c/pandas_598e5b7c95ba46e28cbfac20f70c52d9/.mesonpy-y9035jpi/meson-logs/meson-log.txt
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

So from here I now added --no-clean to pip but still the meson-log.txt gets deleted. Actually the whole .meson-* is deleted from the temporary folder. Any arguments I can pass at pip build time so meson's files do not get deleted?

th0ma7 commented 7 months ago

I was able to keep the log file by setting-up the build directory: --config-settings=builddir=build

Build started at 2024-03-23T13:48:57.608601
Main binary: /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/python
Build Options: -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md -Dvsenv=True --cross-file=/home/spksrc/py311-update/
spksrc/spk/homeassistant/work-x64-7.1/tc_vars.meson --native-file=/tmp/pip-wheel-s1xttpye/pandas_2f0e7fd58d5b45ebaf8fb7d83
edf1917/build/meson-python-native-file.ini
Python system: Linux
The Meson build system
Version: 1.4.0
Source dir: /tmp/pip-wheel-s1xttpye/pandas_2f0e7fd58d5b45ebaf8fb7d83edf1917
Build dir: /tmp/pip-wheel-s1xttpye/pandas_2f0e7fd58d5b45ebaf8fb7d83edf1917/build
Build type: cross build
Running command: /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/python /tmp/pip-wheel-s1xt
tpye/pandas_2f0e7fd58d5b45ebaf8fb7d83edf1917/generate_version.py --print
--- stdout ---

--- stderr ---
Traceback (most recent call last):
  File "/tmp/pip-wheel-s1xttpye/pandas_2f0e7fd58d5b45ebaf8fb7d83edf1917/generate_version.py", line 8, in <module>
    import versioneer
ModuleNotFoundError: No module named 'versioneer'

../meson.build:5:13: ERROR: Command `/home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/python
 /tmp/pip-wheel-s1xttpye/pandas_2f0e7fd58d5b45ebaf8fb7d83edf1917/generate_version.py --print` failed with status 1.
th0ma7 commented 7 months ago

Now added versioneer to my crossenv, with the following result (progress I guess):

EDIT: Note that I found curious the Visual Studio environment message.

===>  _PYTHON_HOST_PLATFORM=x86_64-pc-linux-gnu /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/pip wheel --disable-pip-version-check --no-binary :all: --find-links /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip --cache-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/pip --no-deps --wheel-dir /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/wheelhouse --no-index --no-clean --config-settings=builddir=build --config-settings=editable-verbose=true --config-settings=setup-args=--cross-file=/home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/tc_vars.meson --no-build-isolation pandas==2.2.1
Looking in links: /home/spksrc/py311-update/spksrc/spk/homeassistant/../../distrib/pip
Processing /home/spksrc/py311-update/spksrc/distrib/pip/pandas-2.2.1.tar.gz
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [117 lines of output]
      + meson setup /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287 /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --cross-file=/home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/tc_vars.meson --native-file=/tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/build/meson-python-native-file.ini
      The Meson build system
      Version: 1.4.0
      Source dir: /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287
      Build dir: /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/build
      Build type: cross build
      Project name: pandas
      Project version: 2.2.1
      C compiler for the host machine: /home/spksrc/py311-update/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc (gcc 8.5.0 "x86_64-pc-linux-gnu-gcc (GCC) 8.5.0")
      C linker for the host machine: /home/spksrc/py311-update/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc ld.bfd 2.30
      C++ compiler for the host machine: /home/spksrc/py311-update/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++ (gcc 8.5.0 "x86_64-pc-linux-gnu-g++ (GCC) 8.5.0")
      C++ linker for the host machine: /home/spksrc/py311-update/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++ ld.bfd 2.30
      Cython compiler for the host machine: cython (cython 0.29.37)
      C compiler for the build machine: cc (gcc 10.2.1 "cc (Debian 10.2.1-6) 10.2.1 20210110")
      C linker for the build machine: cc ld.bfd 2.35.2
      C++ compiler for the build machine: c++ (gcc 10.2.1 "c++ (Debian 10.2.1-6) 10.2.1 20210110")
      C++ linker for the build machine: c++ ld.bfd 2.35.2
      Cython compiler for the build machine: cython (cython 0.29.37)
      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/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/python)
      Found pkg-config: NO
      Run-time dependency python found: YES 3.11
      Build targets in project: 53

      pandas 2.2.1

        User defined options
          Cross files : /home/spksrc/py311-update/spksrc/spk/homeassistant/work-x64-7.1/tc_vars.meson
          Native files: /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/build/meson-python-native-file.ini
          buildtype   : release
          vsenv       : true
          b_ndebug    : if-release
          b_vscrt     : md

      Found ninja-1.10.1 at /usr/bin/ninja

      Visual Studio environment is needed to run Ninja. It is recommended to use Meson wrapper:
      /home/spksrc/py311-update/spksrc/spk/python311/work-x64-7.1/crossenv/cross/bin/meson compile -C .
      + /usr/bin/ninja
      [1/151] Generating pandas/_libs/khash_primitive_helper_pxi with a custom command
      [2/151] Generating pandas/_libs/algos_common_helper_pxi with a custom command
      [3/151] Generating pandas/_libs/intervaltree_helper_pxi with a custom command
      [4/151] Generating pandas/_libs/sparse_op_helper_pxi with a custom command
      [5/151] Generating pandas/_libs/hashtable_class_helper_pxi with a custom command
      [6/151] Generating pandas/_libs/algos_take_helper_pxi with a custom command
      [7/151] Copying file pandas/__init__.py
      [8/151] Generating pandas/_libs/hashtable_func_helper_pxi with a custom command
      [9/151] Generating pandas/_libs/index_class_helper_pxi with a custom command
      [10/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/base.pyx
      [11/151] Compiling C object pandas/_libs/tslibs/parsing.cpython-311-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o
      [12/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/ccalendar.pyx
      [13/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/dtypes.pyx
      [14/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/np_datetime.pyx
      [15/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/nattype.pyx
      [16/151] Compiling C object pandas/_libs/tslibs/base.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_base.pyx.c.o
      [17/151] Linking target pandas/_libs/tslibs/base.cpython-311-x86_64-linux-gnu.so
      [18/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/conversion.pyx
      [19/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/fields.pyx
      [20/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/strptime.pyx
      [21/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/parsing.pyx
      [22/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/offsets.pyx
      [23/151] Compiling C object pandas/_libs/tslibs/ccalendar.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_ccalendar.pyx.c.o
      [24/151] Linking target pandas/_libs/tslibs/ccalendar.cpython-311-x86_64-linux-gnu.so
      [25/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/timestamps.pyx
      [26/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/timedeltas.pyx
      [27/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/timezones.pyx
      [28/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/period.pyx
      [29/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/tzconversion.pyx
      [30/151] Compiling C object pandas/_libs/tslibs/np_datetime.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_np_datetime.pyx.c.o
      [31/151] Linking target pandas/_libs/tslibs/np_datetime.cpython-311-x86_64-linux-gnu.so
      [32/151] Compiling C object pandas/_libs/tslibs/dtypes.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_dtypes.pyx.c.o
      [33/151] Linking target pandas/_libs/tslibs/dtypes.cpython-311-x86_64-linux-gnu.so
      [34/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/algos.pyx
      FAILED: pandas/_libs/algos.cpython-311-x86_64-linux-gnu.so.p/pandas/_libs/algos.pyx.c
      cython -M --fast-fail -3 --include-dir /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/build/pandas/_libs '-X always_allow_keywords=true' /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/algos.pyx -o pandas/_libs/algos.cpython-311-x86_64-linux-gnu.so.p/pandas/_libs/algos.pyx.c

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          # each incremental i value can be looked up in the lexsort_indexer
          # array that we sorted previously, which gives us the location of
          # that sorted value for retrieval back from the original
          # values / masked_vals arrays
          # TODO(cython3): de-duplicate once cython supports conditional nogil
          with gil(numeric_object_t is object):
                 ^
      ------------------------------------------------------------

      /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/algos.pyx:1147:12: Expected ':', found '('
      [35/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/tslibs/vectorized.pyx
      [36/151] Compiling C object pandas/_libs/tslibs/nattype.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_nattype.pyx.c.o
      [37/151] Compiling Cython source /tmp/pip-wheel-cpma2d0r/pandas_1745047ec6b24424b3bcdf2679ac0287/pandas/_libs/arrays.pyx
      [38/151] Compiling C object pandas/_libs/tslibs/conversion.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_conversion.pyx.c.o
      pandas/_libs/tslibs/conversion.cpython-311-x86_64-linux-gnu.so.p/pandas/_libs/tslibs/conversion.pyx.c: In function ‘__pyx_pf_6pandas_5_libs_6tslibs_10conversion_cast_from_unit_vectorized.isra.48’:
      pandas/_libs/tslibs/conversion.cpython-311-x86_64-linux-gnu.so.p/pandas/_libs/tslibs/conversion.pyx.c:2398:79: warning: ‘__pyx_v_i’ may be used uninitialized in this function [-Wmaybe-uninitialized]
           __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
                                                                                     ^~
           (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\

      pandas/_libs/tslibs/conversion.cpython-311-x86_64-linux-gnu.so.p/pandas/_libs/tslibs/conversion.pyx.c:3853:14: note: ‘__pyx_v_i’ was declared here
         Py_ssize_t __pyx_v_i;
                    ^~~~~~~~~
      [39/151] Compiling C object pandas/_libs/tslibs/timezones.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_timezones.pyx.c.o
      [40/151] Compiling C object pandas/_libs/tslibs/fields.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_fields.pyx.c.o
      [41/151] Compiling C object pandas/_libs/tslibs/parsing.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_parsing.pyx.c.o
      [42/151] Compiling C object pandas/_libs/tslibs/tzconversion.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_tzconversion.pyx.c.o
      [43/151] Compiling C object pandas/_libs/tslibs/strptime.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_strptime.pyx.c.o
      [44/151] Compiling C object pandas/_libs/tslibs/period.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_period.pyx.c.o
      [45/151] Compiling C object pandas/_libs/tslibs/timestamps.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_timestamps.pyx.c.o
      [46/151] Compiling C object pandas/_libs/tslibs/timedeltas.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_timedeltas.pyx.c.o
      [47/151] Compiling C object pandas/_libs/tslibs/offsets.cpython-311-x86_64-linux-gnu.so.p/meson-generated_pandas__libs_tslibs_offsets.pyx.c.o
      ninja: build stopped: subcommand failed.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
make[3]: *** [../../mk/spksrc.wheel.mk:203: cross-compile-wheel-pandas] Error 1
make[3]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant'
make[2]: *** [../../mk/spksrc.wheel.mk:144: build_wheel_target] Error 1
make[2]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant'
make[1]: *** [../../mk/spksrc.spk.mk:719: build-arch-x64-7.1] Error 1
make[1]: Leaving directory '/home/spksrc/py311-update/spksrc/spk/homeassistant'
make: *** [../../mk/spksrc.spk.mk:713: arch-x64-7.1] Error 2
lithomas1 commented 7 months ago

You need Cython 3 to be able to compile pandas. It looks like you have Cython 0.29.37.

lithomas1 commented 7 months ago

Going to close as I'm assuming the issue is fixed.

Feel free to comment if you're experiencing any other issues and I'll reopen this.

th0ma7 commented 7 months ago

Thnx for the help and I'll reopen if i need further assistance but i believe my concerns are now answered.