Compatibilité 32bits
De Diablotins.org.
| Compiler des programmes écrits pour i386/32 bits.
|
| ||
| Vous avez une machine 64 bits ( probablement un AMD64), vous avez légitimement utilisé un noyau et monde de cet environnement.
|
Sommaire |
Espace de compatibilité
Logiquement, nous allons le situer sous /compat, avec son collègue de compatibilité Linux.
mkdir -p /compat/i386
Créer un monde compatible
Rien de plus «simple», il suffit de changer le processeur cible (TARGET) et le répertoire cible (DESTDIR):
cd /usr/src && make buildworld installworld distribution TARGET=i386 DESTDIR=/compat/i386
N'oubliez pas de copier les configurations propres à la machine dans /compat/i386/etc.
Notamment, pour la configuration réseau, /etc/resolv.conf
Compiler les ports
Ensuite, définissons une nouvelle racine de travail.
chroot /compat/i386
Puis, recréons un monde en 32bits:
# /etc/rc.d/ldconfig start # mount -t devfs devfs /dev # mkdir -p /usr/ports
Lions ce répertoire au catalogue des ports de notre machine, depuis l'extérieur du chroot:
# mount -t nullfs -o rw /usr/ports /compat/i386/usr/ports
Créons un environnement compatible:
# setenv MACHINE i386 # setenv UNAME_p i386 # setenv UNAME_m i386
Puis compilez le port désiré, depuis le chroot
# cd /usr/ports/xxx/yyy && make install clean
Exemple
Pour Wine, après l'avoir compilé: Définissez le nouvel espace de bibliothèques:
setenv LD_32_LIBRARY_PATH /compat/i386/usr/local/lib setenv PATH /compat/i386/usr/local/bin:$PATH
Puis lancez le
/compat/i386/usr/local/bin/winecfg /compat/i386/usr/local/bin/wine

