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[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/opt/redis-2.8.9/src'
解决步骤:
[root@localhost redis-2.8.9]# whereis ld
ld: /usr/bin/ld /usr/bin/ld.bfd /usr/bin/ld.gold /usr/share/man/man1/ld.1.gz
[root@localhost redis-2.8.9]# ll /usr/bin/ld*
lrwxrwxrwx 1 root root 0 Nov 21 22:19 /usr/bin/ld -> /etc/alternatives/ld
文件的大小是0肯定有问题。
[root@localhost redis-2.8.9]# rpm -qf /usr/bin/ld
binutils-2.23.52.0.1-55.el7.x86_64
把安装包卸了再装
[root@localhost redis-2.8.9]# rpm -e binutils --nodeps
[root@localhost redis-2.8.9]# rpm -ivh binutils-2.23.52.0.1-55.el7.x86_64.rpm
不成功,提示更新ld文件失败。
[root@localhost bin]# pwd
/usr/bin
从其它正常机器复制文件 /etc/alternatives/ld文件,并重新做链接,如下图所示:
ln -s /etc/alternatives/ld ld
[root@localhost bin]# ls -l ld*
lrwxrwxrwx 1 root root 20 Nov 21 22:19 ld -> /etc/alternatives/ld
-rwxr-xr-x 1 root root 902472 Nov 20 2015 ld.bfd
-rwxr-xr-x 1 root root 5302 Aug 2 13:16 ldd
-rwxr-xr-x 1 root root 4158056 Nov 20 2015 ld.gold
重新编译,成功
[root@localhost redis-2.8.9]# make MALLOC=libc
cd src && make all
make[1]: 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 idea ;)
make[1]: Leaving directory `/opt/redis-2.8.9/src'
[root@localhost redis-2.8.9]#
转载于:https://blog.51cto.com/sngyqd/1875319