2008-12-15 5 views
2

У меня есть проект, созданный с помощью autotools, разделенный на две папки; первый, lib, создает некоторые библиотеки, а второй, tools, ссылки на них.
Билд терпит неудачу, потому что Libtool переименовывает библиотеки следующим образом, а перекомпоновки:libtool добавляет дополнительные 'U' к .so именам файлов

mylib.1.0.0 -> mylib.1.0.0U 

После происходит переименование, во всяком случае, предыдущее название не восстанавливается, ни новый mylib.1.0.0 создан, так символические ссылки, такие как mylib все еще указывают на имя без дополнительных U, и связь не удалась.
Есть ли способ избежать этого? или, может быть, даже для того, чтобы избежать переворачивания вообще? Я использую libtool версии 1.5.6.

+0

Возможно, вы должны, вероятно, вернуться к последнему редактированию и ответить на вопрос правильно. – 2008-12-16 13:13:40

ответ

1

Видимо, я получил его ...
Проблемы легко воспроизводимая со следующей структурой:

  • Lib папки, здание:
    • Lība
    • libb, в зависимости от liba
  • ЦСИ папку, строительство прог, которая связывает libb

Затем вы должны указать это в Lib/Makefile.am:

lib_LTLIBRARIES = \ 
    libb.la \ 
    liba.la 

На этой точке Либа .so.1.0.0U файл будет создан. Задание вместо этого (обратите внимание, что порядок библиотек изменен)

lib_LTLIBRARIES = \ 
    liba.la \ 
    libb.la 

Строительная работа прекрасна.
Я согласен, что указание вещей в правильном порядке - это в любом случае лучшее, что нужно сделать; что до сих пор неясно, является ли это ошибкой libtool или нет ...