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 шт):

Автор решения: eri

Самый простой вариант - полный чрут.

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
→ Ссылка