GCC cant find GMP, MPFR and MPC libraries

I am trying to cross-compile GCC on Mac OS 10.5.7. I used this command to configure GCC after installing GMP, MPFR, and MPC:

../gcc-4.5.0/configure --target=$i586-elf --prefix=/usr/local/cross \
    --disable-nls \
    --enable-languages=c,c++,fortran,java,objc,obj-c++,treelang,ada \
    --without-headers --with-libiconv-prefix=/opt/local --with-gmp=/usr/local \
    --with-mpfr=/usr/local --with-mpc=/usr/local

I got this error:

checking for the correct version of gmp.h... buggy but acceptable
checking for the correct version of mpfr.h... yes
checking for the correct version of mpc.h... yes
checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ 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.

Why could GCC find the headers for GMP, MPFR, and MPC but not the libraries?

7
задан Jonathan Leffler 18 August 2010 в 02:41
поделиться

1 ответ

Я подозреваю, что проблема может заключаться в том, что библиотеки предназначены для 32-битных версий, когда вы пытаетесь собрать 64-битный компилятор, или наоборот.

Недавно мне удалось собрать GCC 4.5.1 на MacOS X 10.6.4, но я сам собрал и установил библиотеки GMP, MPFR и MPC - в / usr / gnu64 (нестандартный место, которое я использую для вещей, которые устанавливаю для себя). Я также использовал параметр конфигурации:

CC='gcc -m64'

, чтобы принудительно выполнить 64-битную сборку. У меня были аналогичные проблемы в Linux (плюс проблема с регулярным выражением в opt-functions.awk - легко исправляется двумя обратными косыми чертами перед открытой фигурной скобкой), и я обнаружил, что были обновления библиотек MPFR и MPC, так как я построил на MacOS X:

  • GMP 5.0.1 (вместо 4.2.4)
  • MPC 0.8.2 (вместо 0.8.1)
  • MPFR 3.0.0 (вместо 2.4.2)

Поскольку я написал это, я несколько изменил свою методологию. То, что я делаю сейчас, описано в Установка GNU GCC на Mac . По сути, я получаю текущие версии GMP, MPC, MPFR и помещаю их исходный код в исходный каталог GCC, и позволяю GCC компилировать библиотеки для себя. Это заставляет GCC заниматься поиском библиотек.

7
ответ дан 6 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: