Spec-Zone.ru › NumPy 2.0

Перекрёстная компиляция

Перекрёстная компиляция — сложная тема, мы добавили здесь (на данный момент) лишь несколько, надеемся, полезных советов. По состоянию на май 2023 года, перекрёстная компиляция, основанная на crossenv, известна как работающая, как используется (например), в conda-forge. Перекрёстная компиляция без crossenv требует некоторых ручных переопределений. Эти переопределения задаются путём передачи опций в meson setup через meson-python.

Все дистрибутивы, в которых известна успешная перекрёстная компиляция NumPy, используют python -m build (pypa/build), но использование pip для этого также возможно. Вот ссылки на «рецепты сборки» NumPy в этих дистрибутивах:

  • Void Linux
  • Nix
  • Conda-forge

Также см. документацию Meson по перекрёстной компиляции, чтобы узнать, какие параметры необходимо передать Meson для успешной перекрёстной компиляции.

Возможная проблема заключается в том, что для определения формата long double для платформы хоста требуется запуск скомпилированного исполняемого файла. Это может быть препятствием, так как требует crossenv или QEMU для запуска хостового (перекрёстного) Python. Чтобы избежать этой проблемы, укажите пути к соответствующим каталогам в вашем файле кросс-компиляции:

[properties]
longdouble_format = 'IEEE_DOUBLE_LE'

Для получения более подробной информации и текущего состояния перекрёстной компиляции см.:

  • Состояние перекрёстной компиляции в Python: страница ключевых проблем pypackaging-native
  • Задача отслеживания потребностей и проблем перекрёстной компиляции SciPy: scipy#14812

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/building/cross_compilation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API