FPC 3.1.1 für Linux Mint

Für Installationen unter Linux-Systemen
Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

Ich habe die neuste ZIP von FPC runtergeladen und entpackt.

ftp://ftp.freepascal.org/pub/fpc/snapsh ... ce/fpc.zip

Anschliessend habe ich

Code: Alles auswählen

sudo make all install
ausgeführt.

Das ging ohne Fehler.
Wen ich dann fpc eingebe, wir immer noch die 2.6.4 gestartet.
Lazarus benutzt auch die 2.6.4, war auch nicht anders zu erwarten.
Starte ich aber fp, dann kommt bei Help/About../ die Version 3.1.1

Wie kann ich es machen, das generell die Version 3.1.1 kommt, vor allem unter Lazarus ?
Zuletzt geändert von Mathias am Mi 14. Okt 2015, 18:04, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 7.1.1 für Linux Mint

Beitrag von Mathias »

Ich habe einen Weg gefunden, die SVN von FPC und Lazarus runterladen und anschliessend *.deb Pakete erzeugen, wie im Link beschrieben.

http://wiki.freepascal.org/How_to_setup ... repository

Somit kann man anschliessend die Pakete bequem über die Paket-Verwaltung installieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

Ich wollte das ganze mit der neusten Version nochmal machen, wen ich fpc*.deb mit

Code: Alles auswählen

./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/

erstellen will, kommt folgender Fehler:

Code: Alles auswählen

Makefile:2873: *** The only supported starting compiler version is 2.6.4. You are trying to build with 3.1.1..  Schluss.


Lazarus*.deb konnte ich ohne Probleme erstellen.

Wie kann ich den Fehler umgehen, da ich FPC 3.1.1 installiert habe ?

Wen ich FPC direkt mit "make all" erstellen will, kommt der gleiche Fehler.
Was macht eigentlich "make build" ? Dies läuft ohne Fehlermeldung durch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: FPC 3.1.1 für Linux Mint

Beitrag von shokwave »

Das sollte mit dem Parameter "OVERRIDEVERSIONCHECK=1" gehen.
mfg Ingo

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: FPC 3.1.1 für Linux Mint

Beitrag von Socke »

Mathias hat geschrieben:Wen ich FPC direkt mit "make all" erstellen will, kommt der gleiche Fehler.
Was macht eigentlich "make build" ? Dies läuft ohne Fehlermeldung durch.

