0

在ubuntu 12.04安装Bow工具包时,出现如下错误$make

gcc-3.4 -lnsl -L。-lbow -L./argp -largp -lm -lcrypt -g -O -Wall -Wimplicit -o rainbow rainbow.o active.o deflexer.o em.o emsimple.o kl.o knn.o maxent.o naivebayes。 o nbshrinkage.o nbsimple.o prnd.o tfidf.o svm_base.o svm_smo.o svm_al.o svm_trans.o svm_fisher.o

/usr/bin/ld: 找不到 -lgcc_s collect2: ld 返回 1 退出状态 make: * [rainbow] Error 1 帮助解决

4

1 回答 1

1

我遇到了一个类似的链接器错误(/usr/bin/ld: 找不到 -lgcc_s),试图为带有 gcc 4.7.2 的 emacs 24.3 源包运行 ./configure。通过使用“strace -f”包装 gcc 调用,我能够准确找到 ld 正在寻找的内容:

strace -f gcc conftest.c > strace.dump 2>&1

原来 gcc 和 ld 正在寻找 libgcc_s.so 和 libgcc_s.so.1。我确实安装了 libgcc(在我的例子中,'yum install libgcc47.i686'),但是这两个文件不在 ld 和 gcc 正在检查的路径中。解决方案很简单:

sudo ln -s /lib64/libgcc_s-4.7.2-20120921.so.1 /lib64/libgcc_s.so.1
sudo ln -s /lib64/libgcc_s-4.7.2-20120921.so.1 /lib64/libgcc_s.so
于 2013-08-09T18:37:21.367 回答