Как добиться совместимости своих программ со старыми версиями linux?

Коллеги, столкнулся тут с такой вот задачей. В нашей конторе приходится тестировать процессоры совместимые с 486. Там стоит весьма древний Debian 2.6.31 . У меня есть разработанный комплект программ, который замечательно работает на новых системах, но тут я столкнулся с кучей граблей.

Проблема осложняется тем, что никакого интернета, даже сети там нет. Система урезана донельзя. Что-то доустановить - становится весьма сложной задачей. В результате остаётся только дописывать всё самостоятельно. В сути, могу руками перекидать файлики с флешки.

Например, есть программа, которая занимается тестированием USB, и работает с libusb. Разумеется ей надо кучу библиотек. Я пошёл по пути наименьшего сопротивления, и тупо переписал всё туда и разумеется получил вот такой печальный результат:

./usbtest: /lib/libc.so.6: version `GLIBC_2.8' not found (required by /lib/libusb-1.0.so.0)
./usbtest: /lib/libc.so.6: version `GLIBC_2.17' not found (required by /lib/libusb-1.0.so.0)
./usbtest: /lib/libc.so.6: version `GLIBC_2.8' not found (required by /lib/libudev.so.1)
./usbtest: /lib/libc.so.6: version `GLIBC_2.17' not found (required by /lib/libudev.so.1)


Всё понятно. Вопрос: Как наименьшей кровью перенести свои программы и библиотеки, добиться совместимости с библиотеками libc и т.п.? Понимаю, что можно пересобрать все библиотеки и т.п. Все программы, которые я мог, компилировал gcc-4.4, это частично спасло отца русской демократии. А вот со всякими специфическими библиотеками как быть - ума не приложу.

Спасибо!
  • Вопрос задан
  • 2811 просмотров
Пригласить эксперта
Ответы на вопрос 1
selivanov_pavel
@selivanov_pavel
Linux admin
Если use-case допускает, для каждой такой программы - chroot со сколь угодно древними библиотеками.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы