Include-Dateien nicht gefunden ???

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Include-Dateien nicht gefunden ???

Beitrag von Jay »

Hallo!

Seit neuem nutze ich Lazarus unter Linux und habe seitdem nur Probleme damit :-(
Mein Quellcode sieht wie folgt aus :lol:
Unit1:

Code: Alles auswählen

unit Unit1; 
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1; 
 
implementation
 
initialization
  {$I unit1.lrs}
 
end.
Ich weiß nicht, ob es direkt ein Bug ist aber immer, wenn ich ein Objekt (z.B. Button) auf einer leeren Form erstelle und versuche mit dem Objektinspektor bzw. Doppelklick auf diesen Button z.B. eine OnClick-Ereignisprozedur zu erzeugen, erscheint folgende Fehlermeldung:
project1.lpr(17,1) Error: Error while linking
/usr/share/fpcsrc/rtl/unix/classes.pp(33,5) Error: Include-Datei nicht gefunden "classesh.inc"
Wenn ich keine Ereignisse definieren kann, bringt es mir nichts.
Ich habe zuerst per apt-Paketsystem Free-Pascal installiert (apt-get install fpc) inkl. aller units (apt-get install fp-units*), dann die Quellen (apt-get install fpc-source), die jetzt unter dem Pfad /usr/share/fpcsrc/ gespeichert sind und zum Schluss Lazarus, wo ich diesen Pfad als FPC-Quelltextverzeichnis eingetragen habe (lief bis dahin auch problemlos). Nur sind irgendwie nirgendwo irgendwelche inc-Dateien vorhanden!?
Das Kompilieren/Ausführen geht komischerweise ohne Probleme...

Quellcode von classes:

Code: Alles auswählen

{
    This file is part of the Free Component Library (FCL)
    Copyright (c) 1999-2000 by Michael Van Canneyt and Florian Klaempfl
 
    Classes unit for linux
 
    See the file COPYING.FPC, included in this distribution,
    for details about the copyright.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 **********************************************************************}
 
{$mode objfpc}
 
{ determine the type of the resource/form file }
{$define Win16Res}
 
unit Classes;
 
{$INLINE ON}
 
interface
 
uses
  sysutils,
  types,
  typinfo,
  rtlconsts;
 
{$i classesh.inc}
 
implementation
 
uses
  BaseUnix,unix
  ;
 
{ OS - independent class implementations are in /inc directory. }
{$i classes.inc}
 
 
initialization
  CommonInit;
finalization
  CommonCleanup;
 
  if ThreadsInited then
     DoneThreads;
end.
Hab auch schon versucht, alle Zeilen, wo .inc Dateien aufgerufen werden, zu löschen :wink:
Hat auch nichts gebracht außer dass ich es nicht mal mehr ausführen konnte :(

Bitte helft mir!

MfG
Jay

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 »

Dein Lazarus bzw fpc ist mi sicherheit nicht richtig insallier bzw du hast vergessen die fpc sourcen zu installieren. Leider kann man aus deinem Kernel nicht erkennen welche Distribution du verwendest also kann man dir dazu keine weiteren Tipps geben.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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:

Re: Include-Dateien nicht gefunden ???

Beitrag von Euklid »

Jay hat geschrieben: Ich habe zuerst per apt-Paketsystem Free-Pascal installiert (apt-get install fpc) inkl. aller units (apt-get install fp-units*), dann die Quellen (apt-get install fpc-source), die jetzt unter dem Pfad /usr/share/fpcsrc/ gespeichert sind und zum Schluss Lazarus, wo ich diesen Pfad als FPC-Quelltextverzeichnis eingetragen habe (lief bis dahin auch problemlos). Nur sind irge
Hallo Jay!

Ich vermute auch, dass bei deiner Installation etwas schief gegangen ist. Und ich habe auch schon eine Vorahnung, was es sein könnte:

Du hast eine FreePascal-Version installiert, die nicht zur installierten Lazarus-Version passt. (Vermutung) Sowas kann man zwar machen, ist aber nicht für Einsteiger zu empfehlen, da dann kompliziertere Anpassungen gemacht werden müssen. Am Besten gehst du wie folgt vor:

1. Deinstalliere sowohl alle FreePascal, als auch alle Lazarus-Pakete.
2. Lade hier : http://sourceforge.net/project/showfile ... p_id=89339" onclick="window.open(this.href);return false;
_ALLE_ zu deinem System passenden Pakete der aktuellen Lazarus-Version samt der zugehörigen FreePascal-Pakete runter. Die hier angebotenen Pakete "passen" zueinander.
3. Installiere die Pakete und löse dabei alle Abhängigkeiten (wichtig).
4. Wenn die Installation so gelaufen ist, wie sie sollte, lässt sich jetzt _ohne_, dass noch irgendeine Konfiguration vorgenommen werden muss Lazarus starten und Programme kompilieren.

Viel Erfolg!
Euklid

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 »

Es gibt keine Freepascal Version die nicht zur Lazarus Version passt. Und inc daeien dürfen da dann schon gar nich gefunden werden dann gibts höchsens das Probleme wie "Unit Classes nich gefunden" oder Interfaces oder ähnliches. Dann reichts auch Lazarus mit der fpc version neu zu übersetzen und das wars. Was sein könnte is das er eine falsche fpcsrc version die nich zur fpc version passt benutzt hat.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von Jay »

Hi,

danke erstmal für eure Tips!
Habe jetzt Lazarus und Free Pascal komplett deinstalliert und neu aufgesetzt - immer noch der selbe Fehler!
Was ist nun der Unterschied zwischen der Versionen im Paketsystem und der Versionen auf Sourceforge? Ich kann da keinen erkennen :-(

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 »

vielleicht klärst du uns erstmal auf welches paketsystem bzw distri du benutzt
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Christian hat geschrieben:vielleicht klärst du uns erstmal auf welches paketsystem bzw distri du benutzt
Ich habe zuerst per apt-Paketsystem Free-Pascal installiert (apt-get install fpc) inkl. aller units (apt-get install fp-units*), dann die Quellen (apt-get install fpc-source), die jetzt unter dem Pfad /usr/share/fpcsrc/ gespeichert sind und zum Schluss Lazarus, wo ich diesen Pfad als FPC-Quelltextverzeichnis eingetragen habe (lief bis dahin auch problemlos). Nur sind irgendwie nirgendwo irgendwelche inc-Dateien vorhanden!?
Johannes

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 »

ups ;)

lade am besten von Sourceforge alle fpc 2.2.0 .deb´s herunter die auf dein system passen. In den Paketquellen vom Ubuntu ist glaub ich noch fpc 2.0.4 drin.
Danach ziehst du noch den fpc Quelltext.
Dann installiers du die debs, wenn eins ne abhängigkeit hat installierst du zuerst die abhängigkeit. Danach ziehst du die Lazarus debs und installierst sie. Ebenfalls von Sourceforge. Alternativ aus dem svn das steht im Wiki gut erklärt.

Dann suchs du mit synaptic nach pixbuf und installierst das devel paket zu libpixbuf.

Dann sollte alles laufen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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:

Re: Include-Dateien nicht gefunden ???

Beitrag von Euklid »

Hey Jay,

du hast geschrieben:
Jay hat geschrieben:wenn ich ein Objekt (z.B. Button) auf einer leeren Form erstelle und versuche mit dem Objektinspektor bzw. Doppelklick auf diesen Button z.B. eine OnClick-Ereignisprozedur zu erzeugen, erscheint folgende Fehlermeldung:
project1.lpr(17,1) Error: Error while linking
/usr/share/fpcsrc/rtl/unix/classes.pp(33,5) Error: Include-Datei nicht gefunden "classesh.inc"
Die Fehlermeldung "Error while linking" taucht in der Regel nur nach dem Compilieren auf, wenn er die Binärdatei Betriebssystemgerecht linkt und nicht während der Definition von Prozeduren im Quelltext. Bist du sicher, dass dieser Fehler nicht erst beim Kompilieren auftaucht?

2. Du kannst Ereignisse auch direkt über den ObjektInspector definieren, er hat dafür einen extra Reiter. Probier das mal und kannst das Ergebnis hier ja berichten.

Gruß, Euklid

Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von Jay »

Hallo,

Die erste Fehlermeldung bitte ignorieren :wink:
War noch von davor aber das Ausführen klappt soweit...

Nur ohne Ereignisse definieren zu können, bringen mir alle Objekte nichts (z.B. was bringt ein Button, wenn ich nicht festlegen kann, was daraufhin passieren soll :roll:) ...

Ereignisse habe ich schon auf verschiedene Art und Weise versucht, manuell zu definieren (u.a. auch über den Objektinspektor).
wenn ich ein Objekt (z.B. Button) auf einer leeren Form erstelle und versuche mit dem Objektinspektor bzw. Doppelklick auf diesen Button z.B. eine OnClick-Ereignisprozedur zu erzeugen, erscheint folgende Fehlermeldung:
/usr/share/fpcsrc/rtl/unix/classes.pp(33,5) Error: Include-Datei nicht gefunden "classesh.inc"
Christian schrieb:
lade am besten von Sourceforge alle fpc 2.2.0 .deb´s herunter die auf dein system passen. In den Paketquellen vom Ubuntu ist glaub ich noch fpc 2.0.4 drin.
Danach ziehst du noch den fpc Quelltext.
Ich glaube nicht, dass das viel bringt, zumal im APT-Paketsystem die selbe, aktuelle Version von Lazarus und Free Pascal drin ist wie sie auf Sourceforge zu finden ist. Das mit den Abhängigkeiten ist in APT schon ziemlich gut gelöst.
Dann suchs du mit synaptic nach pixbuf und installierst das devel paket zu libpixbuf.
Wozu wird pixbuf benötigt bzw. was hat das mit dem Fehler zu tun?

Gruß
Jay

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 »

Jay hat geschrieben: Nur ohne Ereignisse definieren zu können, bringen mir alle Objekte nichts (z.B. was bringt ein Button, wenn ich nicht festlegen kann, was daraufhin passieren soll :roll:) ...
Jay, hast du meine Bemerkung nach "2." gelesen?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Wenn die DEBs schon im Paketsystem sind, stellt sich trotzdem die Frage, wer die gebaut hat, ob das die originalen sind, oder ob die jemand für Siduy neu gepackt hast.

Hast du mal probiert, das Tar-Archiv mit den FPC-Sourcen runterzuladen, einfach in sHome zu entpacken und den Pfad darauf zu setzen? Sollte die Datei wirklich in den Debs fehlerhaft sein, muss zweiteres gehen. Das Tararchiv von Freepascal geht auf jeden Fall fehlerfrei.

Alternativ kannst du auch mal in der WissensDB hier schauen, da gibts auch einiges zur Installation, zwar nicht direkt zu Sidux, sollte sich aber übertragen lassen.
Johannes

Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von Jay »

Vielen Dank monta!

Lazarus funzt endlich problemlos :-). Hab mir die Sourcen von FPC nun manuell als tar.gz Paket runtergeladen und in einem Verzeichnis meines Home-Ordners entpackt und als Src-Pfad in den Lazarus Umgebungseinstellungen darauf verwiesen.

Jetzt kann ich endlich loslegen, unter Linux zu proggen ^^

Gruß
Jay

Antworten