web-dev-qa-db-fra.com

Comment mettre à niveau glibc de la version 2.12 à la version 2.14 sur CentOS?

Je ne sais pas comment mettre à niveau glibc de la version 2.12 à la version 2.14 sous CentOS 6.3. J'ai besoin de ton aide.

20
Tae Am CHOI

Vous ne pouvez pas mettre à jour glibc sur Centos 6 en toute sécurité. Cependant, vous pouvez facilement installer 2.14 aux côtés de 2.12, puis l'utiliser pour compiler des projets, etc. Voici comment:

mkdir ~/glibc_install; cd ~/glibc_install
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make -j4
Sudo make install
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib
66
UnitasBrooks

J'ai trouvé cette source très utile et n'a pas beaucoup de référencement. Il répertorie les erreurs les plus courantes que vous pourriez rencontrer lors de l’utilisation de la bonne réponse de @UnitasBrooks et j’ai bien peur que cela se perde à l’avenir.

Ceci est le lien vers le message original

Je vais copier, coller ici ( J'ai affronté le dernier problème et il l'a corrigé, mais je n'ai pas essayé tous les problèmes/solutions listées et vous l’essayez à vos risques et périls)


Installation Glibc

La bibliothèque GNU C, plus communément appelée glibc) est la GNU dans la bibliothèque standard C du projet. Mon environnement a requis glibc (version 2.14) et il a fallu un peu de bidouillage pour le faire fonctionner, alors espérons que cela vous fera gagner du temps.

Dépendances d'installation 0.Glibc

Bash: sh
Binutils: ar, as, ld, ranlib, readelf
Diffutils: cmp
Fileutils: chmod, cp, install, ln, mknod, mv, mkdir, rm, touch
Gcc: cc, cc1, collect2, cpp, gcc
Grep: egrep, grep
Gzip: gzip
Make: make
Gawk: gawk
Sed: sed
Sh-utils: date, expr, hostname, pwd, uname
Texinfo: install-info, makeinfo
Textutils: cat, cut, sort, tr

1.Télécharger le package d'installation

http://www.gnu.org/software/libc/ for all versions.
http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz for version 2.14.

2. Compiler et installer

Pour éviter de perturber l'environnement actuel, compilez et installez cette version séparément en configurant le préfixe.

[root@localhost ~]# tar xvf glibc-2.14.tar.gz
[root@localhost ~]# cd glibc-2.14
[root@localhost glibc-2.14]# mkdir build
[root@localhost glibc-2.14]# cd ./build
[root@localhost build]# ../configure --prefix=/opt/glibc-2.14
[root@localhost build]# make -j4
[root@localhost build]# make install
[root@localhost build]# export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

3.Pour vérifier les versions de glibc installées

root@localhost:~/intel64/runtime/glibc$ strings libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_PRIVATE

4. Erreurs de compilation

Erreur:

make [1]: *** Aucune règle à rendre cible /mnt/lfs/sourcenew/glibc-build/Versions.all', needed by/mnt/lfs/sourcenew/glibc-build/abi-versions.h '. Arrêtez.

Solution:

Sudo apt-get install gawk
Sudo apt-get install texinfo

Erreur:

make [2]: *** [/mnt/lfs/sources/glibc-build/misc/syslog.o] Erreur 1

Solution:

make clean
make -j2 CFLAGS="-U_FORTIFY_SOURCE -O2 -fno-stack-protector"

Erreur:

/Downloads/glibc-2.14/build/elf/ldconfig: impossible d'ouvrir le fichier de configuration /opt/glibc-2.14/etc/ld.so.conf: aucun fichier ou répertoire de ce type

Solution:

:/opt/glibc-2.14/etc$ Sudo sh -c "echo '/usr/local/lib' >> ld.so.conf" 
:/opt/glibc-2.14/etc$ Sudo sh -c "echo '/opt/lib' >> ld.so.conf"
2
Accountant م

Dans mon cas, la réponse pertinente a été donnée par Trevor Robinson,

Il est écrit que la version 5.3.1 de gcc est trop ancienne, mais qu’elle est trop récente. Il cherche gcc 3.4 ou 4.x. Pour CentOS 6, utilisez simplement le stock gcc 4.4 (contrairement à 5.3.1 de devtoolset-4)

J'ai eu une autre version de gcc dans le chemin qui a rendu fou le script de configuration

0
AKludges