Du kannst dem Makefile den Free Pascal Comiler mitgeben, der für die Übersetzung verwendet werden soll (siehe http://www.stack.nl/~marcov/buildfaq.pdf Abschnitt 2.2). Vielleicht geht das auch bei deinem Script.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: FPC 3.1.1 für Linux Mint

Beitrag von theo »

Man sollte allgemein FPC trunk mit der letzen stable Version bauen.

Welche Version zum Zug kommt, kann man mit Pfaden und einer angepassten fpc.cfg lösen.

Ich habe bei mir für Lazarus ein Startscript gemacht.

Normal, also ohne Script läuft bei mir auch die 2.6.4.

Für 3.1.1 starte ich Lazarus mit diesem Script:

Code: Alles auswählen

#/bin/sh
cp ~/fpc.cfg ~/.fpc.cfg
 
export PATH=~/lazarus/fpc/bin/:$PATH
export PATH=~/lazarus/fpc/lib/fpc/3.1.1/:$PATH
 
mkdir /dev/shm/lazarus_tmp/ #SSD schonen ;-)
 
~/lazarus/svn/lazarus --primary-config-path=~/.lazarus311
 
rm ~/.fpc.cfg


Wobei ~/fpc.cfg eine für meine 3.1.1 Pfade angepasste Version ist. Mein Compiler ist unter ~/lazarus/fpc/

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

shokwave hat geschrieben:Das sollte mit dem Parameter "OVERRIDEVERSIONCHECK=1" gehen.


Wäre zu einfach gewesen.

Code: Alles auswählen

tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $ make all OVERRIDEVERSIONCHECK=1
You have overriden the starting compiler versioncheck while using starting compiler version 3.1.1. This situation is not supported and strange things and errors may happen. Remove OVERRIDEVERSIONCHECK=1 to fix this.
tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

Ich habe versuchsweise die Makefile angeändert:

Code: Alles auswählen

override PACKAGE_VERSION=3.3.1
REQUIREDVERSION=3.1.1
REQUIREDVERSION2=3.0.0
#override PACKAGE_VERSION=3.1.1
#REQUIREDVERSION=2.6.4
#REQUIREDVERSION2=3.0.0


Die *.deb wurde ohne meckern erstellt, auch konnte ich sie installieren.

So wie es aussieht, funktioniert auch Lazarus mit dieser Modifikation.

Aber aus irgendwelchen Gründen unterbindet das FPC-Team dies ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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.1.1 für Linux Mint

Beitrag von af0815 »

Mathias hat geschrieben:Aber aus irgendwelchen Gründen unterbindet das FPC-Team dies ?

BuildFAQ Kapitel 2.2

Code: Alles auswählen

The only starting compiler that is guaranteed to work is the most recent release compiler for that series 

Der Grund ist meiner Meinung nach, wie soll ich die verschiedene Stände supporten, wenn der der Build nicht geht. So gibt es eine garantierte AUsgangsvariante gegen die auch automatisch auf jeden unterstützten System getestet wird. Alles andere ist ein Alptraum für den Support. Das es möglich ist, hast du ja selbst in Erfahrung gebracht, nur es wird dir nicht garantiert. Bin vor Jahren selbst über das Problem gestolpert, da war allerdings der Test noch nicht drinnen im Make-File.

Generell ist für Frage auch zum Crosscompiling die BuildFAQ zu empfehlen.

Ev. ist für deinen Problemkreis eventull ein Versuch mit dem FPCUP lohnenswert. Normalerweise organisiert sich der fpcup auch den richtigen Startingcompiler und baut auch wenn nötig die Crosscompiler.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

Der Grund ist meiner Meinung nach, wie soll ich die verschiedene Stände supporten, wenn der der Build nicht geht.

Das kann ich mit gut vorstellen.
Ein weiterer Grund könnte sein, mit FPC 2.6.4, hat man garantiert ein funktionierenden Grund-Compiler.
Angenommen, ich kompiliere mit einer fehlerhaften 3.1.1, wie soll dann das Ergebnis fehlerfrei sein.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: FPC 3.1.1 für Linux Mint

Beitrag von mischi »

Wenn man es ganz sauber machen will, sollte man das so machen:

Den 2.6.4 compiler ppc386 oder auch ppcx64 (mehr braucht man gar nicht!) irgendwo hinlegen, wo er im weiteren nicht stört und ihn dann im make Kommando mit PP=.... angeben.

make all PP=Pfad_zum_ppc386

Danach

sudo make install

MiSchi.
MiSchi macht die fink-Pakete

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

Ich habe die ppcx64 von einer 2.6.4-Paketquelle in einen seperaten Ordner kopiert, so wie du geschrieben hast, aber es kommt nur ein Fehler.

Code: Alles auswählen

tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $ ls ../fpc_compiler_2.6.4/
ppcx64
tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $ make all PP=../fpc_compiler_2.6.4/
make: execvp: ../fpc_compiler_2.6.4/: Keine Berechtigung
Makefile:2873: *** The only supported starting compiler version is 2.6.4. You are trying to build with ..  Schluss.
tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $


Brauche ich dazu etwa Root-rechte, was ich mir aber nicht vorstellen kann.

Dies geht auch nicht:

Code: Alles auswählen

tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $ make all PP=../fpc_compiler_2.6.4/ppcx64 
make compiler_cycle RELEASE=1
make[1]: Verzeichnis »/home/tux/fpc.src/fpc« wird betreten
make -C compiler cycle
make[2]: Verzeichnis »/home/tux/fpc.src/fpc/compiler« wird betreten
Makefile:135: *** Compiler ../fpc_compiler_2.6.4/ppcx64 not found.  Schluss.
make[2]: Verzeichnis »/home/tux/fpc.src/fpc/compiler« wird verlassen
make[1]: *** [compiler_cycle] Fehler 2
make[1]: Verzeichnis »/home/tux/fpc.src/fpc« wird verlassen
make: *** [build-stamp.x86_64-linux] Fehler 2
tux@tux-To-be-filled-by-O-E-M ~/fpc.src/fpc $
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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.1.1 für Linux Mint

Beitrag von af0815 »

Stimmen die Datei/Dir Berechtigungen UND ist die Datei als ausführbar gekennzeichnet ? Die Meldung 'keine Berechtigung' klingt ganz nach so einem Problem.

Wenn du das Executable dir als Root besorgt hast, bzw. die Struktur als Root angelegt wurde, dann hast sicher ein/das Problem.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: FPC 3.1.1 für Linux Mint

Beitrag von Mathias »

So sehen die Rechte aus mit "ls -l".

Code: Alles auswählen

-rwxr-xr-x 1 tux tux 2830824 Apr 20  2014 ppcx64
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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.1.1 für Linux Mint

Beitrag von af0815 »

Für das Verzeichnis auch?
Was passiert wenn du den den compiler direkt probierst aufzurufen, direkt aus dem Verzeichnis von wo du auch das makefile starten würdest?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten