Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [Erledigt] GNU Pascal - /usr/bin/ld: cannot find -lgcc  (Read 7698 times)

Offline OppaErich

  • OLE
  • User
  • Posts: 381
[DE] [Erledigt] GNU Pascal - /usr/bin/ld: cannot find -lgcc
« on: 2016/05/23, 17:13:41 »
Hallo,


ich versuche verzweifelt den GNU Pascal Compiler zum Laufen zu bringen. So einige Fehlermeldungen konnte ich beheben. Es bleibt aber:
Code: [Select]

gpc "ea42.pas" --standard-pascal -Wa,--32 (in directory: /home/oppa/Documents/FU_Hagen/SS2016/Programmierung01613/pascal)
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status
Compilation failed.
Hmm, die crt*.o war ich gerstern schon los. Es blieb die -lgcc.
Code: [Select]

root@oppa-hex-ssd:~# ldconfig -p | grep gcc
   libuno_salhelpergcc3.so.3 (libc6,x86-64) => /usr/lib/libuno_salhelpergcc3.so.3
   libuno_purpenvhelpergcc3.so.3 (libc6,x86-64) => /usr/lib/libuno_purpenvhelpergcc3.so.3
   libuno_cppuhelpergcc3.so.3 (libc6,x86-64) => /usr/lib/libuno_cppuhelpergcc3.so.3
   libgccpp.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgccpp.so.1
   libgcc_s.so.1 (libc6,x32) => /usr/libx32/libgcc_s.so.1
   libgcc_s.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgcc_s.so.1
   libgcc_s.so.1 (libc6) => /lib/i386-linux-gnu/libgcc_s.so.1
   libgcc_s.so.1 (libc6) => /usr/lib32/libgcc_s.so.1

root@oppa-hex-ssd:~# ldconfig -p | grep crt*.o
Da kommt nichts

root@oppa-hex-ssd:~# find / -name crt*.o
...

/usr/libx32/crtn.o
/usr/libx32/crti.o
/usr/libx32/crt1.o
/usr/lib32/crtn.o
/usr/lib32/crti.o
/usr/lib32/crt1.o
...


Die libgcc scheint es ja wirklich nicht zu geben. Alles was ich im Netz gefunden hatte war: build-essential fehlt. Die ist aber installiert bei mir. Es geht um 32bit libs.


Was kann ich tun ?


Stephan
« Last Edit: 2016/05/24, 17:31:40 by OppaErich »

Offline horo

  • User
  • Posts: 199
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #1 on: 2016/05/23, 19:34:08 »
Hi,

gpc ist ja wohl etwas alt, Wikipedia sagt dazu: „Die letzte offizielle Version von GPC datiert auf den 25. März 2006. Es kann somit wohl davon ausgegangen werden, dass GPC nicht mehr weiterentwickelt wird.“
Warum nimmst Du nicht den FPC, den auch die FU Hagen vorschlägt, ist es Interesse am Experiment?

Ciao, Martin
omnia vincit pecunia :(

Offline OppaErich

  • OLE
  • User
  • Posts: 381
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #2 on: 2016/05/23, 20:01:47 »
Den fpc nehme ich ja. Aber in der Uni läuft der GPC und es kommt immer wieder vor dass es unter fpc einwandfrei läuft, aber der Uni Compiler Husten kriegt. fpc hat leider keinen switch um ihn auf ISO-Pascal zu beschränken.


Der Fisch ist jetzt so gut wie gegessen. Jetzt geht es mehr um's Prinzip, irgendwie muss man dem Linker doch sagen können wo er die libs findet.  :(

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #3 on: 2016/05/23, 20:12:13 »
Zweitfach: Tote Pferde reiten?
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline OppaErich

  • OLE
  • User
  • Posts: 381
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #4 on: 2016/05/23, 21:09:21 »
Zweitfach: Tote Pferde reiten?
;D Naja, Pascal ist ja schon ein totes Pferd. Ich habe das mal zu frühen DOS Zeiten ein paar Wochen geritten. TP3 oder so...


Pascal, aber heftig Zeiger verbiegen... Schon irgendwie lustig der Kurs.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #5 on: 2016/05/23, 21:13:16 »
nimmt man zum Zeiger frickeln nicht reines C? Das wurde doch dazu erfunden, soweit ich mich richtig erinnere - pascal und später modula2 sollten doch dagegen strukturiert sein und ansatzweise auf solchen Mist verzichten. Hab ich zumindest mal irgendwann Ende der 80er Jahre des letzen Jahrhunderts gehört :P
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline horo

  • User
  • Posts: 199
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #6 on: 2016/05/23, 21:34:02 »
Ja, die Computer-Steinzeit, schön war's...
Blue Label Pascal war um 1980 die Offenbarung auf dem Nascom (Z80), 12K für Editor und Compiler. Daraus hat sich dann Compass für CP/M und schließlich Turbo Pascal für DOS entwickelt - viel einfacher zu handhaben als das später entstandene Turbo C.

Ciao, Martin
omnia vincit pecunia :(

Offline OppaErich

  • OLE
  • User
  • Posts: 381
Re: GNU Pascal - /usr/bin/ld: cannot find -lgcc
« Reply #7 on: 2016/05/24, 11:48:15 »
nimmt man zum Zeiger frickeln nicht reines C?
Dachte (hoffte) ich auch, vor Zeigern habe ich mir immer in die Hose gemacht und bin weggelaufen. Tja, nun haben sie mich eingeholt. Hat aber gar nicht wehgetan.  ???


Ich habe das von Dir erwähnte Tool einmal rausgeholt und richtig draufgehauen. Einfach einen Symlink libgcc.so -> libgcc_s.so gelegt und siehe da
Code: [Select]

gpc "ea42.pas" --standard-pascal --no-short-circuit -Wa,--32 (in directory: /home/oppa/Documents/FU_Hagen/SS2016/Programmierung01613/pascal)
Compilation finished successfully.
und der generierte Code spielt auch. Und siehe weiter bei einer anderen Aufgabe
Code: [Select]

gpc "ea45.pas" --standard-pascal --no-short-circuit -Wa,--32 (in directory: /home/oppa/Documents/FU_Hagen/SS2016/Programmierung01613/pascal)
ea45.pas: In main program:
ea45.pas:40: the address operator is a Borland Pascal extension
ea45.pas:41: the address operator is a Borland Pascal extension
ea45.pas:42: the address operator is a Borland Pascal extension
ea45.pas:43: the address operator is a Borland Pascal extension
ea45.pas:45: the address operator is a Borland Pascal extension
Compilation failed.
Da habe ich für den Testbaum den ich mir genagelt habe Erweiterungen verwendet.


Ich muss aber aus der Konsole starten, starte ich aus dem Gnome dann
Code: [Select]

gpc "ea42.pas" --standard-pascal --no-short-circuit -Wa,--32 (in directory: /home/oppa/Documents/FU_Hagen/SS2016/Programmierung01613/pascal)
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status
Compilation failed.


Egal, wird halt aus der Konsole gestartet.


Ja, die Computer-Steinzeit, schön war's...
Als die Frauen noch Körperbehaarung hatten und man Rechenwerken bei der Arbeit zuhören konnte...
« Last Edit: 2016/05/24, 11:53:41 by OppaErich »