[erledigt] Laz Optionen für Linux 32-Bit

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:

[erledigt] Laz Optionen für Linux 32-Bit

Beitrag von kralle »

Moin,

ich habe FP 3.0.0 und Lazarus 1.7 unter Linux Mint 18 (64-Bit) eingerichtet.
Die Einrichtungen des Crosscompiling für Win32 und Win64 funktionieren auch.
Linux 64-Bit funktioniert auch.

Code: Alles auswählen

 
    sudo make all CPU_TARGET=i386
    su -c "make install CPU_TARGET=i386"
 

Liefen auch ohne Fehler durch.
Aber, wenn ich jetzt als Buildmode "Linux32" auswähle, dann bekomme ich
folgende FehlerMeldung:
Kompiliere Package FCL 1.0.1: Exit code 256, Fehler: 1
Fatal: Kann system nicht finden verwendet von fcllaz von Package FCL.

Was ist Ursache für den Fehler und wie beseitige ich ihn?

Gruß Heiko
Zuletzt geändert von kralle am Fr 6. Jan 2017, 20:40, insgesamt 1-mal geändert.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Re: Laz Optionen für Linux 32-Bit

Beitrag von theo »

Zwei Punkte fallen mir ein.

Sollte man das nicht mit crossinstall machen?

Code: Alles auswählen

make all crossinstall OS_TARGET=Linux CPU_TARGET=i386

etc.

Linux 32bit erfordert auf dem ein 64bit Zielsystem viele zusätzliche 32bit Bibliotheken des Systems (afaik ia32-libs)

Bin kein Spezialist.

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:

kralle

Beitrag von kralle »

Moin,
die Codezeilen stammen aus dem Wiki, aus der Rubrik Crosscompiling.

Vielleicht ist ja auch nur noch etwas in der IDE falsch eingestellt.

Gruss Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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:

Re: Laz Optionen für Linux 32-Bit

Beitrag von Christian »

@kralle Theo hat recht. Du brauchst 32bi Libs auf deinem System. Früher konnte man die recht einfach über ia32-libs nachinstallieren. Meines wissens geht das bei aktuellen ubuntu derivaten nicht mehr. Ich nutz deshalb immer eine 32bit VM um 32bit Apps zu übersetzen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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: Laz Optionen für Linux 32-Bit

Beitrag von kralle »

Moin,

Christian hat geschrieben:Du brauchst 32bi Libs auf deinem System. Früher konnte man die recht einfach über ia32-libs nachinstallieren. Meines wissens geht das bei aktuellen ubuntu derivaten nicht mehr.

Kann man die LIBs nicht einfach in einen Ordner packen und Lazarus mitteilen wo er sie findet?
Christian hat geschrieben:Ich nutz deshalb immer eine 32bit VM um 32bit Apps zu übersetzen.

So wichtig ist mir das mit den 32-Bit-Versionen jetzt nicht.
Ich dachte nur, das ich das einfach mit einrichte.

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Laz Optionen für Linux 32-Bit

Beitrag von marcov »

Diesen Fehler ist nicht mangels LIBs (.so's). Das wuerdde etwas sein wie "Can't find -l<xxx>".

Also dieser Fehler meint das der Compiler keine Units fürs bestimmte Target finden kann.

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:

kralle

Beitrag von kralle »

Moin,
heisst das jetzt doch das
a) es funktionieren müsste
b) ich einen Konfigurationsfehler habe ?

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: Laz Optionen für Linux 32-Bit

Beitrag von Mathias »

Was ich dazu sagen kann, es fehlen Bibliotheken.

Ich unter WinXP ein Cross-Compiler, welcher auch MSDOS unterstützt.
Da hat es mir unter fpc\3.0.0\units 2 Ordner, den i386-win32 der standardmässig vorhanden ist.
Und zusätzlich hat es noch einen msdos gegeben, und dies wird mit Linux nicht anders sein.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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:

Re: Laz Optionen für Linux 32-Bit

Beitrag von Christian »

Einer der FPC Entwickler sagt es fehlen keine Libs, Mathias mit seinem Halbwissen sagt es fehlen Libs. Wenn dus besser weisst dann erklär es bitte besser.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Re: Laz Optionen für Linux 32-Bit

Beitrag von Mathias »

Du hast weiter oben auch geschrieben, das Libs fehlen, das es aber unterdessen schwer oder unmöglich ist diese zu installieren.

Ich nutz deshalb immer eine 32bit VM um 32bit Apps zu übersetzen.

Dies ist meisten der einfachste Weg und spart viel Ärger.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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:

Re: Laz Optionen für Linux 32-Bit

Beitrag von Christian »

Stimmt, hab das auch so im Hinterkopf. Marco hat da aber deutlich mehr plan von den fpc innereien.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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: Laz Optionen für Linux 32-Bit

Beitrag von shokwave »

Ich denke Christian hat Recht, wenn er "system", sprich die system.ppu, nicht finden kann, dann liegt das meist an einer verbogenen fpc.cfg. Der Fehler mit den nicht installierten Libs äußert sich, wie oben schon erwähnt, anders.

In der fpc.cfg sollten die Einträge für die libs mit Platzhaltern eingetragen sein. Etwa so(ist jetzt aus 'ner Win-Installation):

Code: Alles auswählen

-FlC:\dev\fpc300/lib/$FPCTARGET
 

Eine 2. Möglichkeitist, dass bei der Installation(make install) ein anderer Pfad, als bei der 64-bit Installation, angegeben wurde, dann könnte man diesen in der fpc.cfg hinzufügen.
mfg Ingo

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Laz Optionen für Linux 32-Bit

Beitrag von marcov »

Christian hat geschrieben:Einer der FPC Entwickler sagt es fehlen keine Libs,


Das auch wieder nicht. Nur das man dass nicht aus der Fehlermeldung stellen kann.

Das Buildprocess ist noch nicht so weit. Es fehlen eine Sammlung Units für das Target. Entweder sie sind nicht da (noch nicht kompiliert), oder werden nicht gefunden.

Nur wenn alle Ansprüche auf Pascal ebene vollzogen sind, geht es weiter bis zum Linking Teil, wo externe Libraries da sein müssen.

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: Laz Optionen für Linux 32-Bit

Beitrag von kralle »

Moin,

im Wik steht unter

Code: Alles auswählen

sudo make all CPU_TARGET=i386
    su -c "make install CPU_TARGET=i386"

That's it. Edit your /etc/fpc.cfg file if needed.

Nur irgendwo wird genau angegeben was man dort ändern muß.

Hier http://www.lazarusforum.de/viewtopic.php?f=3&t=6813
steht

Code: Alles auswählen

 
#ifdef x86_64
-Fl/usr/lib
#else
-Xd
-Fl/usr/lib32
#endif
 

Aber, die Verzeichnisse gibt es bei mir nicht.

Gibt es denn keine Weg?

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Antworten