[gelöst]fpc kompilieren geht nicht.

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Soner
Beiträge: 724
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

[gelöst]fpc kompilieren geht nicht.

Beitrag von Soner »

Edit:Die Lösung ist im letzten Beitrag.
----------------------
Ich habe mein fpc-trunk-Ordner mit git aktualisiert und jetzt wollte ich es bauen lassen, weil Lazarus-Trunk neueste fpc haben möchte.
Früher habe ich einfach in den Ordner gewechselt und "make zipinstall" aufgerufen und das war's.
Jetzt bekomemme ich irsinnnige Meldungen, fpc(ich glaube makefile) sucht in source Ordner nach Compiler und fpcmake.exe. Was hat denn Compiler in Quelltext-Ordner zu suchen.

Code: Alles auswählen

D:\AppDev\fpcdev\source>make zipinstall
make fpc_zipinstall ZIPTARGET=install FULLZIPNAME=fpc-3.3.1.i386-win32 FPC=D:/AppDev/fpcdev/source/compiler/ppc386.exe ZIPDESTDIR=D:/AppDev/fpcdev/source FPCMAKE=D:/AppDev/fpcdev/source/utils/fpcm/bin/i386-win32/fpcmake.exe
make[1]: Entering directory `D:/AppDev/fpcdev/source'
Makefile:136: *** Compiler D:/AppDev/fpcdev/source/compiler/ppc386.exe not found.  Stop.
make[1]: Leaving directory `D:/AppDev/fpcdev/source'
make: *** [zipinstallall] Error 2
Weiß jemand ob es sich etwas geändert hat?
Zuletzt geändert von Soner am Sa 21. Dez 2024, 15:52, insgesamt 2-mal geändert.

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1193
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: [gelöst]fpc kompilieren geht nicht.

Beitrag von kralle »

Wieso schreibst Du gelöst, ohne das hier keine Info zu Lösung gibt?

Gruß Heiko
OS: Manjaro Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Soner
Beiträge: 724
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: [gelöst]fpc kompilieren geht nicht.

Beitrag von Soner »

Tut mir Leid, dass ich nichts dazu geschrieben habe.
Nach einer Stunde hatte ich kein Lust mehr, fpcupdeluxe heruntergeladen und damit gebaut.
Vielleicht stimmt mit meiner Installation etwas nicht, was eigentlich nicht sein sollte.

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

Re: [gelöst]fpc kompilieren geht nicht.

Beitrag von wp_xyz »

Mit "make fpc_zipinstall" habe ich noch nicht gearbeitet, aber hier ist meine Batch-Datei mir der ich mir nach jeder Aktualisierung den fpc mit "make clean all" neu baue:

Code: Alles auswählen

set BINUTILS_DIR=C:\Lazarus\fpc_bootstrap_compiler\3.2.2\x86_64-win64
set BOOTSTRAP_COMPILER=%BINUTILS_DIR%\ppcx64.exe
set FPC_DEST_DIR=c:\Lazarus\fpc-main-64bit
set BIN_DIR=bin\x86_64-win64
set FPC_BIN_DIR=%FPC_DEST_DIR%\%BIN_DIR%
set OPTIONS="-dDEBUG -gl -gw3"

::------------------------------------------------------------------------------
:: Set Path
::------------------------------------------------------------------------------
path %BINUTILS_DIR%;%PATH%

::------------------------------------------------------------------------------
:: Preparations
::------------------------------------------------------------------------------
md %FPC_BIN_DIR%
copy %BINUTILS_DIR%\*.* %FPC_BIN_DIR% > nul

:: Required - otherwise the script does not always work 
del /q /s %FPC_DEST_DIR%\units > nul
rmdir /q /s %FPC_DEST_DIR%\units

::------------------------------------------------------------------------------
:: Build FPC
::------------------------------------------------------------------------------
make clean all install OPT=%OPTIONS% PREFIX=%FPC_DEST_DIR% FPC=%BOOTSTRAP_COMPILER%
if errorlevel 1 goto error

