Fortran korrekt installieren

Müs Lee

Commodore
Registriert
Feb. 2007
Beiträge
4.902
Ahoi,

ich bin überhaupt nicht mit Linux vertraut also bitte nicht gleich hauen ;). Ich habe eine VM mit Ubuntu 15.10 unter W7 laufen (beides 64bit) und möchte den FEM-Solver Calculix darin laufen lassen, allerdings stellt sich Fortran noch quer. Ich habe es immerhin geschafft, das Fortranpaket 4.8 zu installieren, allerdings möchte CCX libgfortran.so.2 haben. Die Fehlermeldung lautet

Code:
./ccx: error while loading shared libraries: libgfortran.so.2: cannot open shared object file: No such file or directory

Die Lösung ist anscheinend eine symbolische Verknüpfung:
Code:
sudo ln -s /usr/libgfortran.so.4 /usr/libgfortran.so.2
Das hat auch geklappt, es erschien die Passwortabfrage und beim erneuten ausführen besteht die Datei bereits, allerdings erscheint die Fehlermeldung immer noch. Hat jemand eine Idee, wie man das ans Laufen kriegt?
 
Ich glaub eher, dass /usr/ nicht in deinem Pfad zum Laden von Bibliotheken ist.
Mach mal ein ldconfig -p|less und schau, ob dein Pfad vorkommt.

Ich denke, besser kopierst du das (oder symlinkst) nach /usr/local/lib oder /usr/lib.

Bei mir ergibt ldconfig|grep fortran
libgfortran.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgfortran.so.3
 
Oha, das sollte natürlich
Code:
sudo ln -s /usr/libgfortran.so.4 /usr/lib/libgfortran.so.2
sein, hilft leider auch nicht. sudo ldconfig|grep fortran macht bei mir gar nix, die Liste mit ldconfig -p|less enthielt keinen Eintrag mit Fortran (außer er wäre mir entgangen).
 
Wie hast du denn das Fortran-Paket installiert? Es erstaunt mich, dass das Ubuntu beigelegte Paket nicht gegen das mitgelieferte Shared Object verlinkt ist...
 
Hm, da kommt die Meldung
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 46 nicht aktualisiert.
Damit hätte sich ja nix zur 4.8 geändert. Jedenfalls funktioniert Calculix damit auch mit erneutem Symlink nicht.
 
Na wie oben geschrieben:

Code:
sudo ln -s /usr/libgfortran.so.4 /usr/lib/libgfortran.so.2
 
Hmm, muss Linux DLLs erst registrieren?
Probier mal ein
Code:
sudo ldconfig -v|grep fortran
Dann sollte ldconfig alle .so suchen und die in die Liste aufnehmen. Wenn dann deine Libs nicht gefunden werden, dann wird's echt komisch. (BTW: Schau mal, wo denn all die anderen, bekannten Libs liegen und versymlinke mal da hin und teste, ob deine /usr/lib/libgfortran.so.2 valide ist ("file /usr/lib/libgfortran.so.2")).
 
Code:
/sbin/ldconfig.real: Pfad »/lib/x86_64-linux-gnu« mehrfach angegeben
/sbin/ldconfig.real: Pfad »/usr/lib/x86_64-linux-gnu« mehrfach angegeben
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.21.so is the dynamic linker, ignoring

	libgfortran.so.3 -> libgfortran.so.3.0.0

Allerdings weiss ich nicht, was ich damit anfangen soll. Wenn ich im Ordner /lib/x86_64-linux-gnu nach dem Stichwort Fortran suche, kommt nix zutage.
 
Code:
/usr/libgfortran.so.1
/usr/libgfortran.so.2
/usr/libgfortran.so.4
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so
/usr/lib/x86_64-linux-gnu/libgfortran.so.3
/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
 
Dann linke doch mit

Code:
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so /usr/lib/libgfortran.so.2

oder vielleicht

Code:
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so.2
 
Hm, jetzt kommt beim Ausführen von Calculix

Code:
./ccx: symbol lookup error: ./ccx: undefined symbol: _gfortran_internal_malloc

Irgendwie ist das wesentlich umständlicher als gedacht :lol:
 
Hm, immer noch ./ccx: symbol lookup error: ./ccx: undefined symbol: _gfortran_internal_malloc. Im übrigen scheine ich keinen Ordner gcc zu haben :confused_alt: Ich habe das Paket wieder mit sudo apt-get install lib32gfortran-4.8-dev installiert.
 
Zurück
Oben