gcc.8.3 出现 cannot find ‘ld‘ & 安装 binutils-2.31

在使用 mvapich2 和 gcc 8.3 编译软件时出现了 cannot find ‘ld’ 的错误,经过排查发现是系统库里的 binutils 软件包版本太低,所以只能重新安装个高版本的 binutils

下载安装 binutils-2.31

$ wget https://ftp.gnu.org/gnu/binutils/binutils-2.31.tar.gz
$ tar zxf binutils-2.31.tar.gz
# 使用 gcc -v 查看下 gcc 的安装配置,我的配置如下


使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/sw-cluster/apps/soft/gcc/8.3/libexec/gcc/x86_64-pc-linux-gnu/8.3.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:./configure --prefix=/usr/soft/gcc/8.3/ --enable-threads=posix --enable-languages=c,c++,fortran --disable-checking --disable-multilib --disable-multilib --disable-libcc1 --with-gmp=/usr/soft/gcc/7.3/3rdlib/gmp-6.1.0 --with-mpfr=/usr/soft/gcc/7.3/3rdlib/mpfr-3.1.4 --with-mpc=/usr/soft/gcc/7.3/3rdlib/mpc-1.0.3/
线程模型:posix
gcc 版本 8.3.0 (GCC)

# 这里只需要指定安装路径即可,后面直接复制 gcc 的配置就可以了
$ ./configure --prefix=./install --enable-threads=posix --enable-languages=c,c++,fortran --disable-checking --disable-multilib --disable-multilib --disable-libcc1 --with-gmp=/usr/soft/gcc/7.3/3rdlib/gmp-6.1.0 --with-mpfr=/usr/soft/gcc/7.3/3rdlib/mpfr-3.1.4 --with-mpc=/usr/soft/gcc/7.3/3rdlib/mpc-1.0.3/

$ make && make install

安装完成后加到 PATH 和 LD_LIBRARY_PATH 就可以使用了

export PATH=/path/to/binutils-2.31/install/bin:$PATH
export LD_LIBRARY_PATH=/path/to/binutils-2.31/install/lib:$LD_LIBRARY_PATH

现在再使用 gcc 或者 mpicc 就不会报错了

猜你喜欢

转载自blog.csdn.net/qq_32115939/article/details/109591966