陈辉煌 发表于 2018-11-4 11:49:13

redis 安装cannot find 'ld'

  redis 安装cannot find 'ld'
  进行redis 安装
  tar -zxvf redis-2.8.9.tar.gz
  yum install gcc -y
  cd redis-2.8.9
  make MALLOC=libc
  CC notify.o
  CC setproctitle.o
  CC hyperloglog.o
  LINK redis-server
  collect2: fatal error: cannot find 'ld'
  compilation terminated.
  make: *** Error 1
  make: Leaving directory `/opt/redis-2.8.9/src'
  解决步骤:
  # whereis ld
  ld: /usr/bin/ld /usr/bin/ld.bfd /usr/bin/ld.gold /usr/share/man/man1/ld.1.gz
  # ll /usr/bin/ld*
  lrwxrwxrwx 1 root root    0   Nov 21 22:19 /usr/bin/ld -> /etc/alternatives/ld
  文件的大小是0肯定有问题。
  # rpm -qf /usr/bin/ld
  binutils-2.23.52.0.1-55.el7.x86_64
  把安装包卸了再装
  # rpm -e binutils --nodeps
  # rpm -ivh binutils-2.23.52.0.1-55.el7.x86_64.rpm
  不成功,提示更新ld文件失败。
  # pwd
  /usr/bin
  从其它正常机器复制文件 /etc/alternatives/ld文件,并重新做链接,如下图所示:
  ln -s /etc/alternatives/ldld
  # ls -l ld*
  lrwxrwxrwx 1 root root      20 Nov 21 22:19 ld -> /etc/alternatives/ld
  -rwxr-xr-x 1 root root902472 Nov 202015 ld.bfd
  -rwxr-xr-x 1 root root    5302 Aug2 13:16 ldd
  -rwxr-xr-x 1 root root 4158056 Nov 202015 ld.gold
  重新编译,成功
  # make MALLOC=libc
  cd src && make all
  make: Entering directory `/opt/redis-2.8.9/src'
  LINK redis-server
  INSTALL redis-sentinel
  CC redis-cli.o
  LINK redis-cli
  CC redis-benchmark.o
  LINK redis-benchmark
  CC redis-check-dump.o
  LINK redis-check-dump
  CC redis-check-aof.o
  LINK redis-check-aof

  Hint: To run 'make test' is a good>  make: Leaving directory `/opt/redis-2.8.9/src'
  #

页: [1]
查看完整版本: redis 安装cannot find 'ld'