Pagina 1 di 1

ld non trova ogdi

Inviato: mar 2 dic 2008, 16:37
da Communico
Tentando di compilare gdal ho installato ogdi ma ld non lo trova comunque, l'errore che mi da è:

Codice: Seleziona tutto

/usr/lib/gcc/i486-slackware-linux/4.2.3/../../../../i486-slackware-linux/bin/ld: cannot find -logdi31
collect2: ld returned 1 exit status
nonostante ogdi sia installato, infatti:

Codice: Seleziona tutto

slocate ogdi
...
/usr/lib/ogdi/libogdi.so
...
il mio /etc/ld.so.conf era:

Codice: Seleziona tutto

/usr/i486-slackware-linux/lib
/usr/local/lib
/usr/lib/seamonkey
e l'ho modificato in:

Codice: Seleziona tutto

/usr/lib
/usr/i486-slackware-linux/lib
/usr/local/lib
/usr/lib/seamonkey
/usr/lib/ogdi
ho provato anche a dare ld-config ma non cambia nulla, aiutatemi [-o< [-o<

Re: ld non trova ogdi

Inviato: mar 2 dic 2008, 16:52
da conraid

Codice: Seleziona tutto

# ldconfig -p | grep -i odgi
Cosa ti restituisce questo comando?

Re: ld non trova ogdi

Inviato: mar 2 dic 2008, 16:56
da targzeta
Non c'è bisogno di modificare il file /etc/ld.so.conf, le directory /usr/lib e /lib sono directory "fidate" e quindi il linker le va cercare li dentro senza necessariamente che queste siano presenti nel file ld.so.conf.
Per il problema invece, prova a passare al configure la directory in cui si trova la libreria:
/usr/lib/ogdi/
tramite il flag....se non erro si chiama LDFLAGS. Prima però controlla che il pacchetto ogdi abbia un file per '.pc' e controllane il contenuto per vedere se passa bene i parametri al configure.

Spina

Re: ld non trova ogdi

Inviato: mar 2 dic 2008, 17:13
da Communico
conraid:

Codice: Seleziona tutto

libvrf.so (libc6) => /usr/lib/ogdi/libvrf.so
        libskeleton.so (libc6) => /usr/lib/ogdi/libskeleton.so
        librpf.so (libc6) => /usr/lib/ogdi/librpf.so
        libremote.so (libc6) => /usr/lib/ogdi/libremote.so
        libogdi.so.3.2 (libc6) => /usr/lib/ogdi/libogdi.so.3.2
        libogdi.so (libc6) => /usr/lib/ogdi/libogdi.so
        libexpat_ogdi32.so (libc6) => /usr/lib/ogdi/libexpat_ogdi32.so
        libdtusa.so (libc6) => /usr/lib/ogdi/libdtusa.so
        libdted.so (libc6) => /usr/lib/ogdi/libdted.so
        libdtcanada.so (libc6) => /usr/lib/ogdi/libdtcanada.so
        libadrg.so (libc6) => /usr/lib/ogdi/libadrg.so
spina:
nel configure ho provato mettendo --with-libogdi=/usr/lib e ha trovato le lib (con /lib/ogdi non andava) ma poi nel make era ld a dare problemi, se metto LDFLAGS=/usr/lib/ogdi o LDFLAGS=/usr/lib il make non compila praticamente nulla.
Da asche se cerco il src di ogdi mi da errore, ho notato che un pacchetto beta, provo a ricompilarmelo con la stable e vedo che succede

Re: ld non trova ogdi

Inviato: mar 2 dic 2008, 18:08
da targzeta
Communico ha scritto:...
spina:
nel configure ho provato mettendo --with-libogdi=/usr/lib e ha trovato le lib (con /lib/ogdi non andava) ma poi nel make era ld a dare problemi, se metto LDFLAGS=/usr/lib/ogdi o LDFLAGS=/usr/lib il make non compila praticamente nulla.
Da asche se cerco il src di ogdi mi da errore, ho notato che un pacchetto beta, provo a ricompilarmelo con la stable e vedo che succede
E' normale, se non ricordo male (ora sono in biblioteca ed ho windows) anche il

Codice: Seleziona tutto

configure --help
ti spiega come usare la variabile d'ambiente. Dovresti fare, sempre se non erro:

Codice: Seleziona tutto

LDFLAGS=-L/usr/lib/ogdi
in questo modo ogni volta che prova a compilare qualche cosa dovresti notare, nella lunga linea di compilazione del gcc anche un
-L/usr/lib/ogdi
che indica al linker di usare anche quella directory mentre cerca le librerie.

Spina

Re: ld non trova ogdi

Inviato: mar 2 dic 2008, 19:52
da Communico
LDFLAGS=-L/usr/lib/ogdi
si il configure --help dice cosi, ma anche cosi compila poco o nulla...