libtool aggiungendo 'u' per i nomi di file .so in più
Domanda
Ho un progetto costruito con autotools, divisa in due cartelle; il primo, lib , crea alcune librerie, e la seconda, Strumenti , i collegamenti contro di loro.
La costruzione non è riuscito perché libtool rinomina le librerie come segue mentre ricollegamento:
mylib.1.0.0 -> mylib.1.0.0U
Quando si verifica la ridenominazione, in ogni caso, il nome precedente non viene ripristinato, né è un nuovo mylib.1.0.0 creato, in modo che i link simbolici come mylib ancora puntare per il nome senza l'extra U e il collegamento non riesce.
C'è un modo per evitare questo? o forse anche per evitare il ricollegamento a tutti? Sto usando libtool versione 1.5.6.
Soluzione
A quanto pare l'ho preso ...
Il problema è facilmente riproducibile con la seguente struttura:
- lib cartella, edificio:
- Liba
- LIBB , a seconda del Liba
- src cartella, la costruzione di prog , che collega LIBB
Quindi è necessario specificare questo in lib / Makefile.am:
lib_LTLIBRARIES = \
libb.la \
liba.la
A quel punto sarà prodotto un file liba.so.1.0.0U. Specificando invece (si noti che l'ordine delle librerie è cambiato)
lib_LTLIBRARIES = \
liba.la \
libb.la
la build funziona bene.
Sono d'accordo che specifica le cose nel giusto ordine è in ogni caso la cosa migliore da fare; ciò che è ancora chiaro per me è se questo è un bug libtool o no ...