Я знаю, что управление версиями общей библиотеки может быть реализовано в Suse Linux. Но возможно ли это на IBM-AIX?
Любые ссылки будут очень полезны, так как я не могу найти подходящий материал через поиск Google.
Я знаю, что управление версиями общей библиотеки может быть реализовано в Suse Linux. Но возможно ли это на IBM-AIX?
Любые ссылки будут очень полезны, так как я не могу найти подходящий материал через поиск Google.
Существует несколько видов управления версиями библиотек:
libreadline.so.4
против libreadline.so.5
libpthread.so.0
в Linux, которое определяет, например. pthread_create@@GLIBC_2.1
и pthread_create@GLIBC_2.0
Последний является расширением GNU и не поддерживается ни в одной системе, отличной от GLIBC.
Первый будет прекрасно работать на AIX.
Еще одна особенность AIX заключается в том, что вы можете поместить несколько совместно используемых библиотек в одну архивную библиотеку, чтобы ваши клиенты могли продолжать связываться, например, с libfoo.a
(содержащий shr.o
и shr2.o
). Старые и уже связанные клиенты будут продолжать использовать libfoo.a(shr.o)
, но новые связанные клиенты будут использовать libfoo.a(shr2.o)
.
Именно по этой схеме AIX удается поддерживать несколько версий поддержки потоков POSIX в одном файле libpthread.a
. Это также может сбивать с толку тех, кто не привык к AIX, поэтому лучше не использовать его.