免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2424 | 回复: 1
打印 上一主题 下一主题

[系统管理] rpm安装后undefined symbol 安装时libtool rpath后才编译通过misc编译后 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-19 14:23 |只看该作者 |倒序浏览
本帖最后由 xzby1 于 2013-11-19 14:32 编辑

make[1]: Entering directory `/home/HASEE/rpm/rpm-5.0.0/tools'
/bin/sh ../libtool --tag=CC   --mode=link gcc  -g -O2 -D_GNU_SOURCE -D_REENTRANT   -o rpm2cpio rpm2cpio.o ../build/librpmbuild.la ../lib/librpm.la ../rpmdb/librpmdb.la ../rpmio/librpmio.la ../misc/librpmmisc.la  -lpopt -lbeecrypt -lpthread -lrt
gcc -g -O2 -D_GNU_SOURCE -D_REENTRANT -o .libs/rpm2cpio rpm2cpio.o  ../build/.libs/librpmbuild.so /home/HASEE/rpm/rpm-5.0.0/lib/.libs/librpm.so -L/home/HASEE/rpm/rpm-5.0.0/db3 -L/home/HASEE/rpm/rpm-5.0.0/zlib -L/home/HASEE/rpm/rpm-5.0.0/file/src -L/home/HASEE/rpm/rpm-5.0.0/file ../lib/.libs/librpm.so /home/HASEE/rpm/rpm-5.0.0/rpmdb/.libs/librpmdb.so ../rpmdb/.libs/librpmdb.so /home/HASEE/rpm/rpm-5.0.0/rpmio/.libs/librpmio.so ../rpmio/.libs/librpmio.so /home/HASEE/rpm/rpm-5.0.0/misc/.libs/librpmmisc.so ../misc/.libs/librpmmisc.so -lpopt /usr/lib/libbeecrypt.so -ldl -lpthread -lrt
/home/HASEE/rpm/rpm-5.0.0/misc/.libs/librpmmisc.so: undefined reference to `inflateEnd'
/home/HASEE/rpm/rpm-5.0.0/misc/.libs/librpmmisc.so: undefined reference to `inflateInit2_'
/home/HASEE/rpm/rpm-5.0.0/misc/.libs/librpmmisc.so: undefined reference to `inflate'
collect2: ld returned 1 exit status
make[1]: *** [rpm2cpio] 错误 1
make[1]: Leaving directory `/home/HASEE/rpm/rpm-5.0.0/tools'
make: *** [install-recursive] 错误 1

[root@localhost rpm-5.0.3]# libtool --mode=link gcc -o /home/HASEE/rpm/rpm-5.0.3/misc/librpmmisc.la /home/HASEE/rpm/rpm-5.0.3/misc/librpmmisc.so -rpath /usr/lib -lz
libtool: link: rm -fr  /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.a /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.la /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.lai
libtool: link: gcc -shared  -fPIC -DPIC   -lz    -Wl,-soname -Wl,librpmmisc.so.0 -o /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.so.0.0.0
libtool: link: (cd "/home/HASEE/rpm/rpm-5.0.3/misc/.libs" && rm -f "librpmmisc.so.0" && ln -s "librpmmisc.so.0.0.0" "librpmmisc.so.0")
libtool: link: (cd "/home/HASEE/rpm/rpm-5.0.3/misc/.libs" && rm -f "librpmmisc.so" && ln -s "librpmmisc.so.0.0.0" "librpmmisc.so")
libtool: link: ar cru /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.a
libtool: link: ranlib /home/HASEE/rpm/rpm-5.0.3/misc/.libs/librpmmisc.a
libtool: link: ( cd "/home/HASEE/rpm/rpm-5.0.3/misc/.libs" && rm -f "librpmmisc.la" && ln -s "../librpmmisc.la" "librpmmisc.la" )

[HASEE@localhost rpm]$ su
密码:
[root@localhost rpm]# mv Packages Packages-ORIG
[root@localhost rpm]# db45_dump Packages-ORIG | db45_load Packages
db45_load: configured environment flags incompatible with existing environment
[root@localhost rpm]# rpm --rebuilddb
rpm: symbol lookup error: /usr/lib/librpmio-5.0.so: undefined symbol: rpmz_adler32
[root@localhost rpm]# rpmdb --rebuilddb
error: can't create transaction lock on / (是一个目录)
[root@localhost rpm]# ls
Basenames     __db.004     Name            Pubkeys         Triggername
Conflictname  Dirnames     Packages        Requirename
__db.001      Filedigests  Packages-ORIG   Requireversion
__db.002      Group        Providename     Sha1header
__db.003      Installtid   Provideversion  Sigmd5
[root@localhost rpm]# mkdir db
[root@localhost rpm]# mv __db* db
[root@localhost rpm]# rpm --rebuilddb
rpm: symbol lookup error: /usr/lib/librpmio-5.0.so: undefined symbol: rpmz_adler32

[root@localhost lib]# ld --cref librpmio-5.0.so | grep -E "typeinfo for MyClass"
ld: warning: cannot find entry symbol _start; not setting start address
librpmio-5.0.so: undefined reference to `magic_load'
librpmio-5.0.so: undefined reference to `rpmz_gzflush'
librpmio-5.0.so: undefined reference to `magic_file'
librpmio-5.0.so: undefined reference to `rpmz_adler32'
librpmio-5.0.so: undefined reference to `rpmz_gzdopen'
librpmio-5.0.so: undefined reference to `rpmz_gzopen'
librpmio-5.0.so: undefined reference to `rpmz_gzclose'
librpmio-5.0.so: undefined reference to `rpmz_gzwrite'
librpmio-5.0.so: undefined reference to `rpmz_gzseek'
librpmio-5.0.so: undefined reference to `magic_buffer'
librpmio-5.0.so: undefined reference to `rpmz_crc32_combine'
librpmio-5.0.so: undefined reference to `rpmz_gzread'
librpmio-5.0.so: undefined reference to `rpmz_crc32'
librpmio-5.0.so: undefined reference to `magic_error'
librpmio-5.0.so: undefined reference to `magic_open'
librpmio-5.0.so: undefined reference to `rpmz_adler32_combine'
librpmio-5.0.so: undefined reference to `magic_close'
librpmio-5.0.so: undefined reference to `rpmz_gzerror'
[root@localhost rpm-5.0.3]# ld ./misc/.libs/librpmmisc-5.0.so
ld: warning: cannot find entry symbol _start; not setting start address
./misc/.libs/librpmmisc-5.0.so: undefined reference to `inflateEnd'
./misc/.libs/librpmmisc-5.0.so: undefined reference to `inflateInit2_'
./misc/.libs/librpmmisc-5.0.so: undefined reference to `inflate'
./misc/.libs/librpmmisc-5.0.so: undefined reference to `vmefail'
[root@localhost rpm-5.0.3]# ld ./rpmio/.libs/librpmmisc-5.0.so
ld: ./rpmio/.libs/librpmmisc-5.0.so: No such file: No such file or directory
[root@localhost rpm-5.0.3]# ld ./rpmio/.libs/librpmio-5.0.so
ld: warning: cannot find entry symbol _start; not setting start address
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_load'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzflush'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_file'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_adler32'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzdopen'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzopen'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzclose'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzwrite'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzseek'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_buffer'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_crc32_combine'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzread'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_crc32'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_error'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_open'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_adler32_combine'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `magic_close'
./rpmio/.libs/librpmio-5.0.so: undefined reference to `rpmz_gzerror'
[root@localhost lib]# ldd /usr/lib/librpmio-5.0.so
        linux-gate.so.1 =>  (0x00feb000)
        librpmmisc.so.0 => /usr/lib/librpmmisc.so.0 (0x001ef000)
        libpopt.so.0 => /lib/libpopt.so.0 (0x00894000)
        libbeecrypt.so.6 => /usr/lib/libbeecrypt.so.6 (0x00ecd000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x009e1000)
        librt.so.1 => /lib/librt.so.1 (0x00987000)
        libc.so.6 => /lib/libc.so.6 (0x001f1000)
        libz.so.1 => /lib/libz.so.1 (0x00b5e000)
        libdl.so.2 => /lib/libdl.so.2 (0x00c81000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00369000)
        libm.so.6 => /lib/libm.so.6 (0x00110000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00576000)
        /lib/ld-linux.so.2 (0x00701000)
现在不能用rpm  错误是这样 安装中由于undefined inflate 我指定了 libtool rpath但是不是仍有问题?
安装时   /usr/lib/crt1.o: warning: cannot find entry symbol _start; not setting start address 在Makefile里添加了 /usr/local/include /usr/lib /usr/include 后

论坛徽章:
2
技术图书徽章
日期:2013-10-31 10:04:19技术图书徽章
日期:2013-11-06 09:37:21
2 [报告]
发表于 2013-11-23 17:02 |只看该作者
本帖最后由 love5783 于 2013-11-23 17:02 编辑

回复 2# 起航662


    版主~~@chenyx
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP