Hallo Frank
Besten Dank für Deine Info.
Komme gerne auf Dein Abgebot zurück, mich bei Problemen zu melden ;)
Installierter gcc: 3.2 (statt 2.95.???)
Kleines Problem: - MUSS mit SUN's f77 kompilierbar sein. - dieses kennt kein -lgpc -lm, dort muss es -lpfc -lpc heissen.
mod01.pas wurde wie folgt kompiliert: $ gpc -g -c mod01.pas
Tja, leider folgende Linkermeldungen: $ f77 mod01.o -g fmain.f -lpfc -lpc -L /usr/local/lib/gcc-lib/sparc-sun-solaris 2.8/2.95.2/libgpc.a fmain.f: MAIN fmain: Undefined first referenced symbol in file _p_atexit mod01.o ld: fatal: Symbol referencing errors. No output written to a.out
Gleicher Versuch mit g77 (GNU F77 compiler): $ g77 mod01.o -g fmain.f -lgpc -lm -L /usr/local/lib/gcc-lib/sparc-sun-solaris2 .8/2.95.2/libgpc.a ld: fatal: library -lgpc: not found ld: fatal: File processing errors. No output written to a.out collect2: ld returned 1 exit status
Hmmmmm: Wieso findet er -lgpc nicht? $ echo $LD_LIBRARY_PATH /usr/lib:/usr/local/lib ==> Müsste doch eigentlich gehen, oder?
Mit SUN's pc und f77: $ pc -g -c mod02.p
$ f77 mod02.o -g fmain.f -lpfc -lpc fmain.f: MAIN fmain:
$ ./a.out d1 = 4.246000000000000440536496171262 d2 = 4.246000000000000440536496171262 d3 = 4.246000000000000440536496171262
Das Dumme an `pc' ist nur, dass ich aus dem zu compilierendem Delphi Source alle `Advantages' von Borland/Delphi PASCAL entfernen muss, was mich ziemlich ansch**ss*.
Arghhh: So wird aus z.B. aus var s: string[80]; folgendes var s: varying[80] of char; und alle Vorteile die das UNIT Konzept bringt gehen dummerweise auch flöten.
Super, oder?
Die Delphi Source lässt sich ohne grössere Modifikationen per `gpc' kompilieren. Jetzt gilt's nur noch das Problem zu lösen, wie ich das mit f77 kompilieren/linken kann (wenn das überhaupt geht).
Wichtig: Zielkunde kann und will kein `gpc' etc. verwenden :(
Alle bbenötigten Files als Attachment dabei.
Gruss, Roland
-----Ursprüngliche Nachricht----- Von: Frank Heckenbach [mailto:frank@g-n-u.de] Gesendet: Dienstag, 14. Januar 2003 23:42 An: gpc-de@gnu.de; roland@styx.li Betreff: Re: gpc Kompilat mit native F77 von SUNverwenden
Rick Roland schrieb:
Ich sollte ein Delphi Programm in eine Solarisumgebung
portieren. Das ist
mit gpc grundsätzlich kein Problem, aber:
Wie linke ich ein mit gpc kompiliertes Object File (z.B.
myGPCunit.o) mit
einem (uff, jetzt kommt's) native SUN WorkShop 4.2 F77
Compiler von 1995
(ist leider die Problematik)???
Geht das überhaupt?
Ich kenne weder Fortran, noch den Sun-Compiler näher, aber i.a. dürfte sich das Objekt-Format auf Solaris in den letzten paar (?;-) Jahren nicht sehr geändert haben.
Von GPC-Seite dürfte das Selbe gelten wie für Linken mit C-Code (s. demos/gpc_c*). Wenn zum Linken nicht GPC aufgerufen wird, `-lgpc -lm' angeben sowie einen Pfad, der zu libgpc.a führt, mittels `-L'.
Wenn es dann spezielle Probleme gibt, kann man weitersehen.
Frank
-- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: 51FF C1F0 1A77 C6C2 4482 4DDC 117A 9773 7F88 1707