Back to builds

Friday, January 12, 2007 22:15 - GNOME

The builds I daily run on jhautobuild have been badly broken for sometime, and since there was much work to do on jhbuild itself to get in correct shape after the subversion transition, I didn't even have to a look at what was wrong.

That particular server is AMD-64 but I ran two builds on it: straight AMD-64 in a Debian sarge chroot and emulated IA-32 in a Debian sid chroot.

The first one was broken because a glib 2.13.x was somehow installed (when jhbuild lacked svn branch support). That was easy enough to fix just removing files from the build tree.

The second one was more difficult, I had been using the linux32 wrapper together with dchroot but the build was now failing in glib with:

/tmp/ccnmLwxR.s: Assembler messages:
/tmp/ccnmLwxR.s:119: Error: suffix or operands invalid for `cmpxchg'

And that was true, as uname -m showed x86_64 instead of i686; looks like linux32 now does half its job, woops. However running it against simple commands worked, it was just running it together with dchroot that caused problem.

The thing is dchroot moved to a wrapper script around schroot and once I realized this, I could read the changelog and noticed this entry:

1) In order to support running 32-bit chroots on 64-bit systems, a
"personality" option has been added.  This may be set to
"linux32" to run a 32-bit Linux chroot on an amd64 system, for
example.

So I moved from dchroot to schroot with the right "personality" and everything went fine. Builds should now get back to being useful.