2011-02-17 2 views
0

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

ответ

0

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

1

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

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

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

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

Смежные вопросы