2009-10-16 4 views
0

Я могу успешно создать общий объект, используя священный родной компилятор «xlc» в AIX. Он создает общую библиотеку объектов, но не устанавливает библиотеку общих объектов.AIX- Не устанавливает общий lib

Команда настройки: ./configure --prefix =/PATH/to/install --exec-prefix =/PATH/to/install --enable-shared --enable-static = no --enable- module = so --build = powerpc-ibm-aix5.3.0.0 --host = powerpc-ibm-aix5.3.0.0 LDFLAGS = "- G -shared"

Любая помощь будет оценена?

ответ

0

Итак, вы пытаетесь выполнить компиляцию в общую папку библиотеки.

Я бы предложил посмотреть, можете ли вы скомпилировать/ссылку на свой локальный каталог.

Если это работает, попробуйте скопировать новую библиотеку в правильный каталог. Возможно, библиотека oldshared открыта некоторым процессом и поэтому не может быть перезаписана.

У вас есть сообщения об ошибках?

0

Я могу установить общую библиотеку успешно, когда мне пришлось экспортировать только LDFLAGS как «-brtl -L/path/to/install».

+0

ya, который удаляет путь от имени. – EvilTeach

0

В AIX существуют два типа разделяемых библиотек: AIX и SysV.

ЛИЭС AIX типа являются archvies, которые могут содержать статические библиотеки, а также несколько версий общих библиотек, и имеют имена, как libfoo.a

SysV-Compat ЛИЭС имеют имена, как libfoo.so и больше похожи на то, что вы найдет в Linux.

Libtool построит любой тип. Если вы хотите библиотеки SysV-compat, добавьте -Wl, -brtl в LDFLAGS.

Я предполагаю, что вы видите /PATH/to/install/lib/libFOO.a и считаете, что это статическая библиотека, когда на самом деле это разделяемая библиотека AIX.