Кросс-компиляция Python

Я использую оценочную плату с ARM926EJ-S, запущенным Openembedded, и я хочу установить на него python.

Я успешно скомпилировал python 2.7.13 на моей Fedora 25 с помощью инструментальной линейки linaro (release.linaro.org/components/toolchain/binaries/6.2-2016.11/) следующим образом:

CONFIG_SITE=config.site ./configure --build=x86_64-linux-gnu --host=arm-linux-gnueabihf --disable-ipv6 --enable-unicode=ucs4 

Мне пришлось сделать config.site, потому что во время компиляции он попросил меня уточнить:

 ac_cv_file__dev_ptmx=no/yes ac_cv_file__dev_ptc=no/yes 

И я положил «нет» им обоим, как этот парень: datko.net/2013/05/10/cross-compiling-python-3-3-1-for-beaglebone-arm-angstrom/

Затем я тестирую, чтобы добавить:

 --host=arm-elf-linux 

Поскольку он работал для другого lib (pjsip), но, к сожалению, он не работал, поэтому я нашел это решение:

 --host=arm-unknown-linux-gnueabihf 

Здесь: github.com/jedisct1/libsodium/issues/274

И это было для ошибки во время конфигурации, требующей меня сделать это:

 --desable-ipv6 

Тогда конфигурация прошла хорошо, поэтому make. Чтобы сделать make install, потому что мне пришлось установить его на свою доску, я сделал:

 make install DESTDIR=root@IP_ADRESS 

Это тоже сработало, python установлен в root@IP_ADRESS/usr/local/lib/python2.7.

Но я не могу найти его в своей доске и не запускать оболочку python.

Поэтому я пробую это:

 export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib" 

Как ответили здесь: stackoverflow.com/questions/4743233/is-usr-local-lib-searched-for-shared-libraries

Это ничего не меняет, и я выясняю, что / usr / local / lib не существует … И я обнаружил, что мой pjsip lib тоже не установлен …

Вы знаете, куда пошли мои библиотеки? И как я могу их использовать?

Спасибо !

РЕДАКТИРОВАТЬ :

Нашел решение, фактически, когда вы делаете:

 make install DESTDIR=root@IP_ADRESS 

Он не собирается устанавливать его в root @ IP_ADRESS, но он создает папку с именем «root @ IP_ADRESS» …

Поэтому я tar.bz2 все файлы, содержащиеся в этой папке, отправляю их с scp на моей доске и копирую все папки и файлы в / usr / моей доски.

Но python не работает, когда я пытаюсь запустить его:

 ~# python -sh: /usr/bin/python: cannot execute binary file 

Это потому, что во время конфигурации часть -host не является хорошей?

Я нашел решение. Платой, которую я использую, является TMDSLCDK138, интегрирующий OMAPL138 (ARM926EJ-S + DSP).

Для тех, кто пытается скомпилировать Pyhton 2.7 для этой платы, использующей SDK Araggo, вот путь! Я работаю над Ubuntu 16.04.

Сначала установите инструмент Arago toolchain:

НЕ ЭТО ОДНО: http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html (потому что он ОТКЛЮЧЕН !!)

Но тот, что находится в mcsdk_1_01_00_02_setuplinux.bin!

 wget http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk/latest1/exports/mcsdk_1_01_00_02_setuplinux.bin chmod +x mcsdk_1_01_00_02_setuplinux.bin sudo ./mcsdk_1_01_00_02_setuplinux.bin 

Я устанавливаю его в / opt / ti /

Затем :

 cd /opt/ti/mcsdk_1_01_00_02 chmod +x linux-devkit.sh sudo ./linux-devkit.sh 

Он собирается спросить вас, где вы хотите установить его, я сохранил /usr/local/arago.2013-05/

Теперь :

 cd /usr/local/arago-2013.05/ . ./environment-setup 

Обычно ваша оболочка собирается «преобразовать», и ваши командные строки выполняют:

 [linux-devkit]:/usr/local/arago-2013.05/> 

Хорошо, здесь вы закончили установку инструментальной цепочки GOOD Arago.

Теперь кросс-компиляция и установка Python:

Я сделал все остальные команды в этой оболочке linux-devkit.

 wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz tar -Jxvf Python-2.7.13.tar.xz cd Python-2.7.13/ 

Теперь создайте файл с именем config.site (потому что если вы этого не сделаете, вы получите сообщение об ошибке):

 touch config.site gedit config.site 

Добавьте эти две строки в этот файл:

 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no 

Теперь вы можете сделать ./configure следующим образом:

 CONFIG_SITE=config.site ./configure --host=arm-arago-linux --prefix=/home/YOUR_USER/MY_BOARD_python --build=x86_64-linux-gnu --disable-ipv6 make make install 

Теперь вам просто нужно сжать вашу папку MY_BOARD_python, скопировать ее на свою доску с помощью:

 tar -jcvf MY_BOARD_python.tar.bz2 MY_BOARD_python/ scp MY_BOARD_python.tar.bz2 root@IP_ADRESS:~/ 

Теперь на вашем борту:

 tar -jxvf MY_BOARD_python.tar.bz2 cp -R MY_BOARD_python/* /usr/ 

И теперь, если вы наберете Python:

 root@omapl138-lcdk:~# python Python 2.7.13 (default, Feb 23 2017, 16:37:33) [GCC 4.5.3 20110311 (prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> HURAYY!! 

Хоп это поможет!