J'essaye de mettre à jour GCC sur une machine particulière de Linux que j'ai, à une version pour laquelle aucun paquet n'est disponible.Mise à jour de GCC - version de GMP causant des problèmes
je lance le script de configuration et il se plaint de la version de GMP:
# ../gcc/configure
checking build system type... i686-pc-linux-gnu
[snip]
checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations. Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.
Cependant, quand je vérifie gmp.h il montre:
/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */
#define __GNU_MP_VERSION 4
#define __GNU_MP_VERSION_MINOR 2
#define __GNU_MP_VERSION_PATCHLEVEL 1
et rapports RPM suivants:
# rpm -q --qf "%{VERSION}\n" gmp
4.2.1
# rpm -q --qf "%{VERSION}\n" gmp-devel
4.2.1
donc la bibliothèque et les en-têtes semblent être d'une version correcte pour moi (ce qui porte à confusion la numérotation o f le fichier .so pour libgmp semble avoir exactement rien à voir avec le numéro de version ... qui montre que
libgmp.so -> libgmp.so.3.4.1
Est-ce que quelqu'un sait pourquoi cela pourrait être un échec? Ce sont les deux seuls paquets gmp installés sur cette machine et ils sont dans les emplacements standards/usr/include et/usr/lib, donc ils devraient déjà être sur le chemin de recherche.
Il serait plus simple si vous remplaciez "une machine", "une version", etc. par des informations réelles ... Non, les nombres dans libsmurf.X.Y.Z ne sont pas censés avoir de relation avec la version du paquet. Vous devriez vérifier config.log. Le message d'erreur est le même si la compilation échoue pour une raison quelconque ou si la version est incorrecte. –