ubuntuusers.de

Standardpfade nach Pattern durchsuchen: make sucht im falschen Verzeichnis

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

stephcar

Avatar von stephcar

Anmeldungsdatum:
29. März 2005

Beiträge: 139

Hi,

ich habe ein Problem beim Kompilieren der netcdf-bib (parallele Version).

Speziell hängts wohl an meinen Pfaden. Das Problem ist, ich bin kein Admin. Der Admin des Rechners hat in seinem eigenen Verzeichnis (hier: /root/treiber) eine veraltete Version installiert (auch selbst kompiliert nicht aus den repositories).

Dummerweise brauche ich eine neue Version und will diese lokal in /home/stephcar/bin installieren.

Eigentlich dachte ich, dass ich über die compiler-flags alle zu nutzenden Pfade vorschreibe:

1
CPPFLAGS=-I/home/stephcar/bin/include LDFLAGS=-L/home/stephcar/bin/lib LIBS='-L/home/stephcar/bin/lib  -lnetcdf -L/home/stephcar/bin/lib -lhdf5_hl -lhdf5 -lz -lm -L/home/stephcar/bin/lib -lsz' CC=/home/stephcar/bin/bin/mpicc FC=/home/stephcar/bin/bin/mpif90 ./configure --enable-pnetcdf --prefix=/home/stephcar/bin/

BTW: in $PATH und $LD_LIBRARY_PATH steht auch jeweils /home/stephcar/bin/ an erster Stelle, sollte also auch als erstes untersucht werden.

Dennoch funktioniert das alles nicht und das Verzichnis /root/treiber meines admins wird durchsucht ... Hier bekomme ich bei make folgenden Fehler:

/bin/sh ../libtool  --tag=CC   --mode=link /home/stephcar/bin/bin/mpicc  -g -O2  -L/home/stephcar/bin/lib -o liboc.la  
liboc_la-oc.lo liboc_la-daplex.lo liboc_la-dapparse.lo liboc_la-daptab.lo liboc_la-occlientparams.lo liboc_la-occompile.lo 
liboc_la-occurlfunctions.lo liboc_la-ocdata.lo liboc_la-ocdebug.lo liboc_la-ocdump.lo liboc_la-ocinternal.lo liboc_la-ocnode.lo
liboc_la-ochttp.lo liboc_la-ocrc.lo liboc_la-ocread.lo liboc_la-ocutil.lo liboc_la-ocbytes.lo liboc_la-oclist.lo liboc_la-ocuri.lo
liboc_la-oclog.lo liboc_la-xxdr.lo   -lpnetcdf -lm -L/home/stephcar/bin/lib  -lnetcdf -L/home/stephcar/bin/lib -lhdf5_hl -lhdf5 
-lz -lm -L/home/stephcar/bin/lib -lsz

/usr/bin/grep: /root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la: Permission denied

/usr/bin/sed: can't read /root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la: Permission denied

libtool: link: `/root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la' is not a valid libtool archive

make[2]: *** [liboc.la] Fehler 1

Hat da jemand eine Idee? Welche Standardpfade gibt es noch und wie kann ich diese nach einem Pattern (hier also /root/treiber) durchsuchen?

Danke Stephan

PS: Ein Installieren aus den Repositories ist auch erstmal nicht möglich...

Dee Team-Icon

Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

Ich könnte mich irren, aber werden die Pfade beim Kompilieren nicht von hinten nach vorne durchsucht? Ansonsten kannst Du aber auch einmalig $LD_LIBRARY_PATH für den Befehl überschreiben:

LD_LIBRARY_PATH=/home/stephcar/bin/lib make

Gruß Dee

stephcar

(Themenstarter)
Avatar von stephcar

Anmeldungsdatum:
29. März 2005

Beiträge: 139

Hi Dee,

gute Idee, aber dann fehlen mir leider noch andere Abhängigkeiten.

Vermutlich ist die Kiste zu konfiguriert: - Installation via Paketmanager - selbst kompilierte und installierte Sachen von unserm admin nach /usr/local - meine eigenen Sachen in ~/bin - und da und hier noch etwas rumgefrickelt...

M.E. müsste man die Kiste neu aufsetzen. Evtl kriegt man sowas besser mit modules (http://modules.sourceforge.net/) hin...

Oder hagelt es hier evtl doch noch andere Vorschläge?

Grüße!

Dee Team-Icon

Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

Auch wenn es etwas Frickelei ist, kannst Du den LD-Pfad doch bei dem Aufruf immer weiter erweitern, bis Du alle Libs in der richtigen Reihenfolge siehst. Wie gesagt, ist sicherlich etwas Testerei...

Gruß Dee

stephcar

(Themenstarter)
Avatar von stephcar

Anmeldungsdatum:
29. März 2005

Beiträge: 139

Stimmt, gute Idee, damit komme ich einen Schritt weiter...

Dennoch, ganz schön vertrackt...

Antworten |