Re: [gnome-love] Building GNOME HOWTO



Cool, nice writeup!

Thanks!

hopefully this will be of use to someone.  My vision for it is
as follows:  I did the preamble and such and wrote up my experiences
for Fedora Core 3; others might want to add their own notes for
their specific experiences on their distributions.

Note that regardless of the distribution you choose, your notes on
resolving build issues become obsolete extremely quickly.  (If it
doesn't build correctly, then it's a bug, and a high priority one, so
it tends to get fixed.  But, unfortunately, new build problems always
pop up).

Yeah - I noticed that.  I beat my head against the wall having built
gnome-2.10 almost successfully one day only to find that new failures
were occurring the next day.  This was my introduction to building
GNOME and it wasn't a happy one - I had a pretty bad first impression.
Plus, nobody was really able to point me in any given direction.  It
seemed as though most folks were just proud of the fact that it took
them several weeks to get their builds working, and they were never
really quite sure how they did it.

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.

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.

This varies a _lot_.  Building on a machine at home has taken me over
a day; on my machine at school it's just 3-4 hours, I think.  So,
"about" might not be enough of a qualifier here.  :)

OK.  My time was based on a 300Kbit/sec cable modem connection
and a 933MHz PIII w/512M RAM.  In any case, it's not something
that will take a few minutes, but it's also not something
you'd expect to take days.  :-)

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.

<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.

So...once I got things working today, I kind of wanted to keep my
environment a little stable for a while.  By putting nonetwork in my
~/.jhbuildrc, I could avoid accidentally grabbing someone's broken
stuff.  Now, when it comes to committing new stuff, I'd definitely
make sure I grabbed all the latest stuff and qualified my mods
against the latest CVS HEAD...

Having said that, my experience may have just been the worst possible
and I might have been in the wrong place at the wrong time.

---++ 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.  :-)

Considering the detail of the document, I was surprised that you had
no directions on how to run the newly built version of Gnome; that's
usually the first thing people want to try out.

Well...I'm still taking notes.  Building is one thing.  Running is
another.  I'm still trying to figure out the best thing to do here,
but it seems like killing the X server and running gnome-session
from a console might be the more anal thing to do.  I'm still not
sure how all the pieces fit together, so I'm still learning (and
taking notes).

Your section at <http://www.gnome.org/~newren/tutorials/developing-with-gnome/html/ ch04s04.html>
looks pretty good, though!


[[http://www.gnome.org/~newren/tutorials/developing-with-
gnome/][Developing in GNOME overview]] -
      people like to you point you here.  It helps some if you want to
      develop new GNOME apps.

Ooops.  My original goal was to make it easier for people to work on
developing Gnome modules, but I guess I stopped a bit early.  I need
to get back to that sometime...

:-)

Also, note that this guide has a full section on building gnome from
CVS (it even goes so far as to provide examples of the kinds of things
that can break and the basic steps required to try to resolve those
issues yourself).

Cool!  Somehow, I missed that.  :-(  Definitely would have helped me.

Will




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