Roland Rick schrieb:
Dass es mit g77 nicht klappte war, weil ich die Datei statt den Pfad zu libgpc.a angegeben hatte
Die Datei angeben, müsste normalerweise auch gehen (dann natürlich den vollen Dateinamen mit libgpc.a statt -lgpc).
Leider komm ich beim Verwenden von SUN's f77 als Compiler/Linker nicht ein bisschen weiter.
Gebe ich alle "muss" Libraries an, meldet der Linker:
$ f77 fmain.f mod01.o -g -L /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3 -lgpc -lm -lpfc -lpc
fmain.f: MAIN fmain: Undefined first referenced symbol in file __ashldi3 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/libgpc.a(move.o) __ashrdi3 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/libgpc.a(sets.o) __fixtfdi /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/libgpc.a(numtodec.o) ld: fatal: Symbol referencing errors. No output written to a.out
Dann musst du vermutlich noch -lgcc angeben (und halt libgcc.a bereit stellen). Ich denke nach -lgpc (evtl. mit den Reihenfolge der Libs experimentieren).
Lasse ich -lgpc -lm weg, erhalte ich:
[...]
==> Wie bringe ich f77 bei, wo _p_atexit (ich vermute das kommt von gpc) zu finden ist?
Das ist in -lgpc, das war vorher schon ok.
==> Gibt's eine Möglichkeit das Hauptprogramm fmain.f auch zuerst mit der `-c' Option zu kompilieren und dann von Hand zu linken?
Weiß ich nicht. Das betrifft wohl den Aufruf des Fortran-Compilers, den ich nicht kenne, also probier's einfach mal oder schau dir dessen Dokumentation an. Dürfte aber in jedem Fall nicht viel bringen, weil das Problem ja nicht beim Kompilieren, sondern beim Linken auftritt.
Frank