Existe-t-il un lien entre les versions de gcc et la version d'un noyau? Plus précisément, pourrais-je installer une très ancienne version de gcc sur le dernier noyau. Sinon, pourrais-je construire la dernière version de gcc sur un très vieux noyau? Existe-t-il des problèmes de compatibilité entre les deux pour n’importe quelle version?
Vous pourriez avoir des difficultés à compiler de nouveaux noyaux avec de très anciennes versions de GCC.
De plus, les versions de GCC ne sont pas liées à la version du noyau Linux:
libc
qui ne fonctionnera pas sur ce noyau. Mais ce n'est pas un scénario particulièrement probable.Cela dit, vous devriez faire attention à installer un ancien GCC sur un GCC plus récent , car le nouveau GCC peut être nécessaire . Si vous construisez vous-même GCC à partir des sources, vous pouvez configurer la construction pour qu'elle installe dans son propre préfixe (plutôt que /usr
). Si cela ne fonctionne toujours pas, assurez-vous que le nouveau GCC (qui était là auparavant) est déjà dans un répertoire de la variable d'environnement PATH
autre que l'ancien GCC (que vous avez récemment installé).
Je me méfierais d'utiliser des versions plus anciennes de GCC sur des systèmes plus récents, en particulier si les exécutables de cette version ne s'appelaient pas gcc-1.3 (par exemple, si dans ce cas, la version est la 1.3), car sinon elle pourrait entrer en conflit avec la version actuelle utilisée. sur votre système Ubuntu, et casser des choses.
Pour répondre à votre question cependant, le noyau et GCC ne sont pas directement liés, mais il est probable que le noyau était construit avec la version de GCC que vous utilisez (ou légèrement plus ancienne).
Oui. Certaines nouvelles fonctionnalités du noyau ont besoin de la dernière version de gcc et de glibc pour fonctionner correctement. Mais ce n'est pas une contrainte restreinte telle que le noyau 3.0.2 ne fonctionne qu'avec gcc 4.2.1. Cela ressemble plus au noyau 3.x ne fonctionne qu'avec gcc 4.2.x