gestern wollte ich einem Kollegen Lazarus vorführen , um ihn die Vorzüge von Lazarus/FreePascal schmackhaft zu machen.
Nun gut , habe ich auf dem verfügbaren Win7-Rechner eine neue Anwendung gestartet , ein paar Standard-Komponenten auf die Form geschmissen und mit etwas Leben gefüllt.
Halt um zu zeigen , wie schnell man eine erste kleine Anwendung erzeugen kann.
Das ganze Projekt dann in einem Ordner mit dem Namen 'Anfänger' abgelegt , so weit so gut, unter Windows.
Im nächsten Stepp wollte ich im zeigen , das man diese Anwendung auch ruckzuck unter Linux zum laufen bekommt.
Auf dem Rechner habe ich auch eine Virtuelle-Box mit Linux Mint drin.
Also Mint in der Box angeschmissen und den Ordner 'Anfänger' auf den Mint-Desktop gezogen , dann Lazarus mit dem Demoprojekt geöffnet.
F9 gedrückt und Laz fing an zu kompilieren , brach aber dann mit folgender Meldung ab :
Code: Alles auswählen
Hint: (11030) Start of reading config file /home/fr/Schreibtisch/LAZ_Stable/fpc/bin/x86_64-linux/fpc.cfg
Hint: (11031) End of reading config file /home/fr/Schreibtisch/LAZ_Stable/fpc/bin/x86_64-linux/fpc.cfg
Free Pascal Compiler version 3.0.4-r37149 [2019/05/15] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Linux for x86-64
(3104) Compiling project1.lpr
(9022) Compiling resource /home/fr/Schreibtisch/Anfänger/lib/x86_64-linux/project1.or
(9015) Linking /home/fr/Schreibtisch/Anfänger/project1
/usr/bin/ld: warning: /home/fr/Schreibtisch/Anfänger/link.res contains output sections; did you forget -T?
/usr/bin/objcopy:/home/fr/Schreibtisch/Anfänger/stC1957d: cannot fill debug link section `"/home/fr/Schreibtisch/Anfänger/project1.dbg"': No such file or directory
/home/fr/Schreibtisch/Anfänger/project1.lpr(21,1) Error: (9013) Error while linking
/home/fr/Schreibtisch/Anfänger/project1.lpr(21,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: /home/fr/Schreibtisch/LAZ_Stable/fpc/bin/x86_64-linux/ppcx64 returned an error exitcode
Na toll , diese Vorführung ging ja mal voll gegen den Baum , also irgendwas mit dem Debugger läuft schief.
Das Problem hat mit dann keine Ruhe gelassen und ich habe mit den Ordner 'Anfänger' auf nen Stick gezogen und zu Hause auf dem Lappi mit Unbutu noch mal probiert .
Gleicher Effekt , 'Error while linking' , Debuggerfehler.
Was mit total verunsichert hat , ich habe erheblich umfangreichere Projekte mit Lazarus unter Linux zum laufen gebracht und bei so einem Popel-Programm macht es nun Mucken.
Stichwort Debugger :
Also habe ich im nächsten Stepp unter Projekteinstellungen den Debugger ausgeschaltet:
Debugger-Informationen für GDB erzeugen auf (OFF).
Neu kompiliert und nun läuft das Progamm , debuggen geht jetzt aber nicht mehr.
Dann Debugger wieder (ON) und die Einstellung:
Externe Datei mit GDB-Debugsymbolen nutzen (-Xg) auf (OFF)
Jetzt kann ich zwar debuggen , aber meine Ausführbare Datei ist nun 21,4MB groß , was ein Schitt.
Danach habe ich noch ein paar Stunden mit diversen anderen Projekt-Einstellungen rumprobiert , aber ohne Erfolg.
Warum zum Teufel laufen meine Großprojekte und diese Simpelprogramm nicht ?
Wo ist der Unterschied ?
Hatte vor einigen Wochen mal enorme Problem mit Leerzeichen in Pfadangaben gehabt und die Leerzeichen ab dann immer vermieden und durchgehende Pfade mit Unterstrich als Trenner
verwendet .
Könnte das auch hier der Fall sein ?
Nö , der Projekt-Ordner heißt schlicht 'Anfänger' , ohne Leerzeichen drinn.
Und dann fiel es mir wie Schuppen von den Augen , ein 'ä' ist im Ordnernamen enthalten , bei meinen anderen Projektpfaden ist kein Umlaut drin.
Nun gut , ändere ich den Pfad mal in 'Anfaenger' um , ist ja schnell gemacht.
Das wars , alles wieder gut , alle Probleme weg , Debuggen geht , kleine Ausführbare Programme sind wieder möglich.
Der GDB-Debugger unter Linux kann keine Umlaute in Pfaden verkraften , unter Windows allerdings schon .
Fazit:
Benutzt unter Linux (in Verbindung mit Lazarus ) niemals Umlaute in Pfadnamen und auch keine Leerzeichen , ersetzt diese durch einen Tiefstrich '_' .
Und womit ich als Umsteiger von (20 Jahren) Windows auf Linux immer wieder Probleme habe , penibel auf die Groß-Klein-Schreibung achten.
Am besten unter Windows auch diese Punkte beachten (auch wenn es hier keine Auswirkungen hat) , dann kann man einfach die Ordner ohne Probleme , von einer Plattform auf die andere , hin und her kopieren .
Gruß
Frank