Stesse versioni e errori di compilazione

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
dafrasaga
Linux 1.x
Linux 1.x
Messaggi: 149
Iscritto il: mar set 08, 2009 11:39
Slackware: current
Località: Vinci -FI-

Stesse versioni e errori di compilazione

Messaggioda dafrasaga » sab ago 04, 2018 7:42

Ciao a tutti,
ho due PC su cui ho aggiornato da 14.2 a Current.
Sto tentando di installare BABL/GEGL/GIMP da GIT:
Lo strano è che su un PC la compilazione dei tre programmi è andata buon fine mentre sull'altro per GEGL ho:

Codice: Seleziona tutto

libtool:   error: cannot find the library '/usr/lib64/libexiv2.la' or unhandled argument '/usr/lib64/libexiv2.la'
make[2]: *** [Makefile:572: gegl] Error 1
make[2]: Leaving directory '/root/sorgenti/git/gegl/bin'
make[1]: *** [Makefile:635: all-recursive] Error 1
make[1]: Leaving directory '/root/sorgenti/git/gegl'
make: *** [Makefile:542: all] Error 2


Lo strano è che il pacchetto eviv2 sul PC dove è andato tutto OK non esiste la libreria libexiv2.la

Ho solo

Codice: Seleziona tutto

lrwxrwxrwx 1 root root      18 Jul 28 09:13 /usr/lib64/libexiv2.so -> libexiv2.so.26.0.0
lrwxrwxrwx 1 root root      18 Jul 28 09:13 /usr/lib64/libexiv2.so.26 -> libexiv2.so.26.0.0
-rwxr-xr-x 1 root root 3051624 Apr 17 09:39 /usr/lib64/libexiv2.so.26.0.0

Sembra che libtool su uno vuole per forza la libreria statica...
Potrebbe essere quale problema di configurazione ??

Qualcuno sa illuminarmi??

Grazie mille

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2502
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.9
Desktop: lxde
Località: Pisa
Contatta:

Re: Stesse versioni e errori di compilazione

Messaggioda ponce » sab ago 04, 2018 9:59

questo probabilmente ti succede perche' in current il 19 aprile sono stati rimossi i file *.la in /lib${LIBDIRSUFFIX} e /usr/lib${LIBDIRSUFFIX}
Pat nel ChangeLog ha scritto:Thu Apr 19 01:04:06 UTC 2018
Hi folks, and welcome to the third ever Slackware Mass Rebuild (and the
longest ChangeLog entry in project history). There were two primary
motivations for rebuilding everything in the main tree. The first was to
switch to the new C++ ABI. The second was to get rid of all the .la files
in the LD_LIBRARY_PATH. Really, having .la files installed has been mostly
obsolete since things began to use pkg-config instead, but it's not easy
to get rid of them unless you do it all at once. If you just take them out
of one package, any other packages containing .la files that refer to the
removed ones will be broken. We've removed a few here and there before
(and then handled any packages that had referred to them with a rebuild),
but it was time to finally remove all the ones in /lib{,64} and
/usr/lib{,64}. One of the reasons that this really needed to happen is that
many projects are starting to migrate to build systems other than autotools,
and those systems do not generate .la files. So if we didn't get rid of them
now, we might end up in a situation later on where they are being removed
by upstream and then we would have to chase down the dependency breakage and
recompile (possibly many) other packages. The .la files that are outside of
the LD_LIBRARY_PATH were not removed (and shouldn't be) - those ones are
often used by the lt_dlopen() function to load plugins and removing those
ones can break things. But those ones don't cause problems... they aren't
likely to try to infect .la files produced by other packages.
IMPORTANT NOTE: If you have any third party or other packages installed on
your system that don't come with Slackware, and those packages have installed
any .la files, it is very likely that they refer to some .la files which we
have just removed, and that trying to compile against these packages will no
longer work. Luckily, the solution is simple: remove them. This command will
remove any stale .la files from the LD_LIBRARY_PATH:
rm /{,usr/}lib{,64}/*.la
Moving forward, nothing shipped in Slackware will contain any .la files in
those directories, and any SlackBuilds intended to be used with Slackware 15.0
should contain this bit of script:
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
In addition to those goals, the opportunity was taken to clean up slack-desc
files and make many trivial fixes to build scripts. We've also made it easy
to recompile everything again should there be a good reason to do so.
You'll also find various updates scattered throughout this long list.
Enjoy, and sorry about the bandwidth. ;-)

i file *.la non sono librerie statiche (quelle sono indicate dal suffisso .a) ma file di libtool
https://stackoverflow.com/questions/123 ... a-file-for
https://flameeyes.blog/2008/04/14/what- ... -la-files/

e' possibile che tu abbia delle applicazioni/librerie di terze parti (installate da SBo, ad esempio) sul sistema dove ti fallisce la compilazione che vanno a cercare ancora questi file *.la (magari perche' sono state compilate/installate prima del 19 aprile): Pat suggerisce di far girare il comando di cui sopra

Codice: Seleziona tutto

rm /{,usr/}lib{,64}/*.la

ma, personalmente, il consiglio che posso darti e' di ricompilare sulla versione piu' recente di current tutti i programmi/librerie non inclusi in Slackware che usi (perche' non avrai problemi solo con gimp).

dafrasaga
Linux 1.x
Linux 1.x
Messaggi: 149
Iscritto il: mar set 08, 2009 11:39
Slackware: current
Località: Vinci -FI-

Re: Stesse versioni e errori di compilazione

Messaggioda dafrasaga » dom ago 05, 2018 7:04

Ciao Ponce,
BINGO!!!

Ha funzionato.
Grazie mille