Problem bei Umstellung von Laz 1.8 auf 2.4

Für Installationen unter Linux-Systemen
Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von Oldeman »

Hallo Leute,

nach längerer Zeit ist es mir endlich gelungen, meinen Lazarus von 1.8 auf 2.4 umzustellen. Nur kann ich jetzt nicht mehr kompilieren. Ich erhalte die folgenden Fehlermeldungen:

PCrofun.pas(27,1) Warning: "crtbeginS.o" not found, this will probably cause a linking failure
PCrofun.pas(27,1) Warning: "crtendS.o" not found, this will probably cause a linking failure
Warning: linker: /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libc_nonshared.a(atexit.oS): in function `atexit':
Error: (.text+0x7): undefined reference to `__dso_handle'
Warning: linker: /usr/bin/ld: /home/. . ./Lazarus/Projekte/Crofunding/PCrofun: hidden symbol `__dso_handle' isn't defined
Warning: linker: /usr/bin/ld: final link failed: bad value
PCrofun.pas(27,1) Error: Error while linking

Die angegebenen Zeilennummern weisen auf die letzte Codezeile "end." des Programmmoduls hin. Ich habe an den Sourcen nichts geändert. Das Projekt hat zum Schluss unter 1.8 formal fehlerfrei kompiliert. Mit diesen Fehlern fange ich leider nix an.

Die drei Module fpc, src und lazarus habe ich in der von malabrista am 29.5.2019 angegebenen Reihenfolge installiert. Die Kompilierung habe ich mit mehreren Methoden, zuletzt Shift-F9 durchgeführt, immer mit dem gleichen Ergebnis.

Gibt es nicht irgendwo einen Leitfaden "Umstellung von Release 1 auf Release 2" oder sowas? (Oder habe ich nur schlecht gesucht?)

Betriebssystem: Ubuntu 22.04

Für jede Hilfe dankbar.
Oldeman

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von theo »

Ein bisschen ausführlicher wäre nicht schlecht.

1. Hast du nur Lazarus oder das ganze Betriebssystem upgedatet?
2. Gab es einen Wechsel von 32 bit auf 64 bit?
3. Funktioniert Lazarus gar nicht oder nur das eine Projekt?
4. Was ist "Crofunding/PCrofun"?

wp_xyz
Beiträge: 4892
Registriert: Fr 8. Apr 2011, 09:01

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von wp_xyz »

Laz 2.4? Gibt es noch gar nicht...

Tritt das Problem auch bei einem neuen, leeren Projekt auf? Zwischen Laz 1.8 und 2.irgendwas liegt eine lange Zeit, da hat sich viel verändert, und du musst damit rechnen, dass nicht alles reibungslos klappt.

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von six1 »

Hast du mal "Aufräumen und Kompilieren" probiert?
Gruß, Michael

Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von Oldeman »

Hallo,

@theo:
1.) Das Ubuntu 22.4 habe ich auf einer funkelnagelneuen SSD aufgesetzt. Danach das Lazarus-Verzeichnis komplett und unverändert auf die neue SSD kopiert.
2.) Nein auch das bisherige 18.4 war auf 64 Bit (selbe Maschine)
3.) 'Hello World' funktioniert... Aber jetzt sehe ich:
project1.lpr(24,1) Warning: "crtbeginS.o" not found, this will probably cause a linking failure
project1.lpr(24,1) Warning: "crtendS.o" not found, this will probably cause a linking failure

4.) Ein Anwendungsprogramm

@wp_xyz: Siehe https://wiki.freepascal.org/Lazarus_2.4.0_release_notes.
Aber ich streue Asche auf mein Haupt. Hätte 2.2.4 heißen sollen

Leeres Programm? Siehe oben "Hello world".

Auch wenn sich viel verändert hat, ich hätte halt trotzdem gerne mein Programm unter Rel. 2 zum Laufen gebracht...

@six1:
Habe "Aufräumen und Kompilieren" jetzt ausprobiert. Bringt erst Fehlermeldung: "Die Datei "/usr/share/lazarus/2.2.4/components/PascalScript/Source/lib/x86_64-linux/PascalScript_Core_Reg.o" kann nicht gelöscht werden." Dann Click auf "Überspringen", selbe Meldungen wie ursprünglich beschrieben.

Gruß
Oldeman

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von theo »

Oldeman hat geschrieben:
Sa 11. Mär 2023, 15:35
@theo:
1.) Das Ubuntu 22.4 habe ich auf einer funkelnagelneuen SSD aufgesetzt. Danach das Lazarus-Verzeichnis komplett und unverändert auf die neue SSD kopiert.
2.) Nein auch das bisherige 18.4 war auf 64 Bit (selbe Maschine)
3.) 'Hello World' funktioniert... Aber jetzt sehe ich:
project1.lpr(24,1) Warning: "crtbeginS.o" not found, this will probably cause a linking failure
project1.lpr(24,1) Warning: "crtendS.o" not found, this will probably cause a linking failure
4.) Ein Anwendungsprogramm
1: Was heisst für dich "Lazarus-Verzeichnis"? Die Lazarus-Installation oder deine Projekte?
3: Das spielt keine Rolle.
4: Naja, irgend etwas ist bei dem "Anwendungsprogramm" halt anders, aber aus deiner Antwort kann ich nicht ergründen was es ist.

Generell würde ich dir empfehlen, Lazarus unter deinem Home Verzeichnis zu installieren und nicht in "/usr/share/".
Das bringt für Einzelbenutzer nur Komplikationen und keine Vorteile.

Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von Oldeman »

Hallo theo,

die Frage ist berechtigt. In dem erwähnten "Lazarus-Verzeichnis" sind meine Projekte.

Lazarus wird von sourceforge.net automatisch In /usr/share installiert. Da niemand außer mir diesen Rechner verwendet, kann das doch wohl keine Probleme geben und bei der Installation wird nicht nach dem Verzeichnis gefragt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6212
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von af0815 »

Es gibt auf Englisch hier
https://forum.lazarus.freepascal.org/in ... ic=34288.0
https://wiki.lazarus.freepascal.org/Laz ... _not_found
https://forum.lazarus.freepascal.org/in ... ic=36144.0
Dürft auf einige Plattformen zu Problemen kommen, sieht nach Pfaden im fpc.cfg aus.

Ach ja, Lazarus ist in Version 2.2.6 heraussen und 2.2.4 ist alt :-) So schnell kann es gehen :shock:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von hum4n0id3 »

Vielleicht fpcupdeluxe ausprobieren. Mittlerweile habe auch ich rausgefunden wie das unter Linux funktioniert. :lol:

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von theo »

Oldeman hat geschrieben:
Sa 11. Mär 2023, 18:27
Lazarus wird von sourceforge.net automatisch In /usr/share installiert. Da niemand außer mir diesen Rechner verwendet, kann das doch wohl keine Probleme geben und bei der Installation wird nicht nach dem Verzeichnis gefragt.
Nein, umgekehrt.
Wenn du alleine bist, hast du keine Vorteile von der Root-Installation.
Das da:
Habe "Aufräumen und Kompilieren" jetzt ausprobiert. Bringt erst Fehlermeldung: "Die Datei "/usr/share/lazarus/2.2.4/components/PascalScript/Source/lib/x86_64-linux/PascalScript_Core_Reg.o" kann nicht gelöscht werden." Dann Click auf "Überspringen", selbe Meldungen wie ursprünglich beschrieben.
gibt es, weil du als User dort keine Schreibrechte hast.

Meine Empfehlung wäre auch die Installation mit fpcupdeluxe

charlytango
Beiträge: 844
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von charlytango »

ich kann theo nur vollinhaltlich zustimmen. Installation von Lazarus mit fpcupdeluxe ist das flexibelste und einfachste was man machen kann.
Als absoluter Linux- Rookie (also jemand der sich nciht wirklich damit auskennt) ist mir damit auf Anhieb die Installation gelungen.

Und alles ins Home-Verzeichnis. Damit kann man leicht mehrere funktionierende Installationen unterschiedlicher Versionen parallel betreiben, womit dir alles was du erlebt hast erspart bleibt denn mit einer neuen Version testen oder zwischen Versionen switchen ist damit ein klacks. Eine (funktionierende) Installation bleibt bei mir immer unangetastet bis ich sicher bin dass ich auf die neue Version wechseln kann.

Wenn ich eine Version nicht mehr brauche wird einfach das Verzeichnis gelöscht und fertig.

Obwohl DonAlfredo hier genaue Anweisungen gibt ist es manchmal auch kein Schaden wenn man sich mal ein YT Video dazu ansieht. Suchstichworte "lazarus, fpcupdeluxe, linux" finden auf YT einige Videos.

Meine Strategie:
Ich lege für jede installierte Lazarus/FPC Installation ein eigenes Verzeichnis an in das ich zu allererst die aktuelle fpcupdeluxe Version kopiere und von dort aufrufe - Installationspfad anpassen und los. Dann ist auch das Update oder fixes etc ein Klacks.
Wenn die Installation fertig ist installiere ich noch mit fpcupdeluxe den OPM (OnlinePackageManager - großer Button Im Tab Modules). Den rufe ich dann per Lazarus auf und installiere mir die nötigen Packages -- dazu kann man im OPM unterschiedliche Installationslisten abspeichern und benutzen.

Nie mitgezählt aber gefühlte vier Mauklicks und einen Frühstückscafe ist alles bereit -- falls die Voraussezuungen passen.

Ach ja - Lazarusverzeichnisse irgend wohin zu kopieren macht wegen der Pfade in diversen Configdateien nur Probleme.

Sourcen kommen in ein eigenes Verzeichnis im Home mit dem sinnigen Namen "Source" und die einzelnen Projekte drunter.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6212
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von af0815 »

Ich kann charlytango nur zustimmen.

Ich halte die Installationen strikt getrennt und noch strikter getrennt von meinen Projekten. Einen Test mache ich immer, Lazarus muss sich selbst clean rekompilieren können.

Wenn ich mir eine neue Version von Lazarus/FPC(/OPM) baue, so bleibt die bisherige unangetastet. Wichtig ist nur die eigenen Projekte dann einmal clean zu kompilieren, so das die neue Version auch wirklich ankommt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 844
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von charlytango »

af0815 hat geschrieben:
So 12. Mär 2023, 18:29
Wichtig ist nur die eigenen Projekte dann einmal clean zu kompilieren, so das die neue Version auch wirklich ankommt.
Und damit ich Hirni das nicht vergesse steht bei den entscheidenden Projekten

Unit Output Directory
lib\$(TargetCPU)-$(TargetOS)-$(LazVer)

auch die Lazarusversion drin

Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

Re: Problem bei Umstellung von Laz 1.8 auf 2.2

Beitrag von Oldeman »

Hallo,

Hat alles nix genutzt - ich habe die Programme dann einzeln neu erstellt und den Code, inkl. .lfm, übernommen. Das hat funktioniert. Etwas mühsam.

Bleibt nur ein Problem: die Eigenschaft color als Hintergrundfarbe bei den TEdits funktioniert nicht mehr. Nicht beim Erstellen mit der IDE, nicht während des Programmablaufs. In 1.8 war das einwandfrei.

Nach längerer Pause programmiere ich jetzt wieder,

Gruß Oldeman

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6212
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem bei Umstellung von Laz 1.8 auf 2.4

Beitrag von af0815 »

Es gibt bei den Versionswechsel immer einen Hinweis mit 'Breaking changes'. Da steht drinnen was gefixt/geändert wurde. Besonders wenn im FPC was geändert wurde, so kann bisheriger Code zuweilen nicht mehr kompiliert werden. Und du hast keinen kleinen Sprung gemacht. 1.8 auf 2.2 ist schon etwas mehr.
Ich halte das so. Nachdem bei mir der alte fpc/Lazarus ( bei dir wäre das die V1.8) auch mit fpcupdeluxe installiert wird, kann ich den neuen fpc/Lazarus side by side installieren, ohne das sich die beeinflussen. Damit kann ich die Migration weiterbringen, weil ich anhand der Fehlermeldungen mal nachschauen kann, wo breaking changes sind. Nachdem bei mir Code immer im GIT ist, kann ich die Migration auch in einem eigenen Branch machen. Bis jetzt habe ich alle Programme seit Lazarus 0.9 immer auf höhere Versionen migrieren können. Umgekehrt geht es manchmal nicht so einfach, das sollte aber auch nicht notwendig sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten