"/lib64/libc.so.6: la version` GLIBC_2.7 'introuvable "Erreur lors de l'installation du package R

J'ai rencontré un problème en essayant d'installer un package R appelé "GenomicFeatures",

Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '$HOME/.R325/lib64/R/library/RCurl/libs/RCurl.so': /lib64/libc.so.6: version `GLIBC_2.7' not found 

J'ai vérifié la, la racine n'a pas une telle bibliothèque.

/ usr / lib64

J'ai remarqué la suggestion gentille faite par eyoung100 , qui pourrait résoudre mon problème. Mes connaissances sur unix / linux n'en sont encore qu'à leurs débuts, il me semble suggéré une version mini de toute la racine, et installer le package RPM dans le "newroot".

il m'a semblé suggéré d'installer tout le système, est-ce nécessaire?

Toute suggestion? si des informations sont nécessaires pour résoudre le problème, veuillez me le faire savoir.

Une autre idée (c'est pourquoi je l'affiche comme une nouvelle réponse):

Certaines dissortingbutions chargent les bibliothèques depuis différents endroits. Par exemple, sur Debian, la libc n'est pas dans / usr / lib64, mais dans / lib / x86_64-linux-gnu. Il ne s'agit pas d'un problème de compatibilité, car les applications doivent charger les bibliothèques système à partir des directorys configurés par le système. Cette application casse cela, il essaie de charger la libc depuis un location câblé, donc c'est la faute des développeurs de cette application.

Vérifiez où est votre libc.so.6 (le plus facilement vous pouvez voir cela par un

 ldd /bin/bash 

command), et créez simplement un lien vers ce directory dans votre / usr / lib64 (la command: ln -sv / my / libc / directory / usr / lib64).

Ce package nécessite au less la version 2.7 de la glibc, qui est encore assez ancienne, mais votre dissortingbution semble beaucoup plus ancienne.

Si une solution chroot et une mise à jour du système ne sont pas viables, il existe deux autres moyens:

  1. Vous pouvez mettre à niveau uniquement la glibc sur votre système. Ils sont fortement rétrocompatibles, donc ils ne cassent probablement rien, mais vous risquez toujours la ruine de votre système dans un état où vous ne serez pas capable de le réparer.

  2. Vous pouvez extraire les files glibc d'un nouveau package glibc dans un directory local et exécuter uniquement ce process avec ce directory spécifique. Vous pouvez le faire avec la variable d'environnement LD_LIBRARY_PATH. Sachant qu'il s'agit d'un module R, qui n'est pas appelé directement par vous, mais par le R, vous devrez probablement implémenter un wrapper shellscript sortingvial pour la tâche.