Re: [gnome-love] jhbuild issues (was Gnome Tinderbox)



Doesn't this whole discussion we're having indicate that a continuous build (a tinderbox) of GNOME with a webpage indicating if the build succeeded would be highly useful. You can even make it like this that the person who broke the build with a checkin gets an email. See for example: http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey

jhbuild seems to have a tinderbox option

Jaaop


Elijah P Newren wrote:
On Sat, 2004-07-31 at 01:52 +0100, Telsa Gwynne wrote:


The modules from gnome cvs built by jhbuild should always be buildable
and if a compile problem arises it is usually fixed very fast.
On the other hand when using jhbuild (or some other build scripts) it's
common to stumble in some recurring problemes, for example the ones due
to a non perfect setup of autotools etc.
Some of these common problems are listed in Elijah's guide at
http://www.gnome.org/~newren/tutorials/developing-with-gnome/

Urf. I have been playing with jhbuild today. I have been having
problems. And I don't see them in the tutorial. I presume the
majority are transient (po files for example) or just less
commonly met (opteron box).


I think Paolo's comments were slightly misleading.  Other than the
certain-development-libraries-are-not-installed problem, I don't think
it's even possible to have the tutorial show "the common problems" that
show up and how to fix them.  If somehow we could, we'd just fix it so
the problems wouldn't exist.  In fact, that is exactly what we as a
community attempt to do.  Elsewhere in that tutorial I state, "Although
compiling from CVS has a number of benefits, it can never be made an
easy task for beginners because it is impossible to predict when and
where problems will occur. This is because rapid changes to the source
code could cause any of a number of things to fail and although such
problems are fixed quickly, there are always new ones popping up."

Therefore, I merely try to show a random sampling of certain classes of
errors in the tutorial and show how I resolved or worked around them.


Is the jhbuild bootstrap stuff still relevant in that document?
I used "sanitycheck" and it reported no problems on a FC2 box.


Yes.  You can get away without doing a jhbuild bootstrap sometimes (this
is also heavily distro dependent too), but I've spent quite a few hours
helping people track down problems that would have been solved by a
jhbuild bootstrap.  In particular, the bootstrap doesn't just install
the newest versions of certain libraries (auto*, libtool, gettext,
etc.), it also often includes patches against those versions (see the
jhbuild/patches directory).


However..

shared-mime-info dies due to automake issues. When jhbuild told me, I went to its shell, and in the shared-mime-info directory (where
I was by default) did "cp ../libxml2/mkinstalldirs ." in order to
provide the mkinstalldirs it was missing and then hit ^D to get back to jhbuild. It works happily then.


Actually, this particular workaround was covered.  It's at the very
bottom of http://www.gnome.org/~newren/tutorials/developing-with-
gnome/html/ch04s03.html .  Honestly, I think it's sort of sad that it's
still useful.  One would really hope that any particular fix or
workaround I provided on that page would be obsolete by now...


gnome-vfs died due to 64-bit issues. I had to add "(long long)"
into two files to get that to build.

libxklavier (from freedesktop.org) gave me nightmares which seem related to 64-bit again. In the end, I skipped it, so jhbuild then decided I didn't need gnome-applets or control-
center (true enough).

libcroco was next to die. Again, I presume 64-bit troubles.
I had to change a gsize to a gsf_off_t (line 61 of rsvg-gz.c).


Unfortunately, I can't help you at all there.  I don't have a 64-bit
system.  And even if I did, I'm not sure I would be able to say much
about it in the tutorial since I'm sure that any fix/workaround I
mentioned would quickly become obsolete when the appropriate package is
fixed.  All I can really do is point at bugzilla and shrug (although
maybe someone else here who knows more can chime in).  Sorry.


next, the po/gu.po file in procman was broken. There were
missing # marks in two places at starts of lines (the ones
it complains about: there are commas where they should be "#,"s).
I added those back in and ignored the further complaints about
plural_forms because they don't actually cause msgfmt to fail and I didn't care :)


Actually, it is somewhat common to have a module fail with one of the
translations.  While I never know how to fix it (and those who do
usually fix them fairly quickly anyway), I do always know how to
workaround it immediately.  Perhaps I should add a little section about
that to the tutorial.  Thanks for the idea.

(The workaround I use is to simply to remove the relevant language from
the ALL_LINGUAS line in configure.in, and then restart the configure
stage)


gstreamer followed, and died (again, 64bit?). I had to delete a warning line but that was all. It build and installed then.

gst-plugins was next, looked for the installed gstreamer,
couldn't find it, and then things went badly weird. I harangued thomasvs on IRC and he knows what should be happening but is now wondering why it doesn't. (again, 64-bit)


None of these are yet in bugzilla because I intended to put
them all in at once. Since it looks like it is going to take
longer than I expected to get a (half-?)working desktop, I
shall bugzilla them tomorrow, to ensure your promise that it
is "usually fixed very fast" can be fulfilled. :)


When you file in bugzilla, be sure to mark priority as Immediate (these
problems "block testing and development").


Anyway, if any of those are the modules you're having trouble
with, I am sure that that the procman/po/gu.po fix will work
anywhere. I am not so sure that any of the rest will help. But
just in case, there you go.


Thanks for the feedback,
Elijah
_______________________________________________
gnome-love mailing list
gnome-love gnome org
http://mail.gnome.org/mailman/listinfo/gnome-love




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