Gentoo Archives: gentoo-amd64

From: Mansour Al Akeel <mansour.alakeel@×××××.com>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] Re: Can not compile gcc
Date: Fri, 14 Nov 2008 19:54:32
Message-Id: 2a21586d0811141154o1b037f3fxa913ac312fe88f35@mail.gmail.com
In Reply to: [gentoo-amd64] Re: Can not compile gcc by Duncan <1i5t5.duncan@cox.net>
1 First of all, I apologies for the HTML formatting. On my fedora, I use
2 Thunderbird, and have the emails sent in plain text automatically.
3 Since My system is being UPGRADED to gentoo, I am stuck with the web
4 interface, and totally forgot the plain text requirement.
5
6 Back again to my problem, I have modified my make.conf to this one:
7 =======================================================
8 CFLAGS="-march=athlon64 -O2 -pipe"
9 CXXFLAGS="${CFLAGS}"
10 CHOST="x86_64-pc-linux-gnu"
11 MAKEOPT="-j2"
12 #FEATURES="ccache"
13 FEATURES=-sandbox emerge sandbox"
14 USE="X aac aiglx alsa aoss asf bzip2 cairo dbus dvd emerald fam firefox gif
15 glitz gnome gstreamer gtk hal java jpeg mad mp3 mp4 new-login nptl
16 nptlonly nsplugin opengl pdf png samba spell sqlite svg symlink threads
17 tiff truetype unicode x264 xcomposite xinerama xml xorg xscreensaver xv
18 xvid -arts -eds -esd -fortran -ipv6 -kde -qt3 -qt4"
19
20 VIDEO_CARDS="NVIDIA"
21 =======================================================
22
23 And trying the emerge again. I will report the results. I am not stuck
24 with any 32 bit properiatory softwares, but you never know, I may need
25 it. I will keep the option of getting rid of the 32 bit as the last
26 option.
27
28 Thank you.
29
30 On Fri, Nov 14, 2008 at 3:30 PM, Duncan <1i5t5.duncan@×××.net> wrote:
31 >
32 > "Mansour Al Akeel" <mansour.alakeel@×××××.com> posted
33 > 2a21586d0811141002p735a3839h74ec70ff8dd7f524@××××××××××.com, excerpted
34 > below, on Fri, 14 Nov 2008 14:02:19 -0400:
35 >
36 > > checking for x86_64-pc-linux-gnu-gcc...
37 > > /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/xgcc
38 > > -B/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/
39 > > -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem
40 > > /usr/x86_64-pc-linux-gnu/include -isystem
41 > > /usr/x86_64-pc-linux-gnu/sys-include -m32
42 >
43 > First, please kill the HTML. There's enough "old fogies" like me that
44 > don't like it, on most Linux related lists at least, that it's really not
45 > a good idea. We have a choice as to whether to reply or not, and some of
46 > the guys that have been around the longest and therefore tend to have the
47 > most wisdom to apply to a problem, may not reply to HTML posts at all --
48 > or even see them in some cases, if they filter them out, as I do for
49 > regular mail. Do you really want to potentially kill the single reply
50 > that might have otherwise been the only one with a working fix?
51 >
52 > Anyway, back to your question. See that -m32? That's telling the new
53 > gcc it just built while bootstrapping itself and is there testing, to
54 > compile the test in 32-bit mode. It (I think) builds the 64-bit stuff
55 > first, and is then failing on the 32-bit stuff. IOW, it's an issue
56 > related to the 32-bit aspect of the compile for both 64-bit and 32-bit
57 > support, that you get when you are running a multilib profile.
58 >
59 > Personally, since I don't do the proprietaryware that's the biggest
60 > reason to do 32-bit compatibility in the first place, and all the
61 > freedomware I run has long since been 64-bit, I didn't have any reason to
62 > stay with multilib. And, since it gave me headaches like this every so
63 > often, and even when it was working, both gcc and glibc, which are both
64 > already fairly long merges, took effectively double the time to build
65 > because they were being built for both 64-bit and 32-bit, I had lots of
66 > reason NOT to stay with multilib.
67 >
68 > So I switched to the no-multilib profile and simplified my life with
69 > faster and more trouble-free gcc and glibc compiles, and have been VERY
70 > happy I did so.
71 >
72 > Of course if you're still held captive by some proprietaryware or other
73 > that's only available in 32-bit, that's not going to be an option for you.
74 >
75 > There are several possible triggers for this problem. The first one is a
76 > broken 32-bit sandbox. For that, try turning it off and remerging
77 > sandbox. If it works, you should then be able to remerge gcc without
78 > issue and remerge sandbox normally.
79 >
80 > FEATURES=-sandbox emerge sandbox
81 >
82 > If that doesn't work, one thing that has been a problem in the past but
83 > one would hope doesn't apply any more, is if you had eselect-compiler and
84 > gcc-config-2.0 merged at some point. If you did, there's a bug on it you
85 > should look at. If you didn't, this one doesn't apply.
86 >
87 > There are various other possibilities due to various broken configs and
88 > etc relating to the 32-bit side of the multilib toolchain. Often the
89 > simplest solution to these is to remerge a known working usually older
90 > gcc, hopefully overwriting whatever's wrong with your current setup,
91 > after which you can normally rebuild the newer gcc using the working old
92 > one, and be back on track.
93 >
94 > If you've been running FEATURES=buildpkg for some time, you may have
95 > several older versions of gcc in your binary package archive and can just
96 > remerge one of them, temporarily downgrading gcc to fix the problem, then
97 > use it to merge a current gcc. This of course is one of the benefits of
98 > running with that feature enabled.
99 >
100 > If you have NOT been running with FEATURES=buildpkg enabled, you have a
101 > choice. If you have another working gentoo/amd64 machine available, you
102 > can quickpkg it's gcc, copy it over and emerge -K it onto the affected
103 > machine. Otherwise you'll have to choose between trusting a version
104 > someone else may offer you and grabbing one off the latest gentoo/amd64
105 > install stages. This would involve downloading a stage tarball,
106 > untarring it somewhere temporary, chrooting into it, doing a quickpkg of
107 > the gcc therein, then from outside the chroot, doing an emerge -K of the
108 > binpkg built by the quickpkg.
109 >
110 > When you get your system working correctly again (but before you go back
111 > to your system/world rebuild), you may wish to consider
112 > FEATURES=buildpkg. If you turn it on, you can then do your system/world
113 > rebuild and will have binpkgs of everything, available if you need them.
114 > After awhile, you'll have a couple older versions of most packages as
115 > well, in case you need to revert to an older one for some reason. It's a
116 > quite handy thing to have available, and can sure save a lot of needless
117 > recompiling at times, even if you /don't/ ever use it to get out of
118 > another hole like a busted gcc.
119 >
120 > Spacewise, a full FEATURES=buildpkg system and world set, with what I
121 > have merged here, runs about a gig, but you'll want at least 2 gigs
122 > available for binpkgs and preferably 4 gigs or so, so you don't have to
123 > clean out old versions too often, on whatever partition you decide to
124 > store them on. The default storage location is $PORTDIR/packages, IIRC,
125 > but you can point portage at a different location by setting PKGDIR in
126 > make.conf as appropriate.
127 >
128 > --
129 > Duncan - List replies preferred. No HTML msgs.
130 > "Every nonfree program has a lord, a master --
131 > and if you use the program, he is your master." Richard Stallman
132 >
133 >

Replies

Subject Author
Re: [gentoo-amd64] Can not compile gcc Tonko Mulder <tonko.mulder@×××××.com>
[gentoo-amd64] Re: Can not compile gcc Duncan <1i5t5.duncan@×××.net>