4 votes

Compilation sur Ubuntu 12.04 avec une ancienne version de la glibc

Je suis un cours sur les systèmes d'exploitation dans lequel nous devons compiler un programme sur Ubuntu 9.10. Ce programme ne fonctionne pas comme prévu sur les versions ultérieures d'Ubuntu (comme la 12.04).

Ma question est la suivante : comment puis-je compiler un programme C en utilisant le noyau 9.10 sur Ubuntu 12.04 (la version la plus récente) ?

J'ai installé une partition Ubuntu 9.10 sur mon ordinateur pour pouvoir utiliser les bibliothèques à partir de là. Mais, néanmoins, j'aimerais travailler à partir de ma partition 12.04.

Peut-être le présent manuel pourrait aider ?

4voto

tags2k Points 11036

Il est préférable de créer un "chroot" pour Ubuntu 9.10 et de compiler dans ce chroot.

Vous trouverez plus de détails à ce sujet dans ma réponse à la question suivante Construire plusieurs paquets pour les déployer sur différentes versions d'Ubuntu mais la procédure de base est la suivante :

  • Utilisation mk-sbuild --name=my-karmic-chroot karmic pour créer un nouveau chroot pour Ubuntu 9.10 (le nom de code de la 9.10 est "karmic")
  • Utilisation schroot -c my-karmic-chroot pour entrer dans le nouveau chroot, et faire votre compilation

Si vous compilez des paquets Ubuntu, l'option sbuild peut être utilisé pour automatiser cette opération.

Notez que cela n'utilise pas la fonction Noyau à partir de la version 9.10, uniquement les composants de l'espace utilisateur (y compris les bibliothèques d'exécution libc et C). Vous utiliserez toujours le noyau 12.04. Cependant, avez-vous spécifiquement besoin du noyau 9.10 ?

Si vous avez vraiment besoin du noyau 9.10, vous pouvez utiliser virt-manager pour créer une machine virtuelle 9.10 sur votre installation 12.04. Vous pouvez alors vous connecter à cette machine comme s'il s'agissait d'une vraie machine 9.10.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X