[Comm] linking problem question (somelib.la not found)

Igor Moskalev =?iso-8859-1?q?gnitarg_=CE=C1_bellsouth=2Enet?=
Вт Ноя 19 18:56:20 MSK 2002


On Tue, 19 Nov 2002, Ruslan N. Balkin wrote:

> On Tue, 19 Nov 2002 01:08:15 -0600 (CST)
> Igor wrote:
>
> > libtool: link: warning: `/usr/lib/libgobject-2.0.la'
> seems to be moved
> > grep: /usr/lib/libgmodule-2.0.la: No such file or
> directory
> > sed: can't read /usr/lib/libgmodule-2.0.la: No such
> file or directory
> >
> > В ld.so.conf добавлен путь, где лежит библиотека
> (/usr/local/gnome/lib),
> ldconfig делали?

Да, конечно...

> > PKG_CONFIG_PATH содержит те же директории, пытался
> разобраться с
> > libtool, но безуспешно -- библиотеки ищутся в /usr/lib
> ....
> Ничего не понял, могу только предположить, что сначала
> библиотека устанавливалась в один каталог, потом в
> другой, а в первом - следы остались.

Да нет, библиотека сразу ставилась в директории нового gnome.

>Либо наоборот,
> устанавливалась в первый и руками перетаскивалась во
> второй. Или какое-то подобное насилие. Но это лишь
> навскидку, в работе libtool я почти не разбираюсь.
>

В общем, насколько я понял, при линковке ищется некая библиотека *.la и
ищется она в стандартном месте (в данном случае в /usr/lib) и надо
как-то указать линкеру, чтобы он дополнительно смотрел еще и в других
местах. Вот этого я сделать не могу. Самое интересное, что shared
библиотеки (.so) им находятся там, где надо.

> В любом случае, я бы посоветовал делать примерно так:
> 1) Скачивается какой-либо скрипт для построения gnome2 из
> исходников/cvs.
> (Я использовал cvsgnome от Ali Akcaagac, который ныне
> предал Gnome2 и ушел на KDE), были и другие скрипты
> (Garnome, кажется).
> 2) Прописываете в скрипт пути к архивам, запускаете,
> собираете скриптом (по меньшей мере, с cvsgnome такое
> возможно).

Я пробовал какой-то скрипт, но не пошло. Что мне не понравилось в таком
подходе, так это невозможность понять, что же не так (он просто сказал,
что "произошла ошибка"). На самом деле я пытаюсь собрать Гном согласно
инструкции на http://karubik.de/gig/2.0/

> Либо вместо 2) смотрится, какое окружение при сборке,
> копируется в файл, и вызывается руками.
>
> Лично я делал prefix=/opt/gnome2, и там у меня разве что
> только особой копии gcc не было.

Я также делаю. Более того, пробовал еще и явно указать --libdir, но не
помогло.

>Свой automake, autoconf,
> pkgconfig, libpopt.

Ну как-то это не правильно... Нельзя же для сборки одного пакета (пусть
и большого) создавать копию дистрибутива в директории сборки этого
пакета :-) Думается мне, что можно сделать проще...

>И, надо сказать, попытки с третьей
> все заработало. Первые две попытки провалились именно
> из-за того, что в системе были уже свои pkgconfig, 2
> automake и 2 autoconf.
>
> В общем, как я понял, у вас возникают схожие с моими
> проблемы. У меня все решилось при использовании
> корректного build environment.
>
>

Думаю, что те же..
Спасибо за ответ, будем копать дальше, как только разберусь, обязательно
сообщу (если кто-то раньше в этой рассылке не надоумит).

-- 
 С уважением,
 Игорь Москалев

 --------------------------------------------------------------------
 "Пусть я дурак, но позвольте мне убедиться в этом самому..." (c) Pp
 --------------------------------------------------------------------





Подробная информация о списке рассылки community