Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: my amd64 system is not recognised at linux-*-64
Date: Fri, 24 Apr 2009 07:41:07
Message-Id: pan.2009.04.24.07.40.49@cox.net
In Reply to: [gentoo-amd64] my amd64 system is not recognised at linux-*-64 by Markos Chandras
1 Markos Chandras <hwoarang@g.o> posted
2 200904231600.12638.hwoarang@g.o, excerpted below, on Thu, 23 Apr
3 2009 16:00:07 +0100:
4
5 > I asked about this on #gentoo-amd64, but I ll be quite busy and I might
6 > miss the answer.
7
8 Looks like you got a workaround for the ebuild from another subthread,
9 tested and unmasked it, but that appears to be what it was, a
10 workaround. Nobody explored the why.
11
12 Well, I'm not an expert by any means and the following guess is just what
13 it says on the label, a guess, without properly delving into the qmake
14 internals, but maybe this will provide a place to start exploring, for
15 you or anyone else interested.
16
17 > So
18 >
19 > I have a problem with qt-creator installation on amd64
20 >
21 > Take a look on this code
22 >
23 > linux-*-64 {
24 > IDE_LIBRARY_BASENAME = lib64
25 > } else {
26 > IDE_LIBRARY_BASENAME = lib
27 > }
28 >
29 > According to this, when the system is amd64, libraries should be
30 > installed under lib64/ directory, else they will be installed on lib/
31 > directory.
32
33 Makes sense, but what is it testing there?
34
35 The first thing that reminded me of was the CHOST/CBUILD/CTARGET set of
36 vars from the GNU make build system, with CHOST set in the (cascaded)
37 profile make.defaults (profiles/arch/amd64/make.defaults for 2008.0/amd64
38 profile users).
39
40 But, CHOST isn't it as the order is wrong. My CHOST is
41 x86_64-pc-linux-gnu according to emerge --info (and following the
42 cascading profiles, from the file mentioned above), and that's not going
43 to match linux-*-64 at all. Since CHOST is standardized, that can't be
44 what they're testing against.
45
46 Well, I'm not familiar with qmake (which I got from the tarball README,
47 tho the ebuild would have had it too), and I'm not going to try to
48 explain how it gets from here to there as I don't know, but the best
49 match for the above pattern I could come up with is the following:
50
51 1) equery belongs qmake says it's part of the qt-core-4.5.0 package, here
52 (and also part of qt-3.3.8b-r1, but that's beside the point).
53
54 2) Looking at equery files qt-core, the following jumps out due to the
55 pattern, which matches the one above:
56
57 /usr/share/qt4/mkspecs/linux-*-64 , with * being the three: ecc, c++,
58 icc .
59
60 So, a reasonable theory might be that it's matching the mkspecs,
61 expecting a pattern similar to linux-*-64 for our case. How it comes up
62 with that is as they say, "an exercise for further research", reading up
63 on qmake, it's MAKE vars (or whatever qmake calls them), etc.
64
65 3) However, I found the following symlink, also from the qt-core package,
66 also of interest:
67
68 /usr/share/qt4/mkspecs/default -> linux-g++-64
69
70 4) So a further supposition, given the failure of the test above, may be
71 that it's ultimately using mkspecs/default instead of linux-g++-64
72 specifically. If the test was on the symlink itself (not dereferenced)
73 and not on what it pointed to, that would necessarily cause it to fail
74 the match.
75
76 So without knowing much at all about how qmake functions and where it
77 gets its config such as the bit it's testing above, that's my working
78 theory and why I'd /guess/ it's failing the match. Qt based package
79 maintainers and devs would of course be expected to know (or at least
80 know where to look up when necessary) rather more about qmake internals,
81 and be able to take it from there, proving or disproving my admittedly
82 rather badly informed /guess/.
83
84 > The thing is that on my amd64 system, they install on lib/ directory. Do
85 > you have any ideas why it fails to pick the right directory?
86 >
87 > My features are
88 >
89 > Eternity ~ # portageq envvar FEATURES buildpkg ccache distlocks
90 > fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned
91 > sandbox sfperms strict unmerge-orphans userfetch
92 >
93 >
94 > I tried to add multilib on FEATURES but it didnt solve this issue
95
96 As others have said, on Gentoo, multilib isn't something you should be
97 messing with directly. It's part of your profile. To change it, you
98 change your profile (and deal with all that entails). Trying to do
99 otherwise, if it does anything at all, "may have unintended consequences"
100 as they say. =:^)
101
102 --
103 Duncan - List replies preferred. No HTML msgs.
104 "Every nonfree program has a lord, a master --
105 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-amd64] Re: my amd64 system is not recognised at linux-*-64 Markos Chandras <hwoarang@g.o>