[glux] R: Re: Cinepaint: errore di compilazione
zad
zad360@gmail.com
Mar 2 Dic 2014 05:20:38 CET
Corretto top quoting, contento Mangia!
2014-12-01 22:20 GMT+01:00 marcogambadoro@alice.it <marcogambadoro@alice.it>:
> Grazie per l'invito, ma ho qualche difficoltà a raggiungervi. Ti spiego
> quello che ho fatto:
> 1. Ho emulato una macchina con Vbox e ci ho installato una ubuntu 14.10
> 2. ho scaricato i sorgenti di cinepaint (mi interessa perché elabora
> immagini con una profondità di campo molto superiore a GIMP)
> 3. sto cercando di compilare, ma riscontro gli errori.
>
> Leggendo in rete ho capito che l'errore riguard una libreria
> (libstdc++.6.so) che non trova. Il problema nasce dal fatto che cinepaint
> cerca le librerie in /usr/lib mentre ubuntu la colloca in
> /usr/x86_64-linux-gnu/.
> Questo, ho scoperto, essere un problema noto, tanto che viene consigliato:
> "CinePaint by default installs its libraries in /usr/local/lib. If CinePaint
> fails on launch because it can't find its libraries, you must specify
> where to look using LD_LIBRARY_PATH or ldconfig. With ldconfig, create a
> file named /etc/ld.so.conf.d/cinepaint.conf that contains the lib path
> /usr/local/lib then sudo ldconfig -v. Alternately, you may set it with
> the evironment variable LD_LIBRARY_PATH that may be written in your
> profile file."
> Al momento sono alle prese con ldconfig per capire come fargli vedere questa
> benedetta libreria.
> Ogni aiuto è più che gradito.
>
> Grazie a tutti,
> Marco
Ciao Marco ,
ldconfig e LD_LIBRARY_PATH vengono utilizzati durante il loading dei
programmi e forse anche da cinepaint durante il processo di
configurazione automatica della build, inoltre dall'errore evidenziato
durante il build la libreria viene correttamente individuata:
"/usr/lib/x86_64-linux-gnu/libstdc++.so.6:error adding symbols: DSO
missing from command line..."
Il problema nel tuo caso e' di linking verso le librerie C++, e molto
probabilmente e' dovuto dal fatto che stai usando gcc per compilare
codice C++, quando dovresti usare il g++ (non dipende da te , ma del
makefile)
Per indicare al gcc che deve linkare la standar lib c++
devi modificare i LDFLAGS del gcc aggiungendo i seguenti parametri:
"-L/usr/lib/x86_64-linux-gnu -lstdc++".
prova
LDFLAGS="-L/usr/lib/x86_64-linux-gnu -lstdc++" ; make
oppure riconfigura il make prima di effettuare il make.
./configure LDFLAGS="-L/usr/lib/x86_64-linux-gnu -lstdc++"
Zad
Maggiori informazioni sulla lista
glux