Не удается настроить gcc - mpfr не найден - PullRequest
12 голосов
/ 15 февраля 2012

Я устанавливаю gcc 4.5.2 с mpc 0.8.2, mpfr 3.1.0 и gmp 5.0.2. Я скопировал каждый из каталогов mpc, mpfr и gmp в каталог gcc-4.5.2 (удалив теги версии). GCC успешно настраивает. Однако когда я запускаю make, я получаю:

checking for MPFR... no
configure: error: libmpfr not found or uses a different ABI.
make[1]: *** [configure-mpc] Error 1
make[1]: leaving directory cross/build/gcc
make: *** [all] Error 2

MPFR находится в кросс / src / gcc-4.5.2 / mpfr. МПФР уже был успешно построен. Кто-нибудь знает, почему MPC не может настроить?

Я думаю, что проблема, возможно, частично связана с тем, что libs / headers для MPFR находится в cross / src / gcc-4.5.2 / mpfr / src, а не в cross / src / gcc-4.5.2 / mpfr. Все, что я делал, это извлекал и копировал, хотя - это структура каталогов по умолчанию.

Ответы [ 6 ]

28 голосов
/ 26 апреля 2012

У меня была такая же проблема.Но, похоже, это происходит потому, что последняя версия MPFR (в вашем случае 3.1.0) изменила иерархию каталогов.

Вместо этого, перед настройкой, запустите следующее, когда вы находитесь внутри исходного каталога gcc (может работать только для gcc4.5.2 или новее):

./contrib/download_prerequisites

Он загрузит необходимые версии MPFR, GMP и MPC (но, вероятно, не самые последние версии) и распакует их для установки gcc.

После этоговы можете продолжить настройку, сборку и установку.

Надеюсь, это поможет.

-Rakib

8 голосов
/ 16 февраля 2012

Я обнаружил, что если я запускаю export C_INCLUDE_PATH=/cross/gcc-4.5.2/mpfr/src, то export LD_LIBRARY_PATH=/cross/build-gcc-4.5.2/mpfr/src/.libs и, наконец, export LIBRARY_PATH=$LD_LIBRARY_PATH все работает, как ожидалось.

Возникает вопрос, почему собственные скрипты настройки gcc устанавливают флаги неправильно. Он должен знать, что библиотеки mpfr находятся не в mpfr / .libs, а в mpfr / src / .libs, однако они передаются в mpc / configure.

3 голосов
/ 01 октября 2012

У меня была такая же проблема в течение нескольких часов, но я решил ее другим способом.

Я удалил все старые папки, такие как gcc-4. * И gcc-build, потому что внутри была старая конфигурация. После этого я снова проверил файл version-check.sh, если все было в нужном месте.

Я использовал Debian, и в нем отсутствовали бизоны и gnu awk! Почему бы ни Я снова установил два и начал с установки gcc. Теперь все в порядке.

Возможно, у вас есть похожая проблема, которую можно решить таким же образом. Я должен проверять каждый раз, когда я запускаю vbox, и, возможно, это проблема с моим vbox-образом, поэтому, когда я запускаю vbox, я запускаю проверку версий.

3 голосов
/ 23 июля 2012

Попробуйте при настройке:

./configure --prefix=<DIR YOU WANT TO INSTALL GCC> \
--with-gmp=<DIRECTORY YOU INSTALLED GMP> \
--with-mpc=<MPC DIR> --with-mpfr=<MPFR DIR>
2 голосов
/ 29 августа 2013

вместо --with-mpfr =, я использовал --with-mpfr-lib = your-mprf-dir / lib (64?) --With-mpfr-include = your-mprf-dir / include.

Это работает для меня. PS: mprf-3.1.0 gmp-5.0.2 mpc-0,9

0 голосов
/ 21 июля 2014

Нет необходимости, вы можете попробовать так:

./configure \
--with-gmp=/opt/install/local\
--with-mpfr=/opt/install/local \
--with-mpc=/opt/install/local \
--with-gmp-include=/opt/install/build/gmp-6.0.0 \
--with-mpfr-include=/opt/install/build/mpfr-3.1.2/src \
--with-mpc-include=/opt/install/build/mpc-1.0.2/src --enable-languages=c,c++
...