Компиляция Python 3.6.5 статического двоичного файла для arm32 не удалась - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь в Debian 9.4 x64 компилировать статические двоичные файлы Python для arm32.Я изначально:

  • скачал исходный файл "Gzipped source tarball" из: https://www.python.org/downloads/release/python-365/
  • извлеченные исходные файлы в: /python3.6.5/
  • скачал и извлек "binutils-gold-2.29.1-16.1.armv7hl.rpm" по строке cmd:
    • rpm -qlp /python3.6.5/binutils-gold-2.29.1-16.1.armv7hl.rpm
  • попробуйте скомпилировать бинарный файлс помощью следующей команды:
    • ./configure --build=arm --prefix="$PWD"/out LDFLAGS="-static -static-libgcc -Wl,--unresolved-symbols=ignore-all -Wl,--export-dynamic" CPPFLAGS=-static CXXFLAGS=-static CFLAGS="-Os -static" LDFLAGS=-static LD=ld.gold
  • И я получаю следующие ошибки:
    • /usr/bin/ld: BFD assertion (GNU Binutils for Debian) 2.28 as failed ../../bfd/elflink.c:14098
    • /usr/bin/ld: BFD (GNU Binutils for Debian) 2.28 internal error, aborting at ../../bfd/elf64-x86-64.c:6137 in elf_x86_64_finish_dynamic_symbol
    • /usr/bin/ld: Thanks to report this anomaly.
    • collect2: error: ld returned 1 exit status
    • Makefile:561 : the recipe for the "python" target has failed - make: *** [python] Error 1
  • Я пытаюсь найти, какя мог бы исправить эту ошибку, но, к сожалению, веб-страница поддержки на веб-сайте Python не помогает (https://wiki.python.org/moin/BuildStatically).

Наконец, я хотел бы скомпилировать Python 3.6.5 для всех процессорных платформ накакой Android может работать (arm32, aarm64, x86_x64, mips, mipsx64, ...), чтобы в конечном итоге получить один двоичный файл (я буду повторять задачи для всех других арок, когда я закончу с arm32).

Таким образом, один файл для каждогоцитируемые архитектуры, а не несколько файлов / папок.Статически, чтобы избежать каких-либо зависимостей с внешними библиотеками.Я решил выполнить операции сборки, но, если существуют другие, менее опасные и более простые решения, я согласен.

Примечание: вся строка cmd была выполнена через LXTerminal для корневого сеанса по умолчанию.

Заранее спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...