Я пытаюсь обновить GCC на определенной машине с Linux до версии, для которой нет доступных пакетов.
Я запускаю скрипт configure, и он жалуется на версию 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.
Однако, когда я проверяю gmp.h, он показывает:
/* 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
и RPM сообщает следующее:
# rpm -q --qf "%{VERSION}\n" gmp
4.2.1
# rpm -q --qf "%{VERSION}\n" gmp-devel
4.2.1
поэтому и библиотека, и заголовки кажутся мне правильной версией (как ни странно, нумерация файла .so для libgmp, похоже, не имеет ничего общего с номером версии... который отображается как
libgmp.so -> libgmp.so.3.4.1
Кто-нибудь знает, почему это может не сработать? Это единственные два пакета gmp, установленные на этом компьютере, и они находятся в стандартных местах /usr/include и /usr/lib, поэтому они уже должны быть в пути поиска.