GCC не может найти библиотеки GMP, MPFR и MPC - PullRequest
7 голосов
/ 18 августа 2010

Я пытаюсь кросс-компилировать GCC на Mac OS 10.5.7. Я использовал эту команду для настройки GCC после установки GMP, MPFR и 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

Я получил эту ошибку:

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.

Почему GCC может найти заголовки для GMP, MPFR и MPC, но не для библиотек?

Ответы [ 7 ]

6 голосов
/ 18 августа 2010

Я подозреваю, что проблема может заключаться в том, что библиотеки предназначены для 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 и MPCMacOS 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 заниматься поиском библиотек.

5 голосов
/ 21 апреля 2011

Вы должны использовать

with-gmp=/usr/local/include \
    --with-mpfr=/usr/local/include --with-mpc=/usr/local/include

вместо

with-gmp=/usr/local \
    --with-mpfr=/usr/local --with-mpc=/usr/local
2 голосов
/ 09 апреля 2011

У меня была такая же проблема при попытке скомпилировать gcc-4.6.0 на OX 10.6.6.Я использовал gmp-4.3.2;используя вместо этого gmp-5.0.1, скрипт configure, по-видимому, правильно угадывает «CC = gcc -std = gnu99 CFLAGS = -O2 -pedantic -m64 -mtune = core2 -march = core2» и передает его в mpfr (3.0.1) и mpc (0.9), поэтому любой, кто использует эти или более поздние версии, не должен получать эту ошибку.

1 голос
/ 09 августа 2012

Я бы предложил установить gmp, mpfr и mpc, загрузив их с их сайтов.Затем запустите ./configure (в папке, куда загружены файлы) и sudo make install.

GCC должен скомпилироваться затем на Mac OSX (горный лев).

Обратите внимание, что mpc зависит от mpfrgmp.

Я использовал это для компиляции ядра шестерни на Mac OSX.

0 голосов
/ 27 сентября 2017

Была похожая проблема в Ubuntu 16.04 64 бит. Решено с помощью mpc-1.0.1.tar.gz, mpfr-3.1.6.tar.xz и gmp-6.1.2.tar.xz

0 голосов
/ 17 октября 2011

Я только что решил похожую проблему.Поскольку мой процессор x86_64, но моя ОС 32-битная, при установке GMP (5.0.2) он пытается настроить в 64-битной.Поэтому я перекомпилировал свой GMP с конфигурацией, такой как ABI = 32 ./configure ..., тогда эта проблема GCC исчезла.

0 голосов
/ 28 июня 2011

С установленными портами Mac mpfr, libmpc и gmp я смог добавить это в скрипт конфигурации:

--with-mpc=/opt/local/var/macports/software/libmpc/0.8.2_0/opt/local
--with-gmp=/opt/local/var/macports/software/gmp/5.0.1_0/opt/local
--with-mpfr=/opt/local/var/macports/software/mpfr/3.0.0-p8_0/opt/local 

Это должно было скомпилировать набор инструментов ti msp430.

...