- centos编译32位程序,增加-m32选项时提示的错误:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
原因:由于缺少32位兼容包.
解决:yum –y install glibc-devel (64位)
yum –y install glibc-devel.i686 (32位)
如果有/usr/lib/ld: cannot find -lc”这样的错误,可能是找不到静态库 libc.a,(找不到动态库 libc.so的可能性很小)。
解决方法:
yum install glic-static (64位)
yum install glic-static.i686 (32位)
2.centos运行yum报错:No module named yum
1)查看yum版本:rpm –qa |grep yum
输出:
yum-fastestmirror-1.1.16-21.el5.centos
yum-updatesd-0.9-6.el5_10
yum-metadata-parser-1.1.2-4.el5
yum-security-1.1.16-21.el5.centos
yum-3.2.22-40.el5.centos
2)查看python版本:whereis python
输出:
python: /usr/bin/python2.4 /usr/bin/python /usr/lib/python2.4 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/include/python2.4 /usr/share/man/man1/python.1.gz
3)查找yum文件:which yum
输出:/usr/bin/yum
4)编辑yum文件:vi /usr/bin/yum
5)将通用的引用修改成指定的引用,引用回旧版本的: 将#! /usr/bin/python 改为 #! /usr/bin/python2.4
6)保存退出.
3. 编译动态库.so时提示recompile with –fPIC
错误:/usr/bin/ld: libjsoncpp.a(json_reader.cpp.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with –fPIC
解决:在编译.o文件时要加-fPIC选项