Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: revdep-rebuild keep on detecting a broken link referred to libqt-mt.so.3
Date: Sat, 01 Mar 2008 01:52:51
Message-Id: pan.2008.03.01.01.52.20@cox.net
In Reply to: Re: [gentoo-amd64] Re: revdep-rebuild keep on detecting a broken link referred to libqt-mt.so.3 by Chris Brennan
1 Chris Brennan <xaero@××××××××××.net> posted
2 47C83FBF.3080905@××××××××××.net, excerpted below, on Fri, 29 Feb 2008
3 12:24:15 -0500:
4
5 [Duncan wrote...]
6 >> Hmm... so what about /usr/qt/3/lib/libqt-mt.so ? Here, it's a symlink
7 >> pointing to libqt-mt.so.3, a symlink pointing to libqt-mt.so.3.3, again
8 >> a symlink, pointing at libqt-mt.so.3.3.8, which is the actual
9 >> shared-object library file.
10 >
11 > the point was the error msg from the emerge output about wrong format.
12
13 The problem is, "wrong format" can mean symlink pointed at nothing, in some
14 contexts. If the target file doesn't exist...
15
16 It can also mean it's for some reason it's pointed at a text file, or a
17 file of the wrong bitness, or a file-system corrupt file, or..., which
18 is what the next part is about.
19
20 >> If you have a valid set of symlinks, pick any one of them and see what
21 >> readelf -h says about it. If the class entry (right under magic) is
22 >> anything other than ELF64, then you have a corrupted library and
23 >> probably need to remerge qt (be sure you remerge qt3 not 4, if you have
24 >> it merged as well). If it's ELF64 and appears to be readable, then you
25 >> have other deeper problems.
26 >
27 > I have re-emerged qt-3 numerous times, here is the output of readelf
28 >
29 > xaero@Leviathan ~ $ readelf -h /usr/qt/3/lib/libqt-mt.so.3.3.8 ELF
30 > Header:
31 > Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
32 > Class: ELF32
33
34 That's the problem right there. It's trying to link a 32-bit library
35 into (presumably, since this is the amd64 list/group) a 64-bit
36 ELF binary. That's just not going to work, period, and remerging
37 the 64-bit qt isn't going to correct the problem either (unless it
38 overwrites the file, which it obviously doesn't if you've tried it
39 already).
40
41 That's progress. Now, we need to find out if any packages you have
42 merged, probably emul-linux-x86-* packages since that's where the
43 32-bit stuff comes from unless you are running a full 32-bit chroot,
44 and I've no indication of that.
45
46 equery belongs libqt-mt.so.3.3.8
47
48 I didn't use the path, since lib and lib64 are normally symlinked
49 one way or the other on amd64, and if you searched by path, you'd
50 need to search for both paths.
51
52 Here, I get one (just one) entry, but I'm running no-multilib since
53 I don't do binary-only and that's about the only reason one might
54 have for 32-bit.
55
56 [ Searching for file(s) libqt-mt.so.3.3.8 in *... ]
57 x11-libs/qt-3.3.8-r4 (/usr/qt/3/lib64/libqt-mt.so.3.3.8)
58
59 So it's the 64-bit qt package that owns it, here. What about
60 there? Do two packages own it and do both point at the same
61 file, possibly thru different directory/symlink paths? None?
62
63 If none it's an orphaned file and you /should/ be able to remove
64 it safely, but you may want to move it somewhere out of the
65 library search path but keep it around for awhile just in case.
66
67 If only the 64-bit package points to it, same thing, but
68 remerge the 64-bit qt afterward, and I frankly don't know why
69 remerging it with that file in place didn't fix the problem.
70
71 If one and it's 32-bit, then you have a problem with the
72 lib-linking search path. First, check for updates to the 32-bit
73 emul-linux-* package and try that if there are any. Else there
74 are ways to fix it but you'll need to get someone with more
75 knowledge in the field to help, as I never had the problem on
76 multilib myself and now am 64-bit only so haven't bothered with
77 the details.
78
79 If two, and both paths point to the same thing, it's something
80 portage's config-protect FEATURE should have caught if you
81 have it enabled. Again, check for updates on the 32-bit
82 package and try them first, then seek further help, but in
83 this case it's a bug that should either be in Gentoo's bugzilla
84 already or that you can file if not.
85
86 --
87 Duncan - List replies preferred. No HTML msgs.
88 "Every nonfree program has a lord, a master --
89 and if you use the program, he is your master." Richard Stallman
90
91 --
92 gentoo-amd64@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-amd64] Re: revdep-rebuild keep on detecting a broken link referred to libqt-mt.so.3 Chris Brennan <xaero@××××××××××.net>