Солярис студия ссылка на конкретную версию libc.so - PullRequest
0 голосов
/ 17 февраля 2011

Я хочу скомпилировать / связать новую версию Solaris (libc.so SUNW_1.22.6) для системы с более старой системой Solaris (libc.so SUNW_1.22.4) Как я могу указать, что компоновщик (в новой версии) должен создать двоичный файл, который использует более старую (1.22.4) libc.so?

Ответы [ 2 ]

1 голос
/ 20 февраля 2011

В целом, системы UNIX поддерживают обратную совместимость (программа, построенная на более старой системе, продолжает работать на более новой системе), но не наоборот: программа, построенная на более новой системе, может не работать на более старой системе.

По этой причине соберите свою программу на самой старой версии ОС, которую вы собираетесь поддерживать.

Как указать, что компоновщик (в новой версии) должен создавать двоичный файл, который используетболее старый (1.22.4) libc.so

Для этого вам понадобится кросс-компилятор "new Solaris -> old Solars".GCC может быть построен для такой кросс-компиляции, но это не тривиально.Построение на более старой системе обычно намного проще.

0 голосов
/ 18 февраля 2011

Не вызывать функции, которых нет в SUNW_1.22.4. Компоновщик записывает минимальную зависимость на основе функций, связанных с.

...