MSEide unter FreeBSD 32bit

Forum für alles rund um die MSEide und MSEgui

MSEide unter FreeBSD 32bit

Beitragvon Marsmännchen » 5. Feb 2017, 14:17 MSEide unter FreeBSD 32bit

Hi,

wegen der Infos in einem anderen Thread würde ich ja gerne mal einen Blick auf MSEide werfen. Nun fahre ich hier FreeBSD11 32bit (der alte Laptop kommt mit 64bit nicht klar). Die Ide-Binary für FreeBSD ist aber für 64bit gemacht. Lässt sich das trotzdem irgendwie auf meinem System ausführen?
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon mse » 5. Feb 2017, 14:51 Re: MSEide unter FreeBSD 32bit

Ich habe kein 32-Bit FreeBSD und kann darum keine Binaries liefern. Fred hat die mselibc.pas unit entsprechend angepasst und sagt MSEide laufe unter 32 Bit FreeBSD.
Die Kompilierung geht mit
Code: Alles auswählen
 
fpc -Fulib/common/* -Fulib/common/kernel/linux apps/ide/mseide.pas
 

die angepasste mselibc.pas ist irgendwo hier:
https://github.com/fredvs/polYdev
am besten fragst du Fred, seine Email-Adresse ist hier angegeben:
https://github.com/fredvs
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon mse » 5. Feb 2017, 15:02 Re: MSEide unter FreeBSD 32bit

Habe noch was gefunden:
Hello Martin.

I have added in /polYdev/mse_multisys/ ==> modified mselibc.pas.
This to make MSEgui demo compilable on FreeBSD 32 bit.

This was added at line 1003:

{$ifdef freebsd}
{$ifndef cpu64}
ino_t = __ino_t;
gid_t = __gid_t;
mode_t = __mode_t;
uid_t = __uid_t;
off_t = __off_t;
blkside_t = __blkside_t;
blkcnt_t = __blkcnt_t;
{$endif}
{$endif}

With this change, MSEide (and all other MSEgui applications) can be compiled-running for FreeBSD 64/32.

Huh, line 993: {$ifdef linux} could be changed in place of adding the above code.
But I do not know the syntax for {$if (def linux) or (def freebsd and def cpu32)}. ;-(

If you have plan to update MSEgui-Git to make MSEgui compilable-running on FreeBSD 32, of course I prefer the official mselibc.pas.
In attachment, working modified mselibc.pas.

PS: There is problem with fpc 3.0.0-FreeBSD-32bit and -XX parameter (smart link).
Tested on native FreeBSD 32 bit too and the problem is the same: wrong ELF indexed.
But without -XX, all fpc FreeBSD 32 applications run like charms.

Fre;D

Freds modifiziertes mselibc.pas ist im Anhang.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Marsmännchen » 22. Feb 2017, 21:54 Re: MSEide unter FreeBSD 32bit

... ich habs mit 32bit nicht hinbekommen. Liegt wohl an meinen rudimentären Kenntnissen. Allerdings werde ich mir in wenigen Tagen einen 64bit Laptop kaufen. Dann probier ich es nochmal.
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon mse » 23. Feb 2017, 08:10 Re: MSEide unter FreeBSD 32bit

Welche Probleme?
Mache ein Verzeichnis für MSEide+MSEgui in deinem home Verzeichnis, z.B. "msegui".
Entpacke mseide_msegui_src_4_4.zip von https://sourceforge.net/projects/mseide ... segui/4.4/ in ~/msegui.
Ersetze ~/msegui/lib/common/kernel/mselibc.pas durch mselibc.pas im vorletzten Beitrag.
Öffne ein Terminal in ~/msegui/, führe das Kommando
Code: Alles auswählen
 
fpc -Fulib/common/* -Fulib/common/kernel/linux apps/ide/mseide.pas
 

aus. Bitte berichte allfällige Fehler, das werde wir schon hinkriegen. :-)
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Marsmännchen » 23. Feb 2017, 16:55 Re: MSEide unter FreeBSD 32bit

So eine Anleitung habe ich gebraucht. Sobald ich Zeit hab, probiere ich es
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon Marsmännchen » 23. Feb 2017, 16:55 Re: MSEide unter FreeBSD 32bit

- doppelt gepostet...
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon Marsmännchen » 23. Feb 2017, 18:35 Re: MSEide unter FreeBSD 32bit

Hi,

ich hab das jetzt mal deine Anweisungen blind befolgt (ich habe so eine grobe Ahnung, was da passiert :oops: ).

Bis zum Kompilieren lief alles gut, aber der fpc hat sich dann beschwert:
msesysintf.pas(982,13) Error: Identifier not found "rmdir"
msesysintf.pas(1395) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/bin/ppc386 returned an error exitcode


Was da los ist, weiß ich nicht, FreeBSD kennt eigentlich rmdir...
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon mse » 23. Feb 2017, 19:06 Re: MSEide unter FreeBSD 32bit

In der mselibc.pas von Fred fehlt rmdir() tatsächlich. Ich werde eine eigene FreeBSD Version für 32 bit machen und hier posten, oder du kannst sie dann auch vom git Repo laden. Hast du git schon installiert?
EDIT:
Die aktualisierte mselibc.pas ist angehängt.
Praktischer ist die Arbeit mit git, vor allem wenn weitere Änderungen notwendig sein sollten.
Mache ein neues Verzeichnis für MSEide+MSEgui in deinem home Verzeichnis, z.B. "msegui_git".
Öffne ein Terminal in ~/msegui_git/, führe das Kommando
Code: Alles auswählen
 
git clone https://gitlab.com/mseide-msegui/mseide-msegui.git .
 

aus, bitte den abschliessenden "." nicht vergessen, sonst wird ein weiteres Unterverzeichnis erstellt.
Danach
Code: Alles auswählen
 
fpc -Fulib/common/* -Fulib/common/kernel/linux apps/ide/mseide.pas
 

Wenn es fehlerfrei kompiliert kannst du MSEide mit
Code: Alles auswählen
 
apps/ide/mseide
 

starten. Es kann sein, dass es kracht, dann müssen wir die Feldgrössen der libc Strukturen für 32 Bit anpassen.
Den neuesten MSEide+MSEgui Stand abholen geschieht durch
Code: Alles auswählen
 
git pull
 
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Marsmännchen » 23. Feb 2017, 22:22 Re: MSEide unter FreeBSD 32bit

Hi,

Git ist bei FreeBSD standardmäßig mit drauf und ich hatte mich damit auch schon ein wenig beschäftigt. Von daher hat das Klonen des Repository problemlos geklappt. Das Kompilieren lief auch eine Weile gut, aber dann gab es doch einen Crash:
mmysqlconn.inc(53,7) Fatal: Can't find unit mysql40dyn used by mmysql40conn
Fatal: Compilation aborted
Error: /usr/local/bin/ppc386 returned an error exitcode
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon mse » 24. Feb 2017, 07:17 Re: MSEide unter FreeBSD 32bit

Bei mir ist die Datei in
Code: Alles auswählen
 
/usr/lib/fpc/3.0.2/units/i386-linux/mysql/mysql40dyn.ppu
 

Bitte kontrolliere deine Free Pascal Installation. Welche FPC Version benutzt du?
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon photor » 24. Feb 2017, 18:43 Re: MSEide unter FreeBSD 32bit

Marsmännchen hat geschrieben:Git ist bei FreeBSD standardmäßig mit drauf


Hallo Marsmännchen,

bist Du da sicher? Ich habe Git aus den Ports installieren müssen. Was im Basis-System dabei ist: svn-lite, so dass man SVN nicht nachinstallieren muss, wenn es nur um's updaten des Systems und der Ports geht.

(Wenn die Info out-dated ist, dann kläre mich bitte auf ;) )

Ciao,

Photor
photor
 
Beiträge: 146
Registriert: 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux (L 1.6.4 FPC 3.0.2) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Marsmännchen » 24. Feb 2017, 21:32 Re: MSEide unter FreeBSD 32bit

Hallo Photor,

also bei meinem FreeBSD 11.0 wollte ich git per pkg nachinstallieren, worauf mein System mir sagte, dass dies nicht nötig sei, weil die vorhandene Version schon up to date wäre. Daher gehe ich davon aus, dass sich git ohne mein Zutun auf den Rechner geschlichen hat :D
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon Marsmännchen » 24. Feb 2017, 21:56 Re: MSEide unter FreeBSD 32bit

Hallo mse,

ich habe fpc 3.0.0. Es ist bei mir unter /usr/local/lib/fpc/3.0.0/ installiert und da gibt es zwar die Ordner .../units/i386-freebsd/ aber dann keinen Unterordner mysql.

Die mysql40dyn.ppu konnte ich mit folgendem Befehl nicht finden: sudo find / -name "mysql40dyn.ppu"
Allerdings hat sich das System auch nach einer Weile verweigert: ....PfadZuMeinemHome/.gvfs: Operation not permitted
Eine zweite Suche, diesmal mit Joker, ergab folgendes: /usr/home/jweiss/fpc-3.0.0/packages/mysql/src/mysql40dyn.pp
Hmmm.... ich bin da nicht der Meister, aber ich dachte, Packages installiert man mit Lazarus :?:
Ich mag Pascal...
Marsmännchen
 
Beiträge: 291
Registriert: 4. Mai 2014, 20:32
Wohnort: Berlin
OS, Lazarus, FPC: Ubuntu 16.04, FPC 3.0.2, Lazarus 1.6.4 | 
CPU-Target: 64bit
Nach oben

Beitragvon mse » 25. Feb 2017, 07:50 Re: MSEide unter FreeBSD 32bit

Marsmännchen hat geschrieben:Hmmm.... ich bin da nicht der Meister, aber ich dachte, Packages installiert man mit Lazarus :?:

FPC-Teile vermutlich nicht. Ich weiss nicht wie das auf FreeBSD geregelt ist, Marco kann sicher Auskunft geben.
Vielleicht empfiehlt es sich eine eine normale vollständige FPC 3.0.2 Installation vorzunehmen.
fpc-3.0.2.i386-freebsd11.tar von
https://sourceforge.net/projects/freepa ... BSD/3.0.2/
herunterladen und entpacken, cd fpc-3.0.2.i386-freebsd und dann
Code: Alles auswählen
 
sudo ./install.sh
 

lib/fpc/3.0.2/units/i386-freebsd/mysql ist darin vorhanden.
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu MSEide und MSEgui



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried