Forum Programmation.autre Compatibilité de musl avec cible sous glibc [Résolu]

Posté par (page perso) . Licence CC by-sa
Tags : aucun
1
8
avr.
2016

Après avoir vainement cherché sur le Grand Ternet, voici mon problème. J'offre pour mon projet sur Sourceforge, en plus des sources, des binaires exécutables (liés statiquement). J'avais cessé de le faire au motif qu'il n'est pas sorcier de faire un "configure/make/make install". Mais un utilisateur m'a, de manière pertinente, fait savoir que dans certains cas les gens pouvaient être dans l'absolue impossibilité d'installer un compilateur GCC d'aujourd'hui sur leur machine (le cas d'un très vieil ordi sous Linux pas du tout upgradable faute d'espace disque ou de CD/USB bootable).

Ceci devient sensible maintenant avec la glibc actuelle qui ne prend pas en charge les vieux kernels Linux. Je suis sous Gentoo et, même en downgradant la libc dans la version la plus ancienne dispo sur cette distro (la glibc-2-17), je suis limité aux kernels d'au moins 2.6.32 . Or, rien que sur le shell de mon compte développeur sur Sourceforge, le noyau est 2.6.18 . Jusqu'à il y a deux ans, je pouvais y tester mes binaires compilés sur mon ordi mais plus maintenant. Et GCC y est de la version 4.4.7 (CentOs 6.6) or j'ai besoin d'au moins la 4.8.5 pour pouvoir y compiler mon projet.

Je pense à une chose, et je demande leur avis aux personnes ayant VRAIMENT une expérience PRATIQUE de la chose : si je compile un binaire (en édition de liens statique) non pas avec glibc mais avec musl, est-ce que ce binaire peut tourner sur n'importe laquelle des machines ordinaires sous glibc ? (Je peux faire une seconde installation parallèle de ma Gentoo avec le profil "musl" et y entrer en chroot. Mais, avant de me lancer dans ça, je dois ajouter un autre disque dur faute de place sur l'actuel !)

Et, si oui, est-ce que musl a les mêmes limitations que la glibc quant aux vieux noyaux de la génération 2.6 ? (je sais que c'est une question de threads NPTL mais ce qui m'intéresse c'est de savoir si musl va plus loin que glibc dans la gamme des noyaux.)

Merci de vos réponses.

  • # musl

    Posté par . Évalué à 2.

    Sans avoir VRAIMENT d'expérience pratique, je vous réponds.

    est-ce que ce binaire peut tourner sur n'importe laquelle des machines ordinaires sous glibc

    Oui.

    est-ce que musl a les mêmes limitations que la glibc quant aux vieux noyaux de la génération 2.6 ?

    Non.

    What are musl’s dependencies?
    Linux 2.6 or later. Earlier versions will suffice for running most simple single-threaded programs, but due to bugs and conformance issues at the kernel level, musl is not offically supported on earlier kernels.
    

    http://www.musl-libc.org/faq.html

    • [^] # Re: musl

      Posté par (page perso) . Évalué à 1.

      Je viens de compiler mon projet avec musl en statique. (Avec la distro Linux Alpine.) Effectivement, ça marche sans problème avec une machine sous glibc et aussi avec le vieux kernel de Sourceforge. Je pense à faire un journal prochainement sur le sujet.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.