gcc configure --disable-shared не может отключить общие библиотеки во время компиляции, конфликтов libgmp и libmpc

1830
zedoyle

Я собираю GCC на сервере сборки, чтобы получить доступ к последней версии gfortran; после сборки gmp, mpfr и mpc в каталоги со специальным префиксом в usr / local, я настроил и сделал make gcc, что привело к следующим ошибкам:

../../gcc/cp/g++spec.c: In function ‘void lang_specific_driver(cl_decoded_option**, unsigned int*, int*)’: ../../gcc/cp/g++spec.c:352: warning: NULL used in arithmetic /usr/bin/ld: warning: libgmp.so.3, needed by /usr/local/mpfr-3.1.2/lib/libmpfr.so, may conflict with libgmp.so.10 configure: error: in `/tabletop/scratch/gcc-4.9.1/build/x86_64-unknown-linux-gnu/libgcc': configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. make[2]: *** [configure-stage1-target-libgcc] Error 1 make[1]: *** [stage1-bubble] Error 2 make: *** [all] Error 2 

Внутри config.log находится следующее:

configure:3373: $? = 0 configure:3362: /tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc -B/tabletop/scratch/gcc-4.9.1/build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -v >&5 Reading specs from /tabletop/scratch/gcc-4.9.1/build/./gcc/specs COLLECT_GCC=/tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc COLLECT_LTO_WRAPPER=/tabletop/scratch/gcc-4.9.1/build/./gcc/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --disable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran --with-gmp=/usr/local/gmp-6.0.0 --with-mpfr=/usr/local/mpfr-3.1.2 --with-mpc=/usr/local/mpc-1.0.2 Thread model: posix gcc version 4.9.1 (GCC) configure:3373: $? = 0 configure:3362: /tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc -B/tabletop/scratch/gcc-4.9.1/build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -V >&5 xgcc: error: unrecognized command line option '-V' xgcc: fatal error: no input files compilation terminated. configure:3373: $? = 1 configure:3362: /tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc -B/tabletop/scratch/gcc-4.9.1/build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -qversion >&5 xgcc: error: unrecognized command line option '-qversion' xgcc: fatal error: no input files compilation terminated. configure:3373: $? = 1 configure:3389: /tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc -B/tabletop/scratch/gcc-4.9.1/build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -o conftest -g -O2 conftest.c >&5 /tabletop/scratch/gcc-4.9.1/build/./gcc/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory configure:3392: $? = 1 configure:3580: checking for suffix of object files configure:3602: /tabletop/scratch/gcc-4.9.1/build/./gcc/xgcc -B/tabletop/scratch/gcc-4.9.1/build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -c -g -O2 conftest.c >&5 /tabletop/scratch/gcc-4.9.1/build/./gcc/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory configure:3606: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU C Runtime Library" | #define PACKAGE_TARNAME "libgcc" | #define PACKAGE_VERSION "1.0" | #define PACKAGE_STRING "GNU C Runtime Library 1.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "http://www.gnu.org/software/libgcc/" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:3620: error: in `/tabletop/scratch/gcc-4.9.1/build/x86_64-unknown-linux-gnu/libgcc': configure:3623: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. 

Первый журнал (вывод make-команды stderr), похоже, указывает на наличие конфликта между libgmp.so и libmpc.so, но второй (config.log из build / x86_64-unknown-linux-gnu / include), похоже, показывает "- V "передается в виде файла и вызывает пропущенную ошибку ввода. Я рекурсивно пролистал весь каталог сборки и не нашел ничего, что соответствовало бы этому неработающему варианту - может кто-нибудь пролить свет на то, что может быть первопричиной этих проблем?

1

1 ответ на вопрос

0
c00ler

Создание источников GCC было проблемой в **, но в конце концов удалось добиться следующих простых шагов:

после загрузки gcc-5.2.0.tar.gz и unzip / untar у вас должен появиться каталог с именами gcc-5.2.0.

Вы должны загрузить несколько других пакетов, таких как gmp mpc mpfr:

cd gcc-5.2.0 ./contrib/download_prerequisites 

это будет скачать и распаковать gmp mpc mpfr

Вряд ли рекомендуется не собирать gcc из каталога sources, поэтому мы начинаем:

mkdir gcc-build cd gcc-build .././configure (with your options) make make install 

Я предлагаю вам начать с:

make distclean 

в папке de gcc удалить все, что было собрано

Надеюсь, это поможет и удачи

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