Re: Compiling Debian from source, with GCC 3.4.2
Laurence Darby <firstname.lastname@example.org> writes:
> On Tue, 1 Mar 2005, Goswin von Brederlow wrote:
>> > Laurence Darby <email@example.com> writes:
>> > It's my task to compile a complete Debian distribution from source. The
>> > main goal is to test our version of the GCC compiler, SDE, which is based
>> > on 3.4.2, and has more tuning/optimisations for the MIPS architecture. The
>> > second goal is to be able to say: "Here is a Debian distribution, compiled
>> > with our compiler, and look, it's smaller and faster". A third goal is
>> > going to find every single package that wont compile out of the box.
>> You are a bit late for some things. Debian amd64 already had a full
>> sid archive compiled with gcc-3.4 for some time and many patches have
>> been send to the BTS for it. Since some month the archive even uses
>> gcc-4.0 and even more patches have been send.
> In what way do you think I'm "late"? Relative to the rest of Debian,
In finding every single package that won't compile out of the box. :)
Apart from some mips specific packages they should all be flaged in
the BTS by now. But it never hurts to double check.
> aren't you on the "bleeding edge"? If someone in my position was trying
> to use 3.4 before the amd64 port had, where would they look? Who would
> they ask? </rhetorical>
> Anyway, thanks for letting me know about amd64. Tho it didn't really
> answer my question - how do you use gcc-3.4, when all the packages
> build-depend on gcc-3.3? What I mean is: Is there some indirection to
> apply to apt-get/ dpkg-buildpackage, that will make it use a specified
> $CC? Specifically, how did you override gcc-3.3 in libc6?
I think the buildd just has no old gcc installed and gcc-defaults
patched to use gcc-3.4/4.0. You can remove gcc-3.3 from the package
pool or have something essential (like dpkg) conflcit with it to make
sure it never gets used. You have to ask Andreas for the details about
the gcc-3.4/4.0 amd64 archive since he is maintainig it.
As for packages using gcc-3.3 specificaly you have to patch each and
every one of them. No sarge/sid software should be using gcc-3.3 but
should use gcc.
> wrt c++, I'm guessing I'll have to go through each failed package, find
> the patch and fix it. That's tedious, so isn't there an easier way?
Andreas has a build script that will apply patches when building. You
can put the amd64 patches into a local dir and let that run over the
debian sources. Or you could use the patched source repository.
>> But of cause that doesn't mean mips won't trigger some more bugs.
> They'll be the ones I'm trying to find. I'm hoping every package will
> "make check" itself, and that that will find any compiler bugs, because I
> haven't yet figured out a strategy for testing every single line of code
> in Debian :)
Hardly any does. You need a ton of users to find the bugs.