Error while linking :(

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Error while linking :(

Beitrag von wastl »

Hallo

Ich habe mal Lazarus auf MacOS 10.5 "Leopard" installiert. Ich habe den svn snapshot mit carbon interface compiliert. Das hat auch soweit funktioniert. Lazarus kann auch gestartet werden und ich kann mit der IDE ein Form bauen und handler schreiben, soweit alles normal.
Versuche ich aber dann meine Applikation zu compilieren bricht er immer mit der Meldung "Error: Error while linking" ab. Selbst wenn ich nur eine ganz simple test Applikation nehme (1x Memo 1x Button, ein Handler für den Buttonclick der im Memo was ausgibt) das selbe Fehlerbild. Leider habe ich nirgends was gefunden, ich vermute aber das es an den Einstellungen liegt.

Hier ein Auszug aus dem Output auf der Console beim compilieren. Wenn ich Lazarus über die .app starte komme ich da ja nicht ran:

Code: Alles auswählen

TCompiler.Compile WorkingDir="/Users/wastl/Documents/" CompilerFilename="/usr/local/bin/fpc" CompilerParams=" -S2cgi -OG1 -TDarwin -Pi386  -k-framework -kcarbon -k-framework -kOpenGL -vewnhi -Fl/usr/X11R6/lib/ -Fu../lazarus/lcl/units/i386-darwin/ -Fu../lazarus/lcl/units/i386-darwin/carbon/ -Fu../lazarus/packager/units/i386-darwin/ -Fu. -oproject1 -dLCL -dLCLcarbon project1.lpr"
[TCompiler.Compile] CmdLine="/usr/local/bin/fpc -B  -S2cgi -OG1 -TDarwin -Pi386  -k-framework -kcarbon -k-framework -kOpenGL -vewnhi -Fl/usr/X11R6/lib/ -Fu../lazarus/lcl/units/i386-darwin/ -Fu../lazarus/lcl/units/i386-darwin/carbon/ -Fu../lazarus/packager/units/i386-darwin/ -Fu. -oproject1 -dLCL -dLCLcarbon project1.lpr"
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Warning: You are using the obsolete switch -OG
Free Pascal Compiler version 2.2.0 [2007/11/14] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Darwin for i386
Compiling project1.lpr
Compiling unit1.pas
unit1.pas(17,28) Hint: Parameter "Sender" not used
Assembling unit1
Assembling project1
Linking project1
ld64: warning: option -s is obsolete and being ignored
ld: atom sorting error for DEBUGSTART_LCLSTRCONSTS and DEBUGEND_LCLSTRCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/lclstrconsts.o
ld: atom sorting error for DEBUGSTART_LCLSTRCONSTS and DEBUGEND_LCLSTRCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/lclstrconsts.o
ld: atom sorting error for DEBUGSTART_LCLSTRCONSTS and DEBUGEND_LCLSTRCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/lclstrconsts.o
ld: atom sorting error for DEBUGSTART_LCLSTRCONSTS and DEBUGEND_LCLSTRCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/lclstrconsts.o
ld: atom sorting error for DEBUGEND_TMSCHEMA and DEBUGSTART_TMSCHEMA in /Users/wastl/lazarus/lcl/units/i386-darwin/tmschema.o
ld: atom sorting error for DEBUGEND_TMSCHEMA and DEBUGSTART_TMSCHEMA in /Users/wastl/lazarus/lcl/units/i386-darwin/tmschema.o
ld: atom sorting error for DEBUGEND_TMSCHEMA and DEBUGSTART_TMSCHEMA in /Users/wastl/lazarus/lcl/units/i386-darwin/tmschema.o
ld: atom sorting error for DEBUGEND_TMSCHEMA and DEBUGSTART_TMSCHEMA in /Users/wastl/lazarus/lcl/units/i386-darwin/tmschema.o
ld: atom sorting error for DEBUGEND_LCLVERSION and DEBUGSTART_LCLVERSION in /Users/wastl/lazarus/lcl/units/i386-darwin/lclversion.o
ld: atom sorting error for DEBUGEND_LCLVERSION and DEBUGSTART_LCLVERSION in /Users/wastl/lazarus/lcl/units/i386-darwin/lclversion.o
ld: atom sorting error for DEBUGEND_LCLVERSION and DEBUGSTART_LCLVERSION in /Users/wastl/lazarus/lcl/units/i386-darwin/lclversion.o
ld: atom sorting error for DEBUGEND_LCLVERSION and DEBUGSTART_LCLVERSION in /Users/wastl/lazarus/lcl/units/i386-darwin/lclversion.o
ld: atom sorting error for DEBUGEND_CARBONDBGCONSTS and DEBUGSTART_CARBONDBGCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/carbondbgconsts.o
ld: atom sorting error for DEBUGEND_CARBONDBGCONSTS and DEBUGSTART_CARBONDBGCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/carbondbgconsts.o
ld: atom sorting error for DEBUGEND_CARBONDBGCONSTS and DEBUGSTART_CARBONDBGCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/carbondbgconsts.o
ld: atom sorting error for DEBUGEND_CARBONDBGCONSTS and DEBUGSTART_CARBONDBGCONSTS in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/carbondbgconsts.o
ld: atom sorting error for DEBUGSTART_OPENGL and DEBUGEND_OPENGL in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/opengl.o
ld: atom sorting error for DEBUGSTART_OPENGL and DEBUGEND_OPENGL in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/opengl.o
ld: atom sorting error for DEBUGSTART_OPENGL and DEBUGEND_OPENGL in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/opengl.o
ld: atom sorting error for DEBUGSTART_OPENGL and DEBUGEND_OPENGL in /Users/wastl/lazarus/lcl/units/i386-darwin/carbon/opengl.o
ld: cycle in dylib re-exports with /usr/X11R6/lib//libGL.dylib
Error: Error while linking


Wer weiss Rat?

lg
wastl

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Eine ganz einfache Anwendung braucht bei dir OpenGL ?

Hast du in den Linkereinstellungen Framework Carbon mit angegeben ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Beitrag von wastl »

hm ich hab garnix eingestellt das hat laz alles selber so zusammengefrickelt. Es wurde mit Carbon API compilliert wie gesagt und die Linkereinstellungen stehen am Anfang des Code Snipplets in meinem ersten Posting :)

lg
wastl

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Eben drum, lies doch mal die entsprechende Dokumentation (Lazarus Wiki->Carbon) Google bringt einen mit Treffer 3 direkt dorthin.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich habs gerad mal selbst probiert, da hat sich ja richtig was getan.
Fpc 2.1.1 und source installiert, lazarus aus dem svn geholt, für carbon übersetzt, mit klick auf das (nebenbei bemerkt hinreissende) symbol gestartet (lazarus.app).
Erste überraschung das carbon interface macht nen sehr guten eindruck.
leeres projekt erstellt -> kompiliert (ohne jedes problem) -> gestartet.
zweite Überraschung Lazarus fragt nach ob ein .app bundle erstellt werden soll und damit gestartet.
Danach hat dann der Bugteufel zugeschlagen und mich das Form nicht erstellen lassen weil er wohl LCLVersion nicht kennt. Wie das sein kann mit nem frisch erstellten projekt und ner frisch compilierten LCL erschliesst sich mir noch nicht ganz aber ok.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ovidius
Beiträge: 86
Registriert: Mo 11. Sep 2006, 12:54
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bremen

Beitrag von ovidius »

Der Fehler mit dem Linker ist bekannt und geht auf eine „Verbesserung“ des Linkers zurück. Die korrekte Option für fpc findest Du hier:


Wiki Eintrag zu LCL Carbon

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das man das Framework angeben muss ist ja kein fehler das aktuelle SVN scheint das aber schon von sich aus zu machen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

ovidius
Beiträge: 86
Registriert: Mo 11. Sep 2006, 12:54
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bremen

Beitrag von ovidius »

Vielleicht reden wir aneinander vorbei. Der Linker unter 10.5 findet die OpenGL Library doppelt, nämlich einmal im OpenGL Framework und einmal bei den X11 Libraries. Unter 10.4 nimmt er dann die aus dem OpenGL framework, unter 10.5 bleibt er an dieser Stelle einfach hängen.

Mit anderen Worten, was unter 10.4 problemlos ging, macht unter 10.5 Probleme. Man muss die Optionen etwas aufblähen (siehe meinen Link oben).

Ich benutze allerdings schon eine drei Tage alte Version, vlt. hat sich das inzwischen auch schon erledigt, aber der Fehler oben geht eindeutig auf dieses Linkerproblem zurück.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

OK, das hab ich noch nicht mitbekommen ich hab nur n 10.4, und hauptsächlich mit dem Problem das ich keine Packages installieren kann zu kämpfen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

na danke

Beitrag von wastl »

das hilft mir jetzt sehr viel weiter :/
Nach der Anleitung im Wiki habe ich Laz ja aus dem svn compiliert. Also mit genau dem was da steht!
Das Carbon Interface funktioniert ja auch aber ich kann wie gesagt kein einziges Projekt damt compilieren weil beim Linken immer obiger Fehler auftritt..

wastl

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Beitrag von wastl »

LCL Widget Carbon ist eingestellt...anderweitige Optionen nicht zu finden im Wiki. Ich hab sogar die ZUsatzoptionen probiert die im Wiki bei LCL unte rLaz cimpilen stehen - ohne Erfolg.

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Beitrag von wastl »

auch ein neuerlicher soeben ausgeführter svn checkout mit anschliessendem Neucompilieren von Laz gemäss make Befahl aus dem Wiki brachte keine Änderung.
Wenn der "Fehler" bekannt ist warum bitte schreibt dann niemand mal irgendwo eine vernünftige Lösung dafür nieder? Oder gibt es etwa keine?

lg
wastl

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Beitrag von wastl »

hm habe die sourcen mal gelöscht und nochal ein svn checkout gemacht, danach make clean und make distclean und dann mit den im Wiki angegebenen Optionen nochmal laz compiliert: ergebnis jetzt erzählt mir mein macos immer das es laz nicht starten kann weil es auf dieser Architektur nicht unterstützt würde. ./startlazarus auf der console startet laz aber nur das app bundle funktioniert nicht.
Anscheinend ist nun an dieser svn version wieder was anderes im argen...
Da ich Laz nicht mehr starten kann (startlazaurs startet es zwar aber die ide ist dann nicht benutzbar) kann ich so auch nichts weitertesten...

lg
wastl

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Steht das hier : "-k-framework -kcarbon -k-framework -kOpenGL" schon in deinen Linkereinstellungen ?

Und Poste nicht im virtelstundenabstand 10 Beiträge nacheinander bitte.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wastl
Beiträge: 28
Registriert: Mo 29. Okt 2007, 17:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Regensburg
Kontaktdaten:

Beitrag von wastl »

ja stand drin...
seit dem letzten compilen aus dem svn kann ich ja laz nicht mehr starten :(

Antworten