LINUX.ORG.RU

Сборка пакета устаревшим gcc (и glibc соответсвенно)


0

1

Есть проект, который согласно ману нужно собирать устаревшим компиляторм с устаревшей glibc (И то и другое есть в поставке). Как прописать переменные среды, чтоб при сборке данного проекта использовался именно этот компилятор и именно эти либы?

★★★

Я бы попробовал в chroot установить старый компилятор и собрать пакет.

EXL ★★★★★
()
Ответ на: комментарий от EXL

По подробнее можно? Одного chroot всеравно не хватит, нужно будет пути к бинарникам компилятора как-то прописывать.

LIKAN ★★★
() автор топика
Ответ на: комментарий от LIKAN

Подробнее тут почитать можно.
Если не охота возиться с chroot, можно попробовать собрать тулчейн с помощью crosstool-NG.

  1. Устанавливаете crosstool-NG, на официальном сайте есть вся необходимая документация по установке;
  2. Из списка ct-ng list-show выбираете тулчейн, для необходимой вам архитектуры и библиотеки. В вашем случае это будет x86_64-unknown-linux-gnu. Для выбора тулчейна набираете команду ct-ng x86_64-unknown-linux-gnu;
  3. Далее, как с линуксовым ядром, конфигурируете тулчейн, выбрав необходимые вам Bitness, версию gcc и версию glibc;
  4. Затем выполняете команду ct-ng build и забираете готовый тулчейн из каталога ~/x-tools/.

Весь цимес в том, что тулчейн, собранный через crosstool-NG, не будет мешать системные бинарники и либы со своими:

x86-unknown-linux-gnu-gcc -v main.c &> /tmp/log && grep -A5 '#include' /tmp/log 
#include "..." search starts here:
#include <...> search starts here:
 /home/exl/x-tools/x86-unknown-linux-gnu/lib/gcc/x86-unknown-linux-gnu/4.3.2/include
 /home/exl/x-tools/x86-unknown-linux-gnu/lib/gcc/x86-unknown-linux-gnu/4.3.2/include-fixed
 /home/exl/x-tools/x86-unknown-linux-gnu/lib/gcc/x86-unknown-linux-gnu/4.3.2/../../../../arm-qemu-linux-gnueabi/include
 /home/exl/x-tools/x86-unknown-linux-gnu/x86-unknown-linux-gnu/sysroot/usr/include
End of search list.

И для кросс-компиляции будет достаточно выполнить export PATH=~/x-tools/x86-unknown-linux-gnu/bin, а затем make CC=x86-unknown-linux-gnu-gcc для сборки софта.

EXL ★★★★★
()
Ответ на: комментарий от LIKAN

После chroot-а проверьте $PATH, ИМХО, этого достаточно.

yars068 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.