2 votes

Maintien de la compatibilité binaire avec les versions précédentes

Je m'excuse si c'est plus un problème de serveur qu'un problème de SO, mais c'est en rapport avec le codage, alors voici...

J'ai le code de quelqu'un d'autre que j'essaie de compiler sur RHEL 7 mais qui fonctionnera (pour le moment du moins) sur RHEL 6. J'ai écrit mon propre fichier de spécification RPM pour construire et produire un fichier RPM. Le RPM se construit correctement sur RHEL 6 et RHEL 7, mais lorsque je le compile sur RHEL 7, il ne produit pas un RPM qui peut être installé sur RHEL 6 en raison des versions de GLIBC.

Existe-t-il un simple interrupteur que je puisse ajouter quelque part à la construction qui permettra au binaire résultant d'être satisfait avec une version antérieure de GLIBC et de pouvoir être installé sur RHEL 6 ?

Pour être clair, je n'ai pas besoin d'un binaire RHEL 7 pour le moment, j'aimerais juste pouvoir compiler pour RHEL 6 sur une boîte de développement RHEL 7.

1voto

Florian Weimer Points 15524

Vous pouvez utiliser mock (malheureusement uniquement dans EPEL) pour créer un chroot Red Hat Enterprise Linux 6 sur votre système Red Hat Enterprise Linux 7. Si vous n'utilisez que des bibliothèques compatibles avec l'ABI de niveau 1, votre application continuera à fonctionner sur Red Hat Enterprise Linux 7 sans recompilation. Construire sur la version la plus ancienne prise en charge (du point de vue de l'application) est vraiment la seule façon de procéder. Si vous avez besoin d'un compilateur C++ plus récent et que c'est la raison pour laquelle vous construisez sur Red Hat Enterprise Linux 7, envisagez plutôt d'utiliser Developer Toolset (DTS).

Les bibliothèques de niveau 1 sont décrites dans le Guide de compatibilité des applications . Il est censé y avoir une pièce jointe au format PDF avec la liste précédente des paquets, mais je ne peux pas y accéder pour l'instant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X