[gelöst] Crosscompiling Linux 64 --> Linux 32

Antworten
Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 988
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

[gelöst] Crosscompiling Linux 64 --> Linux 32

Beitrag von kralle »

Moin,

ich wollte gerade gerade unter "Linux Mint 18" mein FP/Lazarus für das Crosscompiling "Linux64 --> Linux32" einrichten und fand im Wiki
(http://wiki.lazarus.freepascal.org/Cros ... e#Zu_Linux) diese Anleitung:


Kompilieren sie FPC:

bash $ cd /usr/share/fpcsrc/<version>
bash $ make all CPU_TARGET=i386

dann:

bash $ su -c "make install CPU_TARGET=i386"

Das ist alles. Bearbeiten sie ihre /etc/fpc.cfg Datei falls erforderlich.


Unter Mint finde ich aber das "fpcsrc"-Verzeichnis an der angegeben Stellen nicht.

Kann mir jemand von Euch auf die Sprünge helfen?

Gruß Heiko
Zuletzt geändert von kralle am Sa 3. Dez 2016, 10:33, insgesamt 1-mal geändert.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von Mathias »

Wen du es über den Paket-Manager (deb) installiert hast, solltest du es mit

Code: Alles auswählen

dpkg -L fpc-src

finden.

Oder wie hast du fpc installiert ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 988
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von kralle »

Hallo Mathias,

ich habe alles mittels Script installiert.
Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von Mathias »

Ich denke, die gehen davon aus, das die Sourcen über die *.deb Quellen installiert sind.
Ich habe eine Ordner /usr/share/fpcsrc/3.1.1

ich habe alles mittels Script installiert.

Diese Script habe sicher irgendwo die Sourcen runtergeladen.

Oder lädst diese manuell runter: https://sourceforge.net/projects/freepa ... rce/3.0.0/

Die Trunk-Source würde ich nicht unbedingt nehmen, da es gerne Konflikte mit Make zwischen der 3.0 und 3.1 gibt.
Das Make bezieht sich die fpc-Kompilierung.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 988
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von kralle »

Moin,

also das herunterladen der Source-Dateien funktioniert und dann folgt in dem Script dieser Teil:
(das ganze Script findest Du am Ende dieses Beitrages: http://www.lazarusforum.de/viewtopic.php?f=51&t=649 )

Code: Alles auswählen

 
#!/bin/bash
#
# run in your HOME-directory with: sudo sh installsrc.sh  (HR)
#
# Where to download/install everything ? (below home directory)
#
INSTALLDIR=fpc-install
VERSION=3.0.0
CPUARCH=`uname -p`
USEROOT=YES
# Extract sources.
#
cd ~
tar xvzf $INSTALLDIR/fpc-$VERSION.source.tar.gz
cd ~/$INSTALLDIR
 


Danach müsste doch die Dateien in meinem Home-Verzeichnis im Unterverzeichnis "fpc-install" liegen - oder?
Aber auch dort funktionieren die Befehle nicht.

Noch irgend welche Ideen? Also, Linuxmässig bin ich ein D.A.U.

gruß HEiko

Nachtrag: Wenn ich die Befehle im in einen Terminalfenster mit erweiterten Rechten im Verzeichnis "fpc-install" ausführe, dann laufen sie durch.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von Mathias »

Wen du die Sourcen von meinem Link runter geladen hast, dann kan das Script nicht funktionieren.

Nach deinem Script müsste sie

Code: Alles auswählen

fpc-install/fpc-3.0.0.source.tar.gz
heisen

Aber diese heisst:

Code: Alles auswählen

fpc-3.0.0.x86_64-linux.tar


Am einfachsten packst das Archiv mit Nemo auf.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von Mathias »

So wie es aussieht, ist das eine komische Source bei meinem Link.

Diese Source sehen besser aus, die sollten sich problemlos mit Nemo entpacken lassen.

ftp://ftp.freepascal.org/pub/fpc/snapsh ... ce/fpc.zip
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 988
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Crosscompiling Linux 64 --> Linux 32

Beitrag von kralle »

Moin,

ich habe die Lösung gefunden. Wenn ich alles mittels des Scriptes installiert habe,
dann muss ich im Verzeichnis

Code: Alles auswählen

/home/laz-user/fpc-3.0.0

nur die beiden Befehle:

Code: Alles auswählen

sudo make all CPU_TARGET=i386

und

Code: Alles auswählen

su -c "make install CPU_TARGET=i386"

ausführen.

Eigentlich ganz einfach :)

Danke, für Eure Hilfe und Denkanstöße
Gruß
Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Antworten