
Compiler la binaries ZGameEditor pour Linux avec Free Pascal
Je suis en train de batailler pour produire une version Linux d'Omeganaut. Mais pour cela, il me faut tout d'abord compiler ZGameEditor pour Linux 32 bits. Je précise bien 32 bits, parce que 64 bits c'est pas encore gagné... Comme d'habitude, j'en ai fait un tuto pour laisser une trace indélébile sur internet.
Lire la suite de Compiler la binaries ZGameEditor pour Linux avec Free Pascal
Cette méthode est obsolète, passer directement à la suite
Cette méthode ne fonctionne qu'à partir d'un ordinateur sous Linux 32 bits. Je n'ai pas encore réussi à compiler la version 32 bits depuis un Linux 64 bits. Je complèterai ce tutoriel par la suite si jamais j'y arrive. Ensuite, il faut simplement copier/coller les lignes de code dans la console. C'est quand même sympa Linux, quand ça fonctionne...
Mettre à jour les sources et installer les librairies nécessaires :
sudo apt-get update
sudo apt-get install build-essential subversion libsdl2-dev
fp-compiler ne peut plus compiler la dernière version de Free Pascal. Il est nécessaire d'installer fp-compiler-3.2.0. Pour cela, il faut ajouter la source de Free Pascal 3.2.0 :
sudo nano /etc/apt/sources.list
Ajouter cette ligne à la fin de sources.list et sauver le fichier. J'utilise le mirror fr dans la liste i386 Debian.
deb http://ftp.fr.debian.org/debian sid main
Ajouter les clés d'authentification requises à l'installation de Free Pascal:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Mettre à jour les sources et installer Free Pascal :
sudo apt-get update
sudo apt-get install fp-compiler-3.2.0
Si vous utilisez une version de Linux autre que Debian (ex: Xubuntu...) désactiver la ligne précédemment ajoutée dans sources.list sous peine de casser Linux lors d'une prochaine installation de package ou upgrade !!!
Compiler la dernière version de Free Pascal :
svn checkout http://svn.freepascal.org/svn/fpc/trunk ~/fpc
cd ~/fpc
sudo make all
sudo make install
24/10/2022: Nouvelle méthode
Free Pascal est passé sur git, ce qui rend les choses plus simples ( https://wiki.freepascal.org/FPC_git )
sudo apt update
sudo apt install build-essential libsdl2-dev subversion git fp-utils-3.2.2
git clone https://gitlab.com/freepascal.org/fpc/source.git ~/fpc
cd fpc
fpcmake (c'est necessaire ???)
sudo make all
sudo make install
Télécharger et compiler ZGameEditor :
svn checkout https://github.com/VilleKrumlinde/zgameeditor.git/trunk ~/zge-src
cd ~/zge-src
Pour la suite, utilisez cette simple commande pour connaitre votre version de Linux :
uname -m
Voici la ligne de commande pour compiler depuis Linux i386 :
mkdir Build/i386-linux Build/i386-linux/obj
/usr/local/lib/fpc/3.3.1/ppc386 -al -XXis -O2 -dZZDC_SDL -dMINIMAL -FU./Build/i386-linux/obj/ -Fu./3rdparty/sdl2 -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/pthreads/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/fcl-base/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/libc/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/paszlib/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/hash/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/rtl-objpas/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/x11 -B -Mdelphi -FE./Build/i386-linux ZzDC.dpr
mv Build/i386-linux/ZzDC Build/i386-linux/Player_linux.bin
Et la même ligne de commande pour compiler depuis Linux x86_64 :
mkdir Build/x86_64-linux Build/x86_64-linux/obj
/usr/local/lib/fpc/3.3.1/ppcx64 -al -XXis -O2 -dZZDC_SDL -dMINIMAL -FU./Build/x86_64-linux/obj/ -Fu./3rdparty/sdl2 -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/pthreads/ -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/fcl-base/ -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/paszlib/ -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/hash/ -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/rtl-objpas/ -Fu/usr/local/lib/fpc/3.3.1/units/x86_64-linux/x11 -B -Mdelphi -FE./Build/x86_64-linux ZzDC.dpr
mv Build/x86_64-linux/ZzDC Build/x86_64-linux/Player_linux.bin
Et enfin, celle pour compiler depuis Linux aarch64 :
mkdir Build/aarch64-linux Build/aarch64-linux/obj
/usr/local/lib/fpc/3.3.1/ppca64 -al -XXis -O2 -dZZDC_SDL -dMINIMAL -FU./Build/aarch64-linux/obj/ -Fu./3rdparty/sdl2 -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/pthreads/ -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/fcl-base/ -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/paszlib/ -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/hash/ -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/rtl-objpas/ -Fu/usr/local/lib/fpc/3.3.1/units/aarch64-linux/x11 -B -Mdelphi -FE./Build/aarch64-linux ZzDC.dpr
mv Build/aarch64-linux/ZzDC Build/aarch64-linux/Player_linux.bin
Il ne vous reste plus qu'à déplacer le fichier Player_linux.bin dans votre dossier ZGameEditor.
Maintenant, vous pouvez exporter votre projet ZGE en utilisant Project/ Build Linux x86 binary, même sous Windows :
Pour terminer avec ce tuto, voici les erreurs que vous pouvez obtenir par la suite lors du lancement de votre jeu sur Linux :
Permission denied
Il faut donner la permission de lecture et d'exécution à votre fichier :
chmod 755 your_file_name
Et voilà. Si jamais vous avez l'occasion d'utiliser ce tutoriel, laissez-moi un petit message, j'aurais l'impression d'être moins seul au monde à faire ce genre de trucs... Merci !