::------------------------------------------------------------------------------
:: Make fpc.cfg, 
::------------------------------------------------------------------------------
cd %FPC_DEST_DIR%
fpcmkcfg -d basepath=%FPC_DEST_DIR% -o %FPC_BIN_DIR%\fpc.cfg 

echo Compilation successful.
goto end

:error
echo Error building fpc

:end

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
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: [gelöst]fpc kompilieren geht nicht.

Beitrag von af0815 »

An und für sich mekert er ja nur an, das er den Bootstrapcompiler nicht findet. Die einzige Frage ist für mich - ist der wirklich dort und unbeschädigt - einfach eine Kommandozeile öffnen und den Pfad mit dem Compiler eingeben und sehen ob sich der meldet und die richtige Version auswirft.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Soner
Beiträge: 724
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: [gelöst]fpc kompilieren geht nicht.

Beitrag von Soner »

wp_xyz hat geschrieben: Do 11. Jul 2024, 22:49 Mit "make fpc_zipinstall" habe ich noch nicht gearbeitet...
Ich habe nur "make zipinstall" aufgerufen, den Rest macht make-Programm.
Es wird ein zip-Datei erstellt, sowie man das von fpc-Ordner von Lazarus kennt, es fehlt nur Quelltexte von RTL und FCL.

Wo liegt der Ordner "set BIN_DIR=bin\x86_64-win64" in deinem Buildsystem?

af0815 hat geschrieben: Fr 12. Jul 2024, 06:35 An und für sich mekert er ja nur an, das er den Bootstrapcompiler nicht findet. Die einzige Frage ist für mich - ist der wirklich dort und unbeschädigt - einfach eine Kommandozeile öffnen und den Pfad mit dem Compiler eingeben und sehen ob sich der meldet und die richtige Version auswirft.
Das habe ich gemacht, sogar "Hello World" Programm erstellt, um zu schauen ob alles okay ist.


Also ich denke irgendjemand muss an make-Dateien irgendetwas geändert haben.

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

Re: [gelöst]fpc kompilieren geht nicht.

Beitrag von wp_xyz »

Soner hat geschrieben: Fr 12. Jul 2024, 18:12 Wo liegt der Ordner "set BIN_DIR=bin\x86_64-win64" in deinem Buildsystem?
Ach ja, hab vergessen: Die Batch-Datei befindet sich im obersten FPC-Ordner (in den "git clone" geschrieben hat). bin\x86_64-win64 ist dann direkt darunter.

Soner
Beiträge: 724
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 kompilieren geht nicht.

Beitrag von Soner »

Als ich heute main-Version kompilieren wollte habe wieder dieses Problem. Ich glaube, dass ich im Sommer es mit fpcup kompiliert habe.

Ich habe ein fixes_3_2-Version und ein main-Version, aus der gleichen Konsole kann ich fixes_3_2-Version mit "make zipinstall" kompilieren aber wenn ich main-Version kompilieren möchte, dann erscheint immer noch die gleiche Fehlermeldung:

Code: Alles auswählen

D:\AppDev\fpcdev\source>make zipinstall
make fpc_zipinstall ZIPTARGET=install FULLZIPNAME=fpc-3.3.1.i386-win32 FPC=D:/AppDev/fpcdev/source/compiler/ppc386.exe ZIPDESTDIR=D:/AppDev/fpcdev/source FPCMAKE=D:/AppDev/fpcdev/source/utils/fpcm/bin/i386-win32/fpcmake.exe
make[1]: Entering directory `D:/AppDev/fpcdev/source'
Makefile:136: *** Compiler D:/AppDev/fpcdev/source/compiler/ppc386.exe not found.  Stop.
make[1]: Leaving directory `D:/AppDev/fpcdev/source'
make: *** [zipinstallall] Error 2
Ich glaube irgendjemand hat vor einigen Jahren die Make-Datei zerstört.

Soner
Beiträge: 724
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 kompilieren geht nicht.

Beitrag von Soner »

Asche auf mein Haupt, es hat mit make Dateien nicht zu tun. Nach dem ich die Dateien "base.build-stamp...." und "build-stamp..." gelöscht habe, hat es funktioniert.

Falls jemand so wie ich es fpc selber compilieren möchte, dann macht es so:
1)Konsole öffnen und funktionierende fpc in die Path-Variable hinzufügen z.B:
>set path=%path%;c:\lazarus\fpc\3.2.2\bin\i386-win32\

2) Wechselt zu fpc git-Ordner z.B.:
>cd c:\fpcdev\source

3) Macht erstmal sauber:
>make clean

4) Kontrolliert ob ihr etwas gelöscht oder hinzugefügt habt:
>git status

5) Falls ja, dann entfernt die Änderungen, falls ihr nicht weißt wofür die waren oder entfernt sie, wenn ihr Fehler bekommt.
Mit git restore kann man original wieder herstellen, oder repository ganz neu erstellen, siehe ganz unten.

6) Kompilieren:
make zipinstall

(Vorteil von zipinstall alles, außer source/rtl und source/fcl wird in die Zipdatei gepackt, die kann man manuel hinzufügen)

Falls immer noch Fehler auftritt, dann "git repository" neu erstellen, Fehlersuche lohnt nicht. Hier steht wie man "git repository" neu erstellt. Hier ist die URL dafür.

Wenn ich in 6 Monaten wieder in diesem Beitrag bin, dann weiß ich wieder wie das geht. :D

Warf
Beiträge: 2118
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: fpc kompilieren geht nicht.

Beitrag von Warf »

Soner hat geschrieben: Sa 21. Dez 2024, 15:50 1)Konsole öffnen und funktionierende fpc in die Path-Variable hinzufügen z.B:
>set path=%path%;c:\lazarus\fpc\3.2.2\bin\i386-win32\
Tipp: FPC hat einen extrem langsamen Release Zyklus, FPC 3.2.2 gibts jetzt schon seit 4 Jahren. Tatsächlich werden alle Lazarus versionen seit 2.2 mit FPC 3.2.2 ausgeliefert. Es lohnt sich also eigentlich grundsätzlich eine Systemweite FPC installation der aktuellen Stable version zu haben, statt mit jeder Lazarus Version die seperat mitzuinstallieren.

Wenn du dir einfach von freepascal.org den Installer runterlädst installiert der dir einen Systemweiten FPC den du in Lazarus benutzen kannst, in FPCUp (für Lazarus oder als bootstrap) und für das selbst bauen. Und der Installer fügt ihn direkt zum PATH hinzu.

Unter Linux kann man einfach den fpc aus dem Systemrepo benutzen
Soner hat geschrieben: Sa 21. Dez 2024, 15:50 3) Macht erstmal sauber:
>make clean
Wenn man alles nuken will ist die bessere option tatsächlich ein git clean:

Code: Alles auswählen

git clean -xdff
Das löscht alles was nicht ins git repository gehört. Und ist gleichzeitig noch viel schneller als make clean. Wenn man auch noch änderungen resetten will geht das mit:

Code: Alles auswählen

git reset --hard origin/main
Zusammen mit einem update ist es also:

Code: Alles auswählen

git fetch origin
git reset --hard origin/main
git clean -xdff
Soner hat geschrieben: Sa 21. Dez 2024, 15:50 6) Kompilieren:
make zipinstall
Was spricht gegen:

Code: Alles auswählen

make install PREFIX=C:\fpcdev\fpc
Oder wohin man das installieren will?

Außerdem fehlt da noch der Konfigurationsfile:

Code: Alles auswählen

fpcmkcfg -d basepath=C:\fpcdev\fpc -o C:\fpcdev\fpc\bin\i368-win32\fpc.cfg
Ich durfte heute tatsächlich meinen Windows 11 Laptop einmal neu aufsetzen, und hab im zuge dessen Lazarus mit einer FPC entwicklungsumgebung aufgesetzt und nach deinem Post habe ich mal alles als video aufgenommen. Wenn ich morgen etwas zeit finde schneide ich das mal schnell zusammen :)

Soner
Beiträge: 724
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: [gelöst]fpc kompilieren geht nicht.

Beitrag von Soner »

Vielen Dank mit den Tipps. Ich werde das alles notieren.

Antworten