(转)YUM issue: TypeError: Parsing primary.xml error

来源:http://www.mnxsolutions.com/linux/yum-issue-typeerror-parsing-primaryxml-error.html

When running a ‘yum check-update’, I would receive an error. The error continued even after running ‘yum clean all’.

The error is shown below:

# yum check-update
Setting up repositories
core 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 1.2 kB 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 1.0 MB 00:00
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.main(sys.argv[1:])


File "/usr/share/yum-cli/yummain.py", line 94, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 381, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File "/usr/share/yum-cli/yumcommands.py", line 317, in doCommand
ypl = base.returnPkgLists(extcmds)
File "/usr/share/yum-cli/cli.py", line 895, in returnPkgLists
ypl = self.doPackageLists(pkgnarrow=pkgnarrow)
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 994, in doPackageLists
self.doRepoSetup()
File "/usr/share/yum-cli/cli.py", line 109, in doRepoSetup
self.doSackSetup(thisrepo=thisrepo)
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 338, in doSackSetup
self.repos.populateSack(which=repos)
File "/usr/lib/python2.4/site-packages/yum/repos.py", line 200, in populateSack
sack.populate(repo, with, callback, cacheonly)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 91, in populate
dobj = repo.cacheHandler.getPrimary(xml, csum)
File "/usr/lib64/python2.4/site-packages/sqlitecachec.py", line 40, in getPrimary self.repoid))
TypeError: Parsing primary.xml error: Start tag expected, '<' not found

This took me way longer than it should have to figure out, but I determined from running ‘createrpo’, that the error was actually in a shared library.

# createrepo
Traceback (most recent call last):
File "/usr/share/createrepo/genpkgmetadata.py", line 27, in ?
import libxml2
File "/usr/lib64/python2.4/site-packages/libxml2.py", line 1, in ?
import libxml2mod
ImportError: /usr/lib64/python2.4/site-packages/libxml2mod.so: undefined symbol: xmlXPathContextSetCache

# ldd /usr/lib64/python2.4/site-packages/libxml2mod.so
libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x00002b61705e9000)
libc.so.6 => /lib64/libc.so.6 (0x00002b6170921000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b6170c6f000)
libm.so.6 => /lib64/libm.so.6 (0x00002b6170e74000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

Notice /usr/local/lib in the above section.

So, I then discovered the problem.
# env|grep -i lib
LD_LIBRARY_PATH=/usr/local/lib

Somewhere along the way, someone set LD_LIBRARY_PATH in .bash_profile.

Once the LD_LIBRARY_PATH environment variable was removed, the issue went away!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值