C++ программы для разных версий glibc
Подскажите, пожалуйста, в следующем вопросе. Есть встроенная система со старым очень урезанным дистрибутивом Linux с версией glibc 2.20. К сожалению, обновить версию glibc там нельзя.
Мне необходимо написать программу на C++, которая бы исполнялась в этой системе с glibc 2.20. Однако, в современных дистрибутивах версия glibc гораздо новее и поэтому написанные мною программы там не исполняются (я получаю ошибку version `GLIBC_2.34' not found).
В Интернете везде пишут, что лучший вариант - компилировать программу в системе с требуемым glibc или меньше (например, Ubuntu 14.04 использует glibc 2.19, что мне подходит). На одном портале было также предложение установить в отдельную директорию glibc 2.34. Но я, к сожалению, не пойму, как программе указать путь к нужной ей библиотеке. Либо этот вариант вообще нерабочий? Извините, если вопрос глупый, я, к сожалению, не имею опыт в этом деле.
Ответы (1 шт):
Самый простой вариант - полный чрут.
apt install debootstrap
mkdir trusty
sudo debootstrap --verbose trusty trusty
Может зависнуть и скачаться не с первого раза, повторяй до успеха
mkdir trusty/code
cp -R ~/code trusty/code
sudo chroot trusty /bin/bash
export PATH=/bin:/usr/bin:/sbin/:/usr/sbin
apt install build-essential libнужная-dev
cd /code
make