2017-08-07 3 views
2

Je veux exécuter un programme C++ sur un périphérique plus ancien, qui ne supporte que la glibc 2.11.3. Je dois donc créer un environnement de développement en utilisant la même version glibc.Est-il possible de rétrograder la glibc sur OpenSUSE?

Actuellement il exécute la version 2.25 x86_64 pour openSUSE Tumbleweed. Tout d'abord, où trouver un fichier * .rpm valide de l'ancienne version. Aussi est-il possible de l'installer?

Essayer de désallouer la glibc me dit que le système d'exploitation va planter. :-)

Merci à tous pour votre soutien.

+1

Recherchez des instructions sur la configuration d'un environnement chroot pour cette version. Un chroot est un ensemble complètement indépendant de programmes et de bibliothèques d'espace utilisateur dans lesquels les programmes peuvent s'exécuter indépendamment de votre système principal. Vous pouvez le faire avec un compilateur croisé, mais j'ai toujours trouvé un chroot plus facile à configurer. –

+0

Vous ne devez pas rétrograder votre système libc. Au lieu de cela, installez l'ancienne version dans une arborescence de répertoires séparée et développez-la par rapport à cela. Ce n'est pas trop difficile de compiler la glibc à partir de la source, donc je suggère de le faire. – davmac

+1

glibc 2.11.3 est livré avec OpenSUSE 11.4. Vous pouvez obtenir la distribution iso et les rpms individuels à partir de [gwdg.de (Université de Goettingen Centre de calcul)] (https://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.4/) –

Répondre

2

La modification de la glibc du système entraînera presque certainement un désastre. Je pense que vous avez 2 solutions: multiple glibc on one system ou link glibc statically

+0

La première question que vous liez concerne l'exécution d'un programme par rapport à une autre version de libc; cette question concerne le lien avec un, IIUC. C'est en fait un problème assez différent. – davmac

2

unistall Trying glibc me dit que se bloque le système d'exploitation. :-)

Je ne comprends pas votre smiley.

Cela rendra votre système non amorçable, oui.

Qu'est-ce que vous voulez faire est le mieux atteint dans l'une de plusieurs façons:

  1. Créer un compilateur croisé Linux plus-à-Linux
  2. Créer un environnement chroot « ancien Linux » (utilisations ChromeOS cette approche)
  3. Créez une machine virtuelle "ancienne Linux" et développez-la en interne.

approche 2 est probablement plus facile à mettre en place, suivi de près par l'approche 3.

approche 1 vous donne la meilleure performance des builds, mais il faut comprendre en profondeur la façon de construire des compilateurs croisés.