gtk gdk Error

Für Fragen rund um die Ide und zum Debugger
Antworten
Bernd
Beiträge: 27
Registriert: Mo 11. Jun 2007, 10:12
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

gtk gdk Error

Beitrag von Bernd »

Hallo

Mein Programm mit Lazarus 0.9.22 unter Windows geschrieben kann unter Linux nicht übersetzt werden.
Beim Laden des Projektes kommt folgende Fehlermeldung. Er meckert über die LFM Datei zur Unit1, die er nicht laden will.
Dann wird der Vorschlag gemacht die LFM Datei zu korriegieren. Wenn ich ja dazu sage, stürzt alles ab.

Habe ich die falschen gtk und gdk Versionen? Lazarus ist unter beiden Systemen 0.9.22.
gdk Version 0.22.0
gtk Version 1.2.10
gtk2 Version 2.10.6

hat jemand eine Idee?
Danke Bernd


Auszug der Fehlermeldung beim Laden LFM:

TMainIDE.DoLoadLFM A /home/bernd/lazarusprog/hfmpaneltest/Unit1.pas IsPartOfProject=True

Gtk-CRITICAL **: file gtkstyle.c: line 515 (gtk_style_attach): assertion `window != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 1777 (gdk_window_get_events): assertion `window != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 1804 (gdk_window_set_events): assertion `window != NULL' failed.

Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtkstyle.c: line 515 (gtk_style_attach): assertion `window != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 1777 (gdk_window_get_events): assertion `window != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 1804 (gdk_window_set_events): assertion `window != NULL' failed.

Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_IS_LABEL (label)' failed.

Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `GTK_IS_LABEL (label)' failed.
[TJITComponentList.AddJITChildComponentFromStream] ERROR reading form stream of Class 'TForm1' Error: Access violation

Gtk-CRITICAL **: file gtkstyle.c: line 568 (gtk_style_detach): assertion `style != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 726 (gdk_window_unref): assertion `window != NULL' failed.

Gtk-CRITICAL **: file gtkstyle.c: line 621 (gtk_style_unref): assertion `style != NULL' failed.

Gtk-CRITICAL **: file gtkstyle.c: line 568 (gtk_style_detach): assertion `style != NULL' failed.

Gdk-CRITICAL **: file gdkwindow.c: line 726 (gdk_window_unref): assertion `window != NULL' failed.

Gtk-CRITICAL **: file gtkstyle.c: line 621 (gtk_style_unref): assertion `style != NULL' failed.
ERROR: streaming failed lfm="/home/bernd/lazarusprog/hfmpaneltest/Unit1.lfm"

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Diese Fehler tauchen beim _laden_ des Projektes auf? - Dann liegt es wahrscheinlich NICHT an den von dir installierten gtk/gdk-Paketen, denn Fehler machen sich hier erst beim Kompilieren bemerkbar.

Also, ich mit meinem N00B-Wissen würde schätzen, dass
a)etwas mit deiner Lazarus-Installation nicht stimmt oder
b)da der Windows-"Zeichensatz" sich häufig vom Linux-"Zeichensatz" unterscheidet kann es sein, dass dies ein Konvertierungsproblem ist. Beispielsweise ist in Windows das ENTER-Zeichen ein ganz anderes. Wundert mich nur, dass das Lazarus nicht korrigiert...

Ein Leeres Projekt kann er aber öffnen? und ausführen?

[EDIT]

Im Moment erscheint mir Fall b) wahrscheinlicher: Er meckert ja über die Einträge "style != NULL" u.s.w.
Ich frage mich gerade: Was hat da das Ausrufezeichen zu suchen? Bei Pascal steht vor einem Gleich-Zeichen normalerweise kein Ausrufezeichen und offenbar kommt er damit nicht zurecht.

Kannst die ja mal, nach einer Sicherung der Datei, rauslöschen und es dann nochmal probieren...
Zuletzt geändert von Euklid am So 22. Jul 2007, 10:06, insgesamt 1-mal geändert.

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 »

Probier mal testweise ein anderes Theme...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Bernd
Beiträge: 27
Registriert: Mo 11. Jun 2007, 10:12
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Beitrag von Bernd »

Hallo,
danke für die Hinweise. Ich glaube es kann an den Umlauten liegen, die ich in den Captions benutzt habe.
Kann es aber nicht sofort probieren, da ich z.Z. am Ort mit dem Windows System bin und das andere System meilenweit weg ist.
Immer zur falschen Zeit am falschen Ort, hi. :-((

Wie sieht es denn mit der Unterstützung von deutschen Umlauten im Allgemeinen aus. Ich habe doch ein deutsches OpenSuse und Lazarus redet sonst auch in Deutsch mit mir. Muss ich etwas beachten?

Gruß Bernd

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Was mir da auffällt ist, das er jeweils C-Files anmeckert. Das sieht eher so aus als ob deine Installation von Lazarus nicht stimmt. Unter normalen Umständen würde er in einem Projekt nicht auf die C-Files zugreifen sondern bestenfalls auf die entsprechenden obj-files.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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 »

Der meckert da gar nichts an den C Files an, gdk ist nur in C geschrieben und Assert zeigt nunmal auch die Quelldatei in einer Fehlermeldung an ...
Wäre gdk in PAscal geschrieben würden dort in den Fehlermeldungen auch .pas dateien stehn auch wenn du keine einzige .pas im System rumzufliegen hast...

Also solche Fehler rühren nicht von den Übersetzungen her, aber das gtk1 Interface ist z.Z. nicht Unicode kompatibel und daher nicht 100% fähig Umlaute anzuzeigen bzw zu verarbeiten. Zumindest wenn dein system auf UTF-8 eingestellt ist und nicht ISO...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Bernd
Beiträge: 27
Registriert: Mo 11. Jun 2007, 10:12
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Beitrag von Bernd »

So ich habe den Verursacher ausmachen können.
Ich hatte zwei neue Komponenten (Packages) unter Lazarus Windows neu geschrieben und installiert. (eine veränderte PlotPanel und eine ähnliche PlotPolar) Damit geht es unter XP.
Beide Komponenten habe ich nach openSuse getragen und dort kompiliert. Ging ohne Probleme, und können auch dort benutzt werden.

Nun bin ich mit meinem Projekt von Windows gekommen und es gab schon diesen Ladefehler. Schuld ist die *.lrs Datei zur Unit mit den neuen Komponenten, Sie muss für Linux nicht verständliche Informationen enthalten.

Keine Lösung aber ein Weg:
Komponenten unter Windows rausgeklickt - Projekt nach Linux getragen - Komponenten hier wieder reingezogen - geht :-).

Werde wohl den Weg über Komponenten nicht weiter gehen, sondern nur mit Quelltexten arbeiten, wenn ich verstanden habe wie das geht.

Tnx an alle für die Tipps
Bernd

Antworten