* [gentoo-amd64] Building vanilla gcc fails, any ideas?
@ 2008-02-06 14:42 Jack Lloyd
2008-02-06 17:30 ` [gentoo-amd64] " Duncan
0 siblings, 1 reply; 2+ messages in thread
From: Jack Lloyd @ 2008-02-06 14:42 UTC (permalink / raw
To: gentoo-amd64
Trying to build a gcc 4.3 snapshot (20080125) fails on my x86-64
box. While building libstdc++, I see many problems with various libc
functions not being found, for instance
gcc-4.3-20080125-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/cstdio:140: error: '::ungetc' has not been declared
I assume this has something to do with Gentoo's multilib header setup
but I'm not sure what extra paths I should be configuring the build to
search for. This snapshot is supposed to be stable (4.3 is in stage3
currently and from the reports on the mailing list is building well on
other platforms). Currently I'm configuring with
../gcc-4.3-20080125/configure --enable-languages=c,c++,objc,obj-c++ --prefix=/usr/local/gcc-4.3-20080125 --program-suffix=-4.3-20080125
Any hints?
Jack
--
gentoo-amd64@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
* [gentoo-amd64] Re: Building vanilla gcc fails, any ideas?
2008-02-06 14:42 [gentoo-amd64] Building vanilla gcc fails, any ideas? Jack Lloyd
@ 2008-02-06 17:30 ` Duncan
0 siblings, 0 replies; 2+ messages in thread
From: Duncan @ 2008-02-06 17:30 UTC (permalink / raw
To: gentoo-amd64
Jack Lloyd <lloyd@randombit.net> posted
20080206144246.GE8236@randombit.net, excerpted below, on Wed, 06 Feb 2008
09:42:47 -0500:
> Trying to build a gcc 4.3 snapshot (20080125) fails on my x86-64 box.
> Currently I'm configuring with
>
> ../gcc-4.3-20080125/configure --enable-languages=c,c++,objc,obj-c++
> --prefix=/usr/local/gcc-4.3-20080125 --program-suffix=-4.3-20080125
You'll probably have better luck (and if nothing else, can see what sort
of patches Gentoo is including to see if any of them might fix your
problem) if you use the Gentoo ebuild snapshots. These aren't in the
main tree, as they've been moved to I believe the toolchain overlay. The
easiest way to grab various overlays is to emerge layman, check its
documentation and configure it, then add the overlays you want to your
list. Here, I have my own "esyn" (note the missing c, so I know it's my
version) script that syncs portage and layman, does the esearch update
database, and emerge --fetch 's all the updated ebuilds, so they are
ready to go when I decide to merge them.
I haven't been keeping up with gcc-4.3, but for 4.0 thru 4.1, I regularly
ran the snapshot ebuilds as my main system gcc, using gcc-config to
switch back to an earlier version when something failed to build with the
newer version. Since 4.0 was the first version that supported amd64
natively (with 3.x it was an add-on) but the .0 was mainly a rewrite and
didn't target major improvements, both 4.0 and 4.1 were big improvements
for gcc on amd64, far bigger than on x86 (32-bit), but 4.0 had some
issues that were fixed fairly quickly for the 4.1 branch, so it was
actually better than the stable 4.0 branch at that point.
BTW, if you don't specifically need multilib, things get quite a bit less
complex if you choose a no-multilib (64-bit only) profile. Since both
gcc and glibc basically double their build when doing multilib, it
substantially decreases merge time for them, and the all too common
problems with sandbox (which result from issues with the 32-bit side gcc
which aren't apparent elsewhere since nothing else uses them) disappear
as well.
Alternatively for those that DO use 32-bit stuff still, it's possible to
do the full chroot thing, compiling everything you need 32-bit as 32-bit,
almost but not quite to the point of having a parallel 32-bit Gentoo
beside your 64-bit one. (If you do want a parallel 32-bit boot, it's
pretty easy once you have the chroot setup, just a few more packages.)
That's better for 32-bit than using multilib anyway, since you get to
compile all the compatibility libs that you'd otherwise install as
binaries, and compiling is the Gentoo way. =8^) But you don't HAVE to
compile it for the initial install unless you want to, as you can use a
stage-3 and packages CD install instead. =8^) (Of course, this will be
easier once 2008.0 comes out; 2007.0 is getting a bit long in the tooth
by now.)
I don't do proprietaryware and everything I need happens to be 64-bit
compatible already, so I've no reason to run 32-bit anyway, but knowing
how much it has simplified things, and that there's the 32-bit chroot
guide already available telling how to do that, I'd prefer that to going
back to multilib if I DID have reason to run 32-bit, now. Of course as
they say, YMMV, but it's certainly an option, and it certainly does cut
the headaches of having 32-bit problems hamper updates on an otherwise
mainly 64-bit system.
You asked for hints. Those are mine. =8^)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
--
gentoo-amd64@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-02-06 17:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-06 14:42 [gentoo-amd64] Building vanilla gcc fails, any ideas? Jack Lloyd
2008-02-06 17:30 ` [gentoo-amd64] " Duncan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox