Re: [gnome-love] Building GNOME HOWTO



On Thu, 23 Dec 2004 19:41:28 -0500, Willie Walker
<William Walker sun com> wrote:

I try to take detailed notes on just about everything I do, and I'm
always happy to share the knowledge when it can help prevent others
from going through the same pains I did.

That's awesome.  The more people that do that, the better.  :-)

So if you're trying to have a document that is always up to
date that lists solutions to all the build failures that happen,
you'll have an extremely difficult job...  Of course, listing as many
solutions as possible is still quite useful, but you just need to note
that you'll have to edit any such document fairly often (including
removing old stuff that has been made irrelevant)

Darn.  Since I was writing this up in TWiki format, I was hoping
this could also be some form of 911.  That is, people could just
enter their problems (and hopefully solutions!) into the TWiki as
they went along.  Kind of a nice community document.  This all
really depends upon the style and trust of the GNOME community,
though.

Well, it's still useful, but I don't think it's something that could
be depended upon to get solutions.  Things just break and are fixed
too fast.  Bugzilla queries and/or backing up to versions of CVS from
a few days in the past seem to be the easiest ways of dealing with
problems to me.  :-)

Why tinderbox?  I think people building for the first time may have
better luck with "jhbuild build" because then they can interact with
the process and restart where they left off easier without doing nasty
manual kills of the jhbuild process and then manually restarting via a
command with the right switch/arguments to get it to restart at the
right place like you mention below.

I dunno - I just found tinderbox much easier to read than running
through a very long log.  I like to read the *whole* thing (I'm one
of those anal-retentive "no warnings should ever appear" types), and
tinderbox has a pretty nice way of organizing and coloring the
output.

Yes, that's a definite advantage.  See below for it's disadvantage, though.

<verbatim>
nonetwork = True
</verbatim>

Why exactly do you want to do this?  I'm confused as to why you would
want to do this or how it would be helpful.

I wanted to do this because I was building against the latest stuff.
My initial experience was that people seemed to check stuff in before
really testing it, which could cause the remainder of the build to
break.  This happened to me and it drove me nuts.  I didn't want to
suffer because someone wasn't being thorough, but I also wanted to be
somewhat up to date.

Ah, I think I figured out why you did the nonetwork stuff.  Since you
were running tinderbox, you restarted the build when you later found
there were problems.  That means you'd have to wait for absolutely
every module to build correctly before you had a working tree.  That's
painful.  If you had used "jhbuild build", then whenever there was a
problem the build would stop, and when you resolved it, you would just
pick up where you left off.  No need to restart, and you're always
making forward progress.  And, no need to disable cvs updates just to
"keep your system stable" because you're not going back and rebuilding
something that already successfully built.


---++ CCache

This section is cool; thanks for the howto (I've been meaning to learn
it).  However, why are you telling them to install it after having
already built from gnome instead of before?

Well...I like to reduce the number of variables when doing something
new.  CCache was new to me, and I was having major issues trying to
build GNOME.  So...I'd rather eliminate ccache as a suspect and just
get things going first.  There's always time to try to take aim at
your foot with a gun later.  :-)

Oh, right, I should have thought of that.  Yeah, I agree that it
belongs at the end.


Elijah



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]