/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)

/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)

/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol‘ can not be used when making a shared object; recompile with -fPIC

/usr/local/lib/libz.a: could not read symbols: Bad value

一般是64 位 电脑才会出现。

解决方法如下:

cd zlib-1.2.3 //进入zlib目录

CFLAGS="-O3 -fPIC" ./configure   //使用64位元的方法进行编译

make

make install

make clean

 上面操作演示结果如下:

[[email protected] zlib-1.2.3]# CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib/
Checking for gcc...
Building static library libz.a version 1.2.3 with gcc.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
[[email protected] zlib-1.2.3]# make
gcc -O3 -fPIC -DUSE_MMAP   -c -o example.o example.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o adler32.o adler32.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o compress.o compress.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o crc32.o crc32.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o gzio.o gzio.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o uncompr.o uncompr.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o deflate.o deflate.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o trees.o trees.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o zutil.o zutil.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o inflate.o inflate.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o infback.o infback.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o inftrees.o inftrees.c
gcc -O3 -fPIC -DUSE_MMAP   -c -o inffast.o inffast.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
gcc -O3 -fPIC -DUSE_MMAP -o example example.o -L. libz.a
gcc -O3 -fPIC -DUSE_MMAP   -c -o minigzip.o minigzip.c
gcc -O3 -fPIC -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
[[email protected] zlib-1.2.3]# make install
cp zlib.h zconf.h /usr/local/zlib//include
chmod 644 /usr/local/zlib//include/zlib.h /usr/local/zlib//include/zconf.h
cp libz.a /usr/local/zlib//lib
cd /usr/local/zlib//lib; chmod 755 libz.a
cd /usr/local/zlib//lib; if test -f libz.so.1.2.3; then \
          rm -f libz.so libz.so.1; \
          ln -s libz.so.1.2.3 libz.so; \
          ln -s libz.so.1.2.3 libz.so.1; \
          (ldconfig || true)  >/dev/null 2>&1; \
        fi
cp zlib.3 /usr/local/zlib//share/man/man3
chmod 644 /usr/local/zlib//share/man/man3/zlib.3
[[email protected] zlib-1.2.3]# make clean
rm -f *.o *~ example minigzip \
           libz.* foo.gz so_locations \
           _match.s maketree contrib/infback9/*.o
[[email protected] zlib-1.2.3]#

时间: 2024-10-08 06:26:45

/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)的相关文章

/usr/local/lib/libz.a: could not read symbols: Bad value

64位系统中,安装freetype时,出现这个问题.后来发现,此问题进出现在64位系统中. 修复方法: cd zlib-1.2.3 //进入zlib目录 CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译 make make install 然后,进入freetype目录中 make clean ./configure --prefix=/usr/local/freetype/ make && make install /usr

关于/usr/local/lib/libz.a(zutil.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC解决办法

具体报错截图如下: 解决方法: 题外话,我对makefill cmake也是一窍不通因此本人也是不想去积极的解决这个问题,但是当你求助无缘的时候你才会静心去思考.读到这句话的时候也许你已经发现了问题所在了 问题所在: zlib设置问题 解决方案: 1.最好重新安装zlib 2.打开配置文件 3.修改配置文件 SFLAGS=${CFLAGS-"-O3 -fPIC"} 完成. 关于/usr/local/lib/libz.a(zutil.o): relocation R_X86_64_32

recompile with -fPIC /usr/local/lib/libboost_python.a: could not read symbols: Bad value

在用boost库的时候遇到了一些挫折,本文记录下来方便大家参考: 1. libboost_python.so: file not recognized: File truncated 我们来看一下libboost_python.so文件,确实是存在的: 那么file truncated大多是因为文件损坏所致,所以我们重装下boost(安装命令可以用这个稍微改改),即可解决该问题. 2. /usr/bin/ld: /usr/local/lib/libboost_python.a(list.o):

error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557

当linux设备上开启sonar6.2时, supervisorctl status报如下错误: error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557 关闭sonar6.2时,报如下错误: error: <class 'socket.error'>, [Errno 113]

lua-5.2.3编译问题&quot;/usr/local/lib/libreadline.so: undefined reference to `PC&#39;&quot;

作者:zhanhailiang 日期:2014-10-21 [root@~/software]# cd lua-5.2.3 [root@~/software/lua-5.2.3]# make linux cd src && make linux make[1]: Entering directory `/root/software/lua-5.2.3/src' make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,

mysql: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP

Error Symptom: when you run $mysql -u root -p command in the linux you get an error message ” mysql: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP” Solution: Step 1: Login as root Step 2: Go to folder path #cd/usr/local/l

libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so /usr/local/lib/libpcre.so.1

安装ganglia # gmond -t | tee /usr/local/etc/gmond.conf gmond: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 解决方法 执行如下命令: whereis libpcre.so.1 显示如下: libpcre.so: /lib64/libpcre.so.0 /usr/loc

【转】ubuntu 12.04 /sbin/ldconfig.real: /usr/local/lib/*.so.8 不是符号连接 解决办法

原文网址:http://blog.csdn.net/shulianghe/article/details/21176059 最近在ubuntu12.04下使用sudo apt-get install安装软件的时候最后总会报这种错误.建立硬连接即可解决: sudo ln -sf /usr/local/lib/libprotobuf.so.8.0.0 /usr/local/lib/libprotobuf.so.8 截图上传没成功,麻烦. 在弄一次.

npm ERR! path: &#39;/usr/local/lib/node_modules/npm/node_modules/cacache/node_modules/ssri&#39; }

在安装appium 或者升级npm的过程中会遇到这个问题.出错时的代码提示如下: npm ERR! path /usr/local/lib/node_modules/npm/node_modules/cacache/node_modules/ssri npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall access npm ERR! Error: EACCES: permission denied, access '/usr/loca