/ usr / bin / ld:搜索foo时跳过不兼容的foo.so [英] /usr/bin/ld: skipping incompatible foo.so when searching for foo

查看:2216
本文介绍了/ usr / bin / ld:搜索foo时跳过不兼容的foo.so的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Ubuntu 13.10 64bit,并且在编译vlfeat库的python包装时出现以下错误。

  g ++ -o _vlfeat.so ../../vl/aib.o ../../vl/generic.o ../../vl/hikmeans.o ../../vl/ikmeans.o。 ./../vl/imopv.o ../../vl/mathop.o ../../vl/pgm.o ../../vl/rodrigues.o ../../vl /stringop.o ../../vl/getopt_long.o ../../vl/host.o ../../vl/imop.o ../../vl/imopv_sse2.o .. /../vl/mser.o ../../vl/random.o ../../vl/sift.o ../../vl/dsift.o mser / vl_erfill.o mser / vl_mser .o sift / vl_sift.o sift / vl_dsift.o sift / vl_siftdescriptor.o imop / vl_imsmooth.o其他/ vl_binsum.o kmeans / vl_hikmeans.o kmeans / vl_ikmeans.o kmeans / vl_hikmeanspush.o kmeans / vl_ikmeanspush.o py_vlfeat.o -m64 -msse -m32 -msse -shared -lboost_python -mt-py27 
/ usr / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.7/../../ ../libboost_python-mt-py27.so当搜索-lboost_python -mt-py27
时/ usr / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.7/../ ../../libboo当搜索-lboost_python-mt-py27时,st_python-mt-py27.a
/ usr / bin / ld:跳过不兼容的/usr/lib/libboost_python-mt-py27.so当搜索-lboost_python-mt-py27
/ usr / bin / ld:在搜索-lboost_python -mt-py27
时,跳过不兼容的/usr/lib/libboost_python-mt-py27.a $ b / usr / bin / ld:找不到-lboost_python- mt-py27
/ usr / bin / ld:在搜索-lstdc ++
/ usr / bin / ld时跳过不兼容的/usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.so:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.a当搜索-lstdc ++
时/ usr / bin / ld:找不到-lstdc ++
/ usr / bin / ld :在搜索-lm
/ usr / bin / ld时跳过不兼容的/usr/lib/x86_64-linux-gnu/libm.so:跳过时不兼容/usr/lib/x86_64-linux-gnu/libm.a搜索-lm
/ usr / bin / ld:找不到-lm
/ usr / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so当搜索-lgcc_s
/ usr / bin / ld时:找不到-lgcc_s
/ usr / bin / ld:跳过不兼容/usr/lib/x86_64-linux-gnu/libc.so当搜索-lc
/ usr / bin / ld时:跳过不兼容/ usr / lib / x86_64-linux- gnu / libc.a搜索-lc
/ usr / bin / ld时:无法找到-lc
/ usr / bin / ld:跳过不兼容/ usr / lib / gcc / x86_64-linux-gnu /4.7/libgcc_s.so当搜索-lgcc_s
/ usr / bin / ld时:找不到-lgcc_s
collect2:错误:ld返回1退出状态
make:*** [_vlfeat .so] Error 1

使这个库在64位架构上工作的任何解决方案?

解决方案

在命令行标记中删除-m32

使用32位二进制必须安装



sudo apt-get install gcc-multilib
sudo apt-get install ia32-libs-dev


I am using Ubuntu 13.10 64bit and I am getting the following errors while compiling the python wrappers of vlfeat library.

g++ -o _vlfeat.so ../../vl/aib.o ../../vl/generic.o ../../vl/hikmeans.o ../../vl/ikmeans.o ../../vl/imopv.o ../../vl/mathop.o ../../vl/pgm.o ../../vl/rodrigues.o ../../vl/stringop.o ../../vl/getopt_long.o ../../vl/host.o ../../vl/imop.o ../../vl/imopv_sse2.o ../../vl/mser.o ../../vl/random.o ../../vl/sift.o ../../vl/dsift.o mser/vl_erfill.o mser/vl_mser.o sift/vl_sift.o sift/vl_dsift.o sift/vl_siftdescriptor.o imop/vl_imsmooth.o misc/vl_binsum.o kmeans/vl_hikmeans.o kmeans/vl_ikmeans.o kmeans/vl_hikmeanspush.o kmeans/vl_ikmeanspush.o py_vlfeat.o -m64 -msse -m32 -msse -shared  -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../libboost_python-mt-py27.so when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../libboost_python-mt-py27.a when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/libboost_python-mt-py27.so when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/libboost_python-mt-py27.a when searching for -lboost_python-mt-py27
/usr/bin/ld: cannot find -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.a when searching for -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make: *** [_vlfeat.so] Error 1

Any solutions to make this library work on 64 bit architecture?

解决方案

remove -m32 in command line flags

to build with 32bit binary, you have to install

sudo apt-get install gcc-multilib and sudo apt-get install ia32-libs-dev

这篇关于/ usr / bin / ld:搜索foo时跳过不兼容的foo.so的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