bow toolkit ubuntu/usr/bin/ld:找不到-lgcc_s collect2:ld返回1退出状态make:**[rainbow]错误1

bow toolkit ubuntu/usr/bin/ld:找不到-lgcc_s collect2:ld返回1退出状态make:**[rainbow]错误1,ubuntu,makefile,Ubuntu,Makefile,在ubuntu 12.04中安装Bow toolkit时,出现以下错误 $make gcc-3.4-lnsl-L-lbow-L./argp-largp-lm-lcrypt-g-O-Wall-Wimplicit-O彩虹彩虹。O有源。O偏转器。O em.O emsimple。O kl.O knn.O maxent.O naivebayes.O NBCREY.O nbsimple.O prind.O tfidf.O svm_base.O svm_smo svm_.O svm_al.O svm_tran

在ubuntu 12.04中安装Bow toolkit时,出现以下错误 $make

gcc-3.4-lnsl-L-lbow-L./argp-largp-lm-lcrypt-g-O-Wall-Wimplicit-O彩虹彩虹。O有源。O偏转器。O em.O emsimple。O kl.O knn.O maxent.O naivebayes.O NBCREY.O nbsimple.O prind.O tfidf.O svm_base.O svm_smo svm_.O svm_al.O svm_trans.O svm_fisher.O

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

我遇到了一个类似的链接器错误(/usr/bin/ld:not find-lgcc_s),正在尝试运行/configure以使用gcc 4.7.2运行emacs 24.3源捆绑包。通过用“strace-f”包装gcc调用,我能够准确地找到ld想要的东西:

原来gcc和ld正在寻找libgcc_.so和libgcc_.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

一些较新版本的Gcc对参数顺序很挑剔,尝试将
-o rainbow
移到最后?事实上,所有的
-l
也应该移到最后<代码>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