Questão Construindo o R-3.5.0 no CentOS 6.5: / usr / bin / ld: crtbegin.o: Nenhum arquivo


Como não tenho privilégios para usar a ferramenta de gerenciamento de pacotes em nosso cluster, estou tentando construir localmente o R-3.5.0 no CentOS 6.5 a partir do código-fonte. Temos uma versão antiga do R instalada para todos os usuários, mas o software que eu uso requer uma versão mais recente. Além disso, o compilador gcc instalado globalmente é muito antigo para configurar o R-3.5.0, então eu instalei uma nova versão.

Informação do SO:

$lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.5 (Final)
Release:        6.5
Codename:       Final

informações do gcc:

$gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/me/GCC-8.2.0/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /dir/path/me/software/objdir/../gcc-8.2.0/configure --prefix=/home/me/GCC-8.2.0 --enable-languages=c,c++,fortran,go --disable-multilib
Thread model: posix
gcc version 8.2.0 (GCC)

Comando para configurar R:

./configure --prefix=$HOME/local --with-cairo --with-blas --with-lapack --enable-R-shlib --with-x=no LDFLAGS="-lcurl -L/$HOME/local/zlib-1.2.11/lib -L/$HOME/local/bzip2-1.0.6/lib -L/$HOME/local/xz-5.2.3/lib -L/$HOME/local/pcre-8.41/lib -L/$HOME/local/curl-7.61.0/lib -L/$HOME/local/ssl/lib -L/$HOME/local/texinfo-6.5/lib -L/$HOME/local/texi2html-5.0/lib -L/$HOME/GCC-8.2.0/lib" CPPFLAGS="-I/$HOME/local/zlib-1.2.11/include -I/$HOME/local/bzip2-1.0.6/lib -I/$HOME/local/xz-5.2.3/lib -I/$HOME/local/pcre-8.41/include -I/$HOME/local/curl-7.61.0/include -I/$HOME/local/ssl/include -I/$HOME/local/texinfo-6.5/include -I/$HOME/local/texi2html-5.0/lib/include -I/$HOME/GCC-8.2.0/lib/include"

Erro resultante:

checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/dir/path/me/software/R-3.5.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

config.log:

configure:6158: gcc --version >&5
gcc (GCC) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:6169: $? = 0
configure:6158: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/me/GCC-8.2.0/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /helga/cluster/me/software/objdir/../gcc-8.2.0/configure --prefix=/home/me/GCC-8.2.0 --enable-languages=c,c++,fortran,go --disable-multilib
Thread model: posix
gcc version 8.2.0 (GCC)
configure:6169: $? = 0
configure:6189: checking whether the C compiler works
configure:6211: gcc  -I//home/me/local/zlib-1.2.11/include -I//home/me/local/bzip2-1.0.6/lib -I//home/me/local/xz-5.2.3/lib -I//home/me/local/pcre-8.41/include -I//home/me/local/curl-7.6$
/usr/bin/ld: crtbegin.o: No such file: No such file or directory
collect2: error: ld returned 1 exit status
configure:6215: $? = 1
configure:6253: result: no

Eu entendo que a questão é que crtbegin.o não está sendo encontrado em /usr/bin/ld, mas eu pensei que ld foi associado com gcc. Eu preciso instalar ld separado de gcc ou eu simplesmente não configurei gcc corretamente? Eu suponho que estou confuso sobre o relacionamento entre os dois e como melhor resolver o erro.


0


origem




Respostas: