gcc configure --disable-shared falha ao desabilitar bibliotecas compartilhadas durante a compilação, libgmp e libmpc

1

Estou compilando o GCC em um servidor de compilação para obter acesso à versão mais recente do gfortran; depois de construir o gmp, mpfr e mpc em diretórios com prefixo especial em usr / local, configurei e fiz o gcc, o que resultou nos seguintes erros:

../../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

Dentro de config.log é o seguinte:

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.

O primeiro log (a saída stderr do make) parece indicar que há um conflito entre libgmp.so e libmpc.so, mas o segundo (config.log de build / x86_64-unknown-linux-gnu / include) parece mostre "-V" sendo passado como um arquivo e causando um erro de entrada faltando. Eu recebi recursivamente através de todo o diretório de compilação e não encontrei nada que corresponda a essa opção quebrada - alguém pode lançar alguma luz sobre o que pode ser a (s) causa (s) original (es) desses problemas?

    
por zedoyle 01.10.2014 / 18:32

1 resposta

0

Construir fontes do GCC foi uma dor na a **, mas conseguiu, no final, seguir estes passos simples:

depois de descarregar o gcc-5.2.0.tar.gz e descompactar / untar você deve ter um nome de diretório gcc-5.2.0.

você deve baixar alguns outros pacotes como o gmp mpc mpfr:

cd gcc-5.2.0
./contrib/download_prerequisites

ele irá baixar e descompactar o gmp mpc mpfr

É dificilmente recomendado não compilar o gcc a partir do diretório de fontes, então começamos:

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

Eu sugiro que você comece com:

make distclean

na pasta do gcc para deletar tudo que foi construído antes de iniciar qualquer coisa

Espero que ajude e boa sorte

    
por 12.10.2015 / 23:22