IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

/lib/libc.so.6: version `GLIBC_2.11' not found


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut /lib/libc.so.6: version `GLIBC_2.11' not found
    Bonjour,

    J'ai compilé mon code et généré un executable sur ma machine (Ubuntu 10.04 - x86_64). J'ai copié l'executable sur une autre machine Debian (Debian GNU/Linux 5.0 - x86_64) afin de le lancer dessus. En lancant l'application sur Debian j'obtiens le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /lib/libc.so.6: version `GLIBC_2.11' not found (required by /home/testuser/appli2/bin/exec2)
    Voici le resultat d'un ldd -v exec2 sur ma machine:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    linux-vdso.so.1 =>  (0x00007fff429e8000)
    	libtcmalloc.so.0 => not found
    	libprofiler.so.0 => not found
    	libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16 (0x00007f2604e99000)
    	libm.so.6 => /lib/libm.so.6 (0x00007f2604c16000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f26049f9000)
    	libc.so.6 => /lib/libc.so.6 (0x00007f2604672000)
    	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f2604439000)
    	libnsl.so.1 => /lib/libnsl.so.1 (0x00007f260421f000)
    	libz.so.1 => /lib/libz.so.1 (0x00007f2604007000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007f26052bc000)
    
    	Version information:
    	./exec2:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		libmysqlclient_r.so.16 (libmysqlclient_16) => /usr/lib/libmysqlclient_r.so.16
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
    		libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.7) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.11) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
    	/usr/lib/libmysqlclient_r.so.16:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
    		libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libm.so.6:
    		libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libpthread.so.0:
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_2.3.2) => /lib/libc.so.6
    		libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libc.so.6:
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    	/lib/libcrypt.so.1:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libnsl.so.1:
    		libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libz.so.1:
    		libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    Quand je compile le code sur une 3 ème machine Ubuntu ayant la meme version, meme config que la mienne et quand je lance le résultat (exec2) sur Debian, mon programme tourne bien.

    voici un ldd -v exec2 fait sur la 3ème machine Ubuntu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    linux-vdso.so.1 =>  (0x00007fffffffe000)
    	libtcmalloc.so.0 => /usr/local/lib/libtcmalloc.so.0 (0x00007f2f8a1c8000)
    	libprofiler.so.0 => /usr/local/lib/libprofiler.so.0 (0x00007f2f89fba000)
    	libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16 (0x00007f2f89b95000)
    	libm.so.6 => /lib/libm.so.6 (0x00007f2f89912000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f2f896f6000)
    	libc.so.6 => /lib/libc.so.6 (0x00007f2f893a3000)
    	libunwind.so.7 => /usr/local/lib/libunwind.so.7 (0x00007f2f8918a000)
    	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2f88e7e000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007f2f8a431000)
    	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f2f88c67000)
    	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f2f88a2f000)
    	libnsl.so.1 => /lib/libnsl.so.1 (0x00007f2f88817000)
    	libz.so.1 => /usr/lib/libz.so.1 (0x00007f2f88600000)
    
    	Version information:
    	./exec2:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		libmysqlclient_r.so.16 (libmysqlclient_16) => /usr/lib/libmysqlclient_r.so.16
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
    		libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.7) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
    	/usr/local/lib/libtcmalloc.so.0:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/libstdc++.so.6
    		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6
    	/usr/local/lib/libprofiler.so.0:
    		libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6
    		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/libstdc++.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/usr/lib/libmysqlclient_r.so.16:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
    		libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
    		libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libm.so.6:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libpthread.so.0:
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    		libc.so.6 (GLIBC_2.3.2) => /lib/libc.so.6
    		libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libc.so.6:
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
    	/usr/local/lib/libunwind.so.7:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/usr/lib/libstdc++.so.6:
    		libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
    		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
    		libgcc_s.so.1 (GCC_4.2.0) => /lib/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.3) => /lib/libgcc_s.so.1
    		libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
    		libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libgcc_s.so.1:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libcrypt.so.1:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/lib/libnsl.so.1:
    		libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    	/usr/lib/libz.so.1:
    		libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
    Sur la 3è machine (Ubuntu, comme la mienne), la version du libc6 installée est biensur la meme que sur ma machine: c'est un 2.11 mais quand la 3ème machine génère l'exécutable, ELLE N'INCLUT PAS LA 2.11, ALORS QUE LA MIENNE L'INCLUT!!!. On peut voir la comparaison en rouge dans les résultats ci-dessus. Sur Debian, la version du libc6 installée est 2.7 et libc6.so pointe bien vers la version 2.7:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     0 lrwxrwxrwx 1 root root 11 oct 26  2011 /lib/libc.so.6 -> libc-2.7.so
    tandis sur ma machine, libc6 pointe vers la 2.11:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 lrwxrwxrwx 1 root root 14 2012-11-05 15:10 /lib/libc.so.6 -> libc-2.11.1.so
    Ce qui fait que exec2 tourne sans problème suite à la compilation sur la 3ème machine.

    Pour résoudre le problème, sachant que je ne peux rien modifier sur Debian, je pense que je dois compiler avec une version de libc6 2.7 (ou antérieure) sur ma machine. Mais comment faire cette manip ? Etes vous d'accord avec ma vision du problème... ?

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Points : 124
    Points
    124
    Par défaut
    Bonjour,

    Manifestement ta machine a eu une mise à jour que la 3iem n'a pas eu, ce qui fait que tu utilise une version plus récente de la libc (2.11).

    Je crois que version de libc et version de gcc sont fortement liés. Tu devrais comparer la version de gcc sur ta machine, et celle sur la 3ieme machine.

    Celle de la 3ieme machine doit surement etre une version antèrieur, que tu dois pouvoir appeler sur ta machine en fournissant le path complet vers l'executable.

    Bonne chance

    Edit :
    Au passage, le forum linux serait peut être plus adapté à ton problème qui n'est pas lié au langage C lui-même.

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    sur ma machine, dpkg -l | grep "gcc" me liste une seule version: gcc 4.4
    sur la 3ème machine il y a 3 version gcc 4.1, 4.3 et 4.4

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Points : 124
    Points
    124
    Par défaut
    Sur la 3iem machine il y en a plusieurs d'installé, mais lequel est celui utilisé par défaut ?
    gcc -v

Discussions similaires

  1. Erreur version `GLIBCXX_3.4.9' not found
    Par Mistervanhalen dans le forum Linux
    Réponses: 2
    Dernier message: 27/11/2009, 13h45
  2. php --version command not found
    Par princesse95 dans le forum Administration système
    Réponses: 1
    Dernier message: 19/10/2009, 14h52
  3. tomcat\common\lib not found!
    Par khawlita dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 18/02/2009, 17h02
  4. version `GLIBC_2.3.2' not found
    Par jobim08 dans le forum Administration système
    Réponses: 5
    Dernier message: 06/01/2009, 11h08
  5. GLIBC_2.3.2 not found
    Par jobim08 dans le forum Bioinformatique
    Réponses: 4
    Dernier message: 31/12/2008, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo