FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Ich benutze fpc 3.2.2, der Compiler sagt mir Kann fpimage nicht finden obwohl diese Datei im Pfad existiert und such in der fp.cfg enthalten ist. Der Compiler sucht im erwarteten Verzeichnis, findet aber die Unit nicht. Gleiches passiert mit fppixlcanv.ppu
Die Datei existiert, hat die normale Größe, das Verzeichnis liegt im Suchpfad. Welche Bedingungen lassen FPC eine existierendes ppu File ignorieren?
fpimage.ppu umfasst 190956 Bytes Der engegeben Pfad wird duchsucht aber die Unit wird dennoch ignoriert Die Unit liegt in $fpctarget\fcl-image und ist auch objektiv vorhanden, mit dir xxx geprüft
Die Datei existiert, hat die normale Größe, das Verzeichnis liegt im Suchpfad. Welche Bedingungen lassen FPC eine existierendes ppu File ignorieren?
fpimage.ppu umfasst 190956 Bytes Der engegeben Pfad wird duchsucht aber die Unit wird dennoch ignoriert Die Unit liegt in $fpctarget\fcl-image und ist auch objektiv vorhanden, mit dir xxx geprüft
- Niesi
- Lazarusforum e. V.
- Beiträge: 735
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.5 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Windows?
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
- af0815
- Lazarusforum e. V.
- Beiträge: 7381
- 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: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Er schaut nicht nur auf die Dateinamen, sondern prüft auch ob die ppu zum aktuellen System passt.
Nur das die Datei vorhanden ist, sagt nichts darüber aus, ob sie auch verwendet werden kann. Mit ppudump kann man sich das ansehen. Ist beim FPC dabei.
Nur das die Datei vorhanden ist, sagt nichts darüber aus, ob sie auch verwendet werden kann. Mit ppudump kann man sich das ansehen. Ist beim FPC dabei.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Wieso dieser Hinweis explizit? Hast du etwa den Pfad zu einer fpc- oder Lazarus-Datei unter "Andere Units" im Projekt eingetragen? Damit wird diese Datei als Bestandteil deines Projekts neu kompiliert. Alle Units, die von dieser Datei abhängen, müssen nun auch neu kompiliert werden, und wenn du deren Pfad nicht auch unter "Andere Units" eingetragen hast, werden diese Units vom Compiler nicht gefunden.multiplatform-coder hat geschrieben: Mo 13. Jul 2026, 09:55 der Compiler sagt mir Kann fpimage nicht finden obwohl diese Datei im Pfad existiert
Grundprinzip: Lass die Finger von "Andere Units". Nur wenn du die Units deines Projekts in Unterordnern organisiert hast, darfst du diese dort eintragen. Auf keinen Fall irgendwelche FPC- oder Lazarus-Units (es sei denn, du weißt genau, was du tust).
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Warum ist dese Info wichtig? Verhält sich der Compiler auf verschiedenen Plattformen unterschiedlich?
- Niesi
- Lazarusforum e. V.
- Beiträge: 735
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.5 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Z. B. beachtet Linux Groß- und Kleinschreibung. Windows nicht.multiplatform-coder hat geschrieben: Mo 13. Jul 2026, 12:14Warum ist dese Info wichtig? Verhält sich der Compiler auf verschiedenen Plattformen unterschiedlich?
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
- af0815
- Lazarusforum e. V.
- Beiträge: 7381
- 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: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Arbeitest du nur mit dem FPC oder mit Lazarus ? Aus deinem ersten Post, würde ich FPC alleine vermuten. Dann ist natürlich einiges mehr beim Compilleraufruf zu übergeben, weil Lazarus das für einen im Hintergrund macht.
BTW die meisten Unterschiede gibt es nicht beim compilieren, sondern beim linken. Das ist stark abhängig vom Betriebssystem.
BTW die meisten Unterschiede gibt es nicht beim compilieren, sondern beim linken. Das ist stark abhängig vom Betriebssystem.
Zuletzt geändert von af0815 am Mo 13. Jul 2026, 12:32, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Aber wie ist das bei Units die bereits vorkompiliert sind wie eben fpImage oder fppixlcanv. Ausserdem dachte ich bisher dass "Andere Units zuerst mal andere vorkompilierte Units sind oder neue die extern entstanden sind und dann selbstverständlich neu compiliert werden müssen aber was ist wenn diese Neukompilieren schon m,al geschehenh ist und keine Änderung seit dem letzten Kompilieren erfolgt ist? Und nein ich habe das auf der Kommandozeile gemachr meine fpc.cfg sieht bei den Pfaden so auswp_xyz hat geschrieben: Mo 13. Jul 2026, 11:16Wieso dieser Hinweis explizit? Hast du etwa den Pfad zu einer fpc- oder Lazarus-Datei unter "Andere Units" im Projekt eingetragen? Damit wird diese Datei als Bestandteil deines Projekts neu kompiliert. Alle Units, die von dieser Datei abhängen, müssen nun auch neu kompiliert werden, und wenn du deren Pfad nicht auch unter "Andere Units" eingetragen hast, werden diese Units vom Compiler nicht gefunden.multiplatform-coder hat geschrieben: Mo 13. Jul 2026, 09:55 der Compiler sagt mir Kann fpimage nicht finden obwohl diese Datei im Pfad existiert
Grundprinzip: Lass die Finger von "Andere Units". Nur wenn du die Units deines Projekts in Unterordnern organisiert hast, darfst du diese dort eintragen. Auf keinen Fall irgendwelche FPC- oder Lazarus-Units (es sei denn, du weißt genau, was du tust).
-FuF:/fpc/3.2.2/units/$fpctarget
-FuF:/fpc/3.2.2/units/$fpctarget/*
-FuF:/fpc/3.2.2/units/$fpctarget/rtl
Das /fcl-image Directory wird auch gefunden und innerhalb desselben auch die fpImage.ppu und auch die fppixlcanv.ppu also könnte $fpctarget/* bedeuten dass nach allen Units im $fpctarget directory gesucht wird bzw werden soll
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Aktuell mit nur fpc, aber ich will später Lazarus dafür (für dieses Projekt) verwenden. Wie löst denn Lazarus sowas auf? Eine eigene IDE ist nämlixh mein Plan! Die muss ja dann auch die Pfade sinnvoll auflösen können, damit die Units gefunden werden.af0815 hat geschrieben: Mo 13. Jul 2026, 12:29 Arbeitest du nur mit dem FPC oder mit Lazarus ? Aus deinem ersten Post, würde ich FPC alleine vermuten. Dann ist natürlich einiges mehr beim Compilleraufruf zu übergeben, weil Lazarus das für einen im Hintergrund macht.
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Verstehe, aber die Unitnamen sind in meinem Projekt genauso geschrieben wie in Freepascal.Niesi hat geschrieben: Mo 13. Jul 2026, 12:18Z. B. beachtet Linux Groß- und Kleinschreibung. Windows nicht.multiplatform-coder hat geschrieben: Mo 13. Jul 2026, 12:14Warum ist dese Info wichtig? Verhält sich der Compiler auf verschiedenen Plattformen unterschiedlich?
Zuletzt geändert von multiplatform-coder am Mo 13. Jul 2026, 12:47, insgesamt 1-mal geändert.
-
multiplatform-coder
- Beiträge: 95
- Registriert: Do 20. Apr 2023, 18:25
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Ich benutze Freepascal Version 3.2.2 Was muss denn angezeigt werden wenn die Unit korrekt ist und wie sehe ich wenn das Unit Format nicht ok ist? Allerdings habe ich fps aus dem Install paket installiert. Da sollte die Version eigentlich passenaf0815 hat geschrieben: Mo 13. Jul 2026, 10:54 Er schaut nicht nur auf die Dateinamen, sondern prüft auch ob die ppu zum aktuellen System passt.
Nur das die Datei vorhanden ist, sagt nichts darüber aus, ob sie auch verwendet werden kann. Mit ppudump kann man sich das ansehen. Ist beim FPC dabei.
-
Soner
- Beiträge: 809
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Ursache deines Problems kann meines Wissens nur drei Sachen sein:
1) fpc und units (Bittnes oder Betriebssystem) passen nicht zusammen. Das ist mir öfters passiert, weil ich öfters fpc selbst kompiliere.
2) Sowie wp geschrieben hat, du hast mit fpc-units irgend etwas gemacht, deshalb findet fpc passende Unit nicht mehr.
3) In Project-Einstellungen hast du anderen Target/BS ausgewählt.
Du kannst dein fpc prüfen, tippe einfach bei der Konsole fpc ein, dann bekommst du so etwas:
Aus der ersten Zeile kannst du entnehmen ob 32 oder 64 Bit ist "x86_64", also 64Bit. Aus der dritten Zeile wo es gespeichert ist. Also muss bei mir die RTL- und FCL-Units im Ordner "D:\fpc\3.2.2\units\x86_64-win64" liegen und "D:\fpc\3.2.2\bin\x86_64-win64\fpc.cfg" dorthin zeigen. Angaben wie "c:/fpc/3.2.2/units/$fpctarget" sind erlaubt, nur $fpctarget wird aufgelöst deshalb muss richtiger Ordnername existieren, bei mir "x86_64-win64".
1) fpc und units (Bittnes oder Betriebssystem) passen nicht zusammen. Das ist mir öfters passiert, weil ich öfters fpc selbst kompiliere.
2) Sowie wp geschrieben hat, du hast mit fpc-units irgend etwas gemacht, deshalb findet fpc passende Unit nicht mehr.
3) In Project-Einstellungen hast du anderen Target/BS ausgewählt.
Du kannst dein fpc prüfen, tippe einfach bei der Konsole fpc ein, dann bekommst du so etwas:
Code: Alles auswählen
Free Pascal Compiler version 3.2.2 [2026/06/06] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
D:\fpc\3.2.2\bin\x86_64-win64\fpc.exe [options] <inputfile> [options]
- af0815
- Lazarusforum e. V.
- Beiträge: 7381
- 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: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Ich habe mal ppudump angeworfen und mir die system.ppu und deine beiden ppu's anzeigen gelassen
Wichtig ist dabei der CRC von der system.ppu, der ist hier C712EA52 . Bei den anderen beiden Dateien muss dieser in der Interface Sektion unter system.ppu wieder auftauchen. Ist der gleich, wurde alles gegen die gleiche system.ppu gebildet. Dann kann der Linker die auch binden. Stimmt das nicht zusammen, ist bei der Installation was komisch.
Auch die richtige system.ppu muss man nehmen. Jeder CrossTarget hat seine eigene system.ppu.
Wenn man sich das ansieht kann man ein Problem mit den ppu's auschliessen, wenn alles zusammenpasst
Man kann auch versuchen den FPV mit der Option-vau aufzurufen. Da wird verdammt viel ausgegeben, auch die Infos zu den ganzen Units. Vielleicht sieht man dann dort wo er sucht und ev. in die Irre geschickt wird.
Wichtig ist dabei der CRC von der system.ppu, der ist hier C712EA52 . Bei den anderen beiden Dateien muss dieser in der Interface Sektion unter system.ppu wieder auftauchen. Ist der gleich, wurde alles gegen die gleiche system.ppu gebildet. Dann kann der Linker die auch binden. Stimmt das nicht zusammen, ist bei der Installation was komisch.
Auch die richtige system.ppu muss man nehmen. Jeder CrossTarget hat seine eigene system.ppu.
Wenn man sich das ansieht kann man ein Problem mit den ppu's auschliessen, wenn alles zusammenpasst
Man kann auch versuchen den FPV mit der Option-vau aufzurufen. Da wird verdammt viel ausgegeben, auch die Infos zu den ganzen Units. Vielleicht sieht man dann dort wo er sucht und ev. in die Irre geschickt wird.
PU-Analyser Version 3.3.1
Copyright (c) 1998-2020 by the Free Pascal Development Team
Analyzing /home/xxxxx/data/lazdev/main_main/fpc/units/x86_64-linux/rtl/system.ppu
(v208)
LongVersion: 32
Byte size of PPU real: 10
Header
-------
Compiler version : 3.3.1
Target processor : x86_64
Target operating system : Linux-x86-64
Unit flags : static_linked, little_endian
FileSize (w/o header) : 1304116
Checksum : C712EA52
Interface Checksum : 373E6A77
Indirect Checksum : FC0819A3
Definitions stored : 3801
Symbols stored : 10938
Interface section
------------------
Module Name: System
PPU-Analyser Version 3.3.1
Copyright (c) 1998-2020 by the Free Pascal Development Team
Analyzing /home/xxxx/data/lazdev/main_main/fpc/units/x86_64-linux/fcl-image/fpim
age.ppu (v208)
LongVersion: 32
Byte size of PPU real: 10
Header
-------
Compiler version : 3.3.1
Target processor : x86_64
Target operating system : Linux-x86-64
Unit flags : static_linked, little_endian
FileSize (w/o header) : 190215
Checksum : 9C573321
Interface Checksum : 9C573321
Indirect Checksum : 149714CE
Definitions stored : 676
Symbols stored : 2209
Interface section
------------------
Module Name: FpImage
Source file 1 : fpimage.pp 2025/01/20 09:35:27
Source file 2 : fpcolors.inc 2025/01/20 09:35:27
Source file 3 : fpimage.inc 2026/05/19 08:22:50
Source file 4 : fphandler.inc 2025/01/20 09:35:27
Source file 5 : fppalette.inc 2025/01/20 09:35:27
Source file 6 : fpcolcnv.inc 2025/01/20 09:35:27
Source file 7 : fpcompactimg.inc 2026/05/19 08:22:50
Uses unit: System (Crc: C712EA52, IntfcCrc: 373E6A77, IndCrc: FC0819A3)
Uses unit: objpas (Crc: 231EAC51, IntfcCrc: 362EDB87, IndCrc: 660289AB)
Uses unit: sysutils (Crc: 28F52503, IntfcCrc: 466838C0, IndCrc: FD8CF5FC)
Uses unit: Classes (Crc: BAE6C08A, IntfcCrc: 8898CCD4, IndCrc: FD3FC1B6)
Link unit object file: fpimage.o (static )
PU-Analyser Version 3.3.1
Copyright (c) 1998-2020 by the Free Pascal Development Team
Analyzing /home/xxxx/data/lazdev/main_main/fpc/units/x86_64-linux/fcl-image/fppi
xlcanv.ppu (v208)
LongVersion: 32
Byte size of PPU real: 10
Header
-------
Compiler version : 3.3.1
Target processor : x86_64
Target operating system : Linux-x86-64
Unit flags : static_linked, little_endian
FileSize (w/o header) : 48697
Checksum : 43A55993
Interface Checksum : 43A55993
Indirect Checksum : AFADE73F
Definitions stored : 156
Symbols stored : 554
Interface section
------------------
Module Name: FPPixlCanv
Source file 1 : fppixlcanv.pp 2025/01/20 09:35:27
Uses unit: System (Crc: C712EA52, IntfcCrc: 373E6A77, IndCrc: FC0819A3)
Uses unit: objpas (Crc: 231EAC51, IntfcCrc: 362EDB87, IndCrc: 660289AB)
Uses unit: sysutils (Crc: 28F52503, IntfcCrc: 466838C0, IndCrc: FD8CF5FC)
Uses unit: Classes (Crc: BAE6C08A, IntfcCrc: 8898CCD4, IndCrc: FD3FC1B6)
Uses unit: FpImage (Crc: 9C573321, IntfcCrc: 9C573321, IndCrc: 149714CE)
Uses unit: FPCanvas (Crc: D84F8E7E, IntfcCrc: D84F8E7E, IndCrc: 121935AB)
Uses unit: PixTools (Crc: 64CA3694, IntfcCrc: 64CA3694, IndCrc: B9C276D4)
Uses unit: Ellipses (Crc: EE0DB497, IntfcCrc: EE0DB497, IndCrc: ABEDBF06)
Uses unit: PolygonFillTools (Crc: 8326407C, IntfcCrc: 8326407C, IndCrc: BF499E3B
)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
Mattias
- Lazarusforum e. V.
- Beiträge: 196
- Registriert: Do 22. Mai 2008, 15:14
- OS, Lazarus, FPC: LinuxOSX (L head FPC head)
- CPU-Target: xxBit
Re: FPC 3.2.2 findet existierende ppu unit nicht im Suchpfad
Kompiliere mit -vt und fpc sagt dir, wo er sucht und warum eine Datei nicht genutzt wurde.multiplatform-coder hat geschrieben: Mo 13. Jul 2026, 09:55 Ich benutze fpc 3.2.2, der Compiler sagt mir Kann fpimage nicht finden obwohl diese Datei im Pfad existiert und such in der fp.cfg enthalten ist.