64bit Lazarus/Free Pascal auf meinem Tablet?!

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von alfware17 »

Hallo ich habe mir vor kurzem so ein chinesisches Tablet (Hurican) gekauft - ja ich weiß, man wird immer gewarnt... Aber für meine Zwecke - unterwegs surfen und eventuell was schreiben oder exceln, ganz okay und ein geringeres finanzielles Risiko als so eine Surface Kiste etc.

Was ist das drin - weiß nicht genau, ein "Snapdragon", 8 GB RAM, eine 128 GB SSD und von mir eine 512 GB SD. Es läuft Windows 10 64 bit. Ich habe schon ein paar Anwendungen installiert bekommen und ich mache schon von mir aus die meisten in 32bit, ich bin eben ein Dino und brauche bei sowas wie Thunderbird, Firefox, Excel etc kein 64bit. Beim Programmieren ist das (ein wenig) anders. Okay meine Hörner bei Java habe ich mir schon abgestoßen, da gibt es anscheinend nur 64bit AMD und nix anderes und ich brauche es auch nicht, kann bei 32bit bleiben.

Bei Lazarus/Free Pascal?! Wie ist es da? Ich bekomme Lazarus 64 nicht installiert. Und mein Compile von Konsolen-Programmen über den 32bit FPC mit dem speziellen Target X86_64 geht auch nicht. Ich nehme an, der Snapdragon ist wirklich inkompatibel. Gibt es da etwas anderes? Ich bin hardwaretechnisch nicht so versiert, habe vom Android her aber gehört, es gibt ARM Prozessoren. Würde das passen? Gibt es diese Plattform für Lazarus/FreePascal? Es ist für mich jetzt nicht (über)lebenswichtig. Ich programmiere eh meistens in 32bit und schaue dann nur noch mal, ob meine ggf. notwendigen 64bit Anpassungen oder was ich im Laufe der Jahre an Unterschieden reingebaut habe, auch noch laufen. Muß ich darauf an diesem Tablet verzichten?

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

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von theo »

Wie heisst das Gerät wirklich? "Hurican" habe ich nicht gefunden. Es gibt die Marken "Hyrican" und "Hurricane".

An FPC für Windows on ARM64 wird anscheinend gearbeitet, aber ich weiss nicht, ob das schon so weit ist.

https://lists.freepascal.org/pipermail/ ... 42651.html
https://forum.lazarus.freepascal.org/in ... ic=41442.0
https://forum.lazarus.freepascal.org/in ... ic=48899.0

Vllt. weiss PascalDragon mehr.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von af0815 »

Fangen wir bei den Basics an.

kopier von einem anderen Rechner die Datei ppc386.exe (liegt im fpc Binaries Verzeichnis) das ist der reine fpc-Kompilerteil. Dann auf eine Commandozeile mal ppc386.exe -v testen. Gibt dir der Kompiler daten aus, so sollte es nicht am Prozessor liegen.

Dann kann man sich in Ruhe ansehen, wie du den fpc/Lazarus installiert hast. Ich hoffe nicht mit einem fertigen Installationspaket in ein Verzeichnis was ein Sonderzeichen oder Leerzeichen beinhaltet. Das geht schief, bitte kontrollier das auf der Kommandozeile, weil der Explorer kann dir Verzeichnisse vorgaukeln die gar nicht so heissen wie angezeigt.

Edit: Wenn das mit dem ppc386.exe nicht geht, so könnte es wirklich eine andere Architektur sein. Aber das sieht man mal mit dem Test. Wenn du in WIndwos auf System gehst, was steht da ? Da muss eine Info zum Systemtyp sein (Bei mir 64-Bit-Prozessor, x64-basierender Prozessor und Intel(R) Core(TM) i7-6700 CPU @3,4GHZ 3.41 GHz))
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von theo »

af0815 hat geschrieben:
Di 28. Feb 2023, 11:14
Wenn das mit dem ppc386.exe nicht geht, so könnte es wirklich eine andere Architektur sein.
Ist wahrscheinlich das:
https://learn.microsoft.com/en-us/windows/arm/overview

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von af0815 »

Das PAD ist meiner Vermutung nach dieses https://www.hyrican.de/index.php/produk ... /enwo-pad/ die Daten dort würden passen.

Was beim Snapdragon 850 dabeisteht, 32-Bit Applikationen die nicht für den ARM kompiliert laufen in Emulation und sind deutlich langsamer. Quelle: https://www.notebookcheck.com/Qualcomm- ... 752.0.html
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von alfware17 »

af0815 hat geschrieben:
Di 28. Feb 2023, 11:45
Das PAD ist meiner Vermutung nach dieses https://www.hyrican.de/index.php/produk ... /enwo-pad/ die Daten dort würden passen.

Was beim Snapdragon 850 dabeisteht, 32-Bit Applikationen die nicht für den ARM kompiliert laufen in Emulation und sind deutlich langsamer. Quelle: https://www.notebookcheck.com/Qualcomm- ... 752.0.html
Ja genau das ist mein Tablet... 199 von Cyberport :-)

alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von alfware17 »

af0815 hat geschrieben:
Di 28. Feb 2023, 11:14
Fangen wir bei den Basics an.

kopier von einem anderen Rechner die Datei ppc386.exe (liegt im fpc Binaries Verzeichnis) das ist der reine fpc-Kompilerteil. Dann auf eine Commandozeile mal ppc386.exe -v testen. Gibt dir der Kompiler daten aus, so sollte es nicht am Prozessor liegen.

Dann kann man sich in Ruhe ansehen, wie du den fpc/Lazarus installiert hast. Ich hoffe nicht mit einem fertigen Installationspaket in ein Verzeichnis was ein Sonderzeichen oder Leerzeichen beinhaltet. Das geht schief, bitte kontrollier das auf der Kommandozeile, weil der Explorer kann dir Verzeichnisse vorgaukeln die gar nicht so heissen wie angezeigt.

Edit: Wenn das mit dem ppc386.exe nicht geht, so könnte es wirklich eine andere Architektur sein. Aber das sieht man mal mit dem Test. Wenn du in WIndwos auf System gehst, was steht da ? Da muss eine Info zum Systemtyp sein (Bei mir 64-Bit-Prozessor, x64-basierender Prozessor und Intel(R) Core(TM) i7-6700 CPU @3,4GHZ 3.41 GHz))
Das kann ich am Wochenende machen mit der ppc386. Der Name kommt mir auch bekannt vor - das war die Fehlermeldung, als ich den FPC 64bit aufrufen wollte, wie ich es von diesem Rechner an dem ich gerade sitze kenne. Bis mir auffiel, oops Lazarus 64 hatte ich ja gar nicht installiert. Aber auch der Target X86_64 mit dem 32bit FPC ging nicht, wird wahrscheinlich auch nicht gehen, da ich den Crosscompiler ebensowenig installiert bekomme, richtig?

Zu den Pfadnamen: ich habe die 3 Sourgeforge Pakete genommen und in ein Verzeichnis c:\bernd\lazarus installiert. Normalerweise habe ich den 64bit dann in c:\bernd\lazarus64, also keine Leerzeichen oder Umlaute.

Melde mich, wenn ich die Informationen habe (die Kiste liegt zZt unter der Woche woanders)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von af0815 »

Wie ich schon schrieb, es wird offensichtlich win32 emuliert, damit ist nichts mit win64. Also nur die Version für win32 verwenden. Und wenn der ppc386.exe unter win64 kompiliert wurde, wird der auch nicht funktionieren, aufgrund der fehlenden Emulation. Also kann man alles nur unter win32 versuchen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PascalDragon
Beiträge: 830
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von PascalDragon »

Auf einem Windows 10 on ARM System kannst du aktuell nur den i386-win32 Compiler und die entsprechende IDE nutzen. Windows 11 on ARM unterstützt auch x86_64-win64.
FPC's Entwicklungsversion hat initiale Unterstützung für aarch64-win64, aber der Compiler hat noch einen Bug, der ihn nicht wirklich nutzbar macht.
FPC Compiler Entwickler

alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von alfware17 »

Hallo und hier wie versprochen, meine Systemübersicht des Tablets (siehe Anhang).

Mein Compiler erzeugt folgende Ausgaben (hier auf einen Win7-PC). Wenn ich mich recht erinnere, mache ich sowohl LZ als auch LZX64
mit dem 32bit Compiler, einmal mit und einmal ohne Crosscompiler/Plugin, richtig? Ein richtiges paralles 64bit Lazarus habe ich hier auch
installiert, nutze aber für batch den Compiler nicht.

Code: Alles auswählen

c:\Bernd\lazarus\temp>lz

c:\Bernd\lazarus\temp>c:\bernd\lazarus\fpc\3.0.4\bin\i386-win32\fpc.exe -Fuc:\be
rnd\lazarus\stdunit
Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
Fatal: No source file name in command line
Fatal: Compilation aborted
Error: c:\bernd\lazarus\fpc\3.0.4\bin\i386-win32\ppc386.exe returned an error ex
itcode

c:\Bernd\lazarus\temp>pause
Drücken Sie eine beliebige Taste . . .

c:\Bernd\lazarus\temp>lzx64

c:\Bernd\lazarus\temp>c:\bernd\lazarus\fpc\3.0.4\bin\i386-win32\fpc.exe -Px86_64
 -dx86_64 -Fuc:\bernd\lazarus\stdunit
Free Pascal Compiler version 3.0.4 [2017/10/06] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Fatal: No source file name in command line
Fatal: Compilation aborted
Error: c:\bernd\lazarus\fpc\3.0.4\bin\i386-win32\ppcrossx64.exe returned an erro
r exitcode

c:\Bernd\lazarus\temp>pause
Drücken Sie eine beliebige Taste . . .

c:\Bernd\lazarus\temp>ppc386
Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
c:\Bernd\lazarus\temp\ppc386.exe [options] <inputfile> [options]
 Put + after a boolean switch option to enable it, - to disable it.
  @<x>   Read compiler options from <x> in addition to the default fpc.cfg
  -a     The compiler does not delete the generated assembler file
      -al        List sourcecode lines in assembler file
      -an        List node info in assembler file (-dEXTDEBUG compiler)
      -ao        Add an extra option to external assembler call (ignored for int
ernal)
      -ar        List register allocation/release info in assembler file
      -at        List temp allocation/release info in assembler file
  -A<x>  Output format:
      -Adefault  Use default assembler
      -Aas       Assemble using GNU AS
      -Amacho    Mach-O (Darwin, Intel 32 bit) using internal writer
      -Anasm     Assemble using Nasm
      -Anasmcoff COFF (Go32v2) file using Nasm
      -Anasmelf  ELF32 (Linux) file using Nasm
      -Anasmwin32 Win32 object file using Nasm
      -Anasmwdosx Win32/WDOSX object file using Nasm
      -Anasmdarwin macho32 object file using Nasm (experimental)
      -Awasm     Obj file using Wasm (Watcom)
*** press enter ***
Die Ausgabe des ppc386.exe sah auf dem Tablet genauso aus. Ich hatte es so verstanden, daß ich die exe vom 64bit-System mitnehmen soll.
Meiner Meinung nach war es aber die gleiche, die ich auf dem Tablet auch im bin Verzeichnis des dort installierten 32bit Lazarus/FPC fand.
(ich habe noch nicht versucht, eine Cross-Plattform oder gar den 64bit Lazarus zu installieren, was aber dann wohl auch nicht geht?)

ppcx64.exe lief leider nicht und so wie ich euch verstehe, habe ich also auch keinerlei Chance, 64bit zu programmieren?
Dateianhänge
Systembericht-übersicht.txt
(17.43 KiB) 39-mal heruntergeladen

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von af0815 »

Vorweg du brauchst den Compiler mal in win32 = i386, weil das kann von dem ARM simuliert werden.

Eine Möglichkeit ist, den entsprechende fpcupdeluxe herunter zu laden (win32) und mit dem zuerst eine Installation von fpc und dann von Lazarus zu machen. Mit fpcupdeleuxe wird das Side by Side gemacht, daher ist die Installation in sich geschlossen und man kann mehrere nebeneinader haben.

Dann kannst du einen 64bit Crosscompiler bauen, damit kannst du auch win64 Programme erstellen - aber nicht auf deinem Rechner laufen lassen/debuggen. Das gibt die Emulation der ARM-CPU nicht her.

Wenn der FPC dann aarch64-win64 kann, so kannst du dir einen fpc/Lazarus damit für deine Plattform bauen, die den Prozessor nativ verwendet. Und dort dann nach win32 oder win84 cross compilieren.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PascalDragon
Beiträge: 830
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: 64bit Lazarus/Free Pascal auf meinem Tablet?!

Beitrag von PascalDragon »

alfware17 hat geschrieben:
Mo 6. Mär 2023, 11:59
Die Ausgabe des ppc386.exe sah auf dem Tablet genauso aus. Ich hatte es so verstanden, daß ich die exe vom 64bit-System mitnehmen soll.
Meiner Meinung nach war es aber die gleiche, die ich auf dem Tablet auch im bin Verzeichnis des dort installierten 32bit Lazarus/FPC fand.
(ich habe noch nicht versucht, eine Cross-Plattform oder gar den 64bit Lazarus zu installieren, was aber dann wohl auch nicht geht?)

ppcx64.exe lief leider nicht und so wie ich euch verstehe, habe ich also auch keinerlei Chance, 64bit zu programmieren?
Nochmal: Windows 10 on ARM unterstützt keine Emulation von x86_64-win64 Code und 64-bit Lazarus für Windows existiert aktuell nur für diese Architektur und nicht für aarch64-win64, was auf deinem Tablet läuft. Das heißt das einzige was du zum Entwickeln auf dem Tablet nutzen kannst ist die 32-bit i386-win32 IDE und du kannst auch nur entsprechende Programme erzeugen.

Wenn die verbleibenden Fehler in der aarch64-win64 Unterstützung dann mal in der Zukunft behoben sind, dann und nur dann kannst du auch den nativen Compiler und voraussichtlich auch die IDE nutzen (wobei dann wahrscheinlich noch kein Debugger verfügbar sein wird).

Solange du allerdings keine Anwendungen entwickelst, die von der Performance abhängen oder mehr als 2 GB Speicher brauchen, kannst du ohne Probleme die 32-bit IDE und den entsprechenden Compiler nutzen.
FPC Compiler Entwickler

Antworten