Installation de l'éditeur de niveau UfoRadiant du jeu UFO: Alien Invasion dans un conteneur LXD basé sur Ubuntu 18.04 avec un déport X11 sur Ubuntu 24.04

Problème :

Sur une Ubuntu 24.04, je voulais compiler et installer l'éditeur de niveau UfoRadiant du jeu Ufo:Alien Invasion :
https://ufoai.org/wiki/Download

Mais, malheureusement, la compilation ne se déroule pas correctement à cause d'erreur concernant des mauvaises versions de bibliothèque de développement.

La compilation ne pose pas de problème si c'est effectué sur une Ubuntu 18.04, voir mon tutoriel suivant :
Installation de UFO:AI à partir des paquets source .deb

Solution :

J'ai donc créer un conteneur LXD basé sur une Ubuntu 18.04 et compiler UfoRadiant en suivant le tutoriel.

Puis, j'ai fait déporter l’affichage X11 du conteneur (Ubuntu 18.04) vers l’hôte (Ubuntu 24.04).

1/ Créer un conteneur LXD basé sur une Ubuntu 18.04

util01@station54:~$ sudo lxc launch ubuntu:18.04 ufo-build

2/ Vérification.

util01@station54:~$ lxc list
+-----------+---------+----------------------+----------------------------------------------+-----------+-----------+
|   NAME    |  STATE  |         IPV4         |                     IPV6                     |   TYPE    | SNAPSHOTS |
+-----------+---------+----------------------+----------------------------------------------+-----------+-----------+
| ufo-build | RUNNING | 10.181.23.144 (eth0) | fd42:a75:39a1:253e:216:3eff:fe36:f8be (eth0) | CONTAINER | 0         |
+-----------+---------+----------------------+----------------------------------------------+-----------+-----------+
util01@station54:~$ 

3/ Connexion au conteneur 'ufo-build'.

util01@station54:~$ lxc exec ufo-build -- sudo --user ubuntu --login
ubuntu@ufo-build:~$ 

4/ Suivre le tutoriel suivant pour compiler l'éditeur de niveau UfoRadiant.

Installation de UFO:AI à partir des paquets source .deb

5/ Partager le socket X11.

  • Sur l’hôte, ajouter un device proxy du socket X11 :
util01@station54:~$ lxc config device add ufo-build X0 disk source=/tmp/.X11-unix path=/tmp/.X11-unix
  • Autoriser le conteneur via xhost :
util01@station54:~$  xhost +local:

6/ Lancer l'éditeur de jeu avec DISPLAY=:0

util01@station54:~$ lxc exec ufo-build -- bash -lc 'DISPLAY=:0 /usr/bin/uforadiant'

uforadiant.png

6/ Revenir vers l'état sécurisé.

util01@station54:~$ xhost -local:
util01@station54:~$ lxc config device remove ufo-build X0