[haiku-development] Buildbot woes of gcc2 (on FreeBSD)

  • From: Matt Madia <mattmadia@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 6 Nov 2011 09:04:02 -0500

Hello from home!

As mentioned on Adrien's BeGeistert 024 report[1],  I've been working
on getting Buildbot set up (instead of trying to wrench Build-O-Matic
into supporting git ). As a bonus, we'll be getting lots of awesome
features that are built into Buildbot. (buildbot.net)


Unfortunately, it hasn't been as easy as cream pie.  One of GCC 2's
build tools, `fixinc` / `fixincl` causes Buildbot to never realize the
build has completed successfully.  From what Oliver and I found out,
fixinc will spawn a shell process, opens some pipes (or file
descriptors) for communication, the calling process will crash,
forcing the child to become its own process group and keep that pipe
open.   Build log output: http://pastebin.com/CfmXr42U  (search for
"*** barf *** barf ***"  to see where the trouble starts)

That is why Buildbot never acknowledges the gcc2 buildtools to be
completed successfully.

With Urias's help, we've been testing building gcc2 on linux mint, but
that seems to run into its own issues[2].  Oddly, if he runs the build
as a normal person would, it builds successfully. :|
{{{
creating libintl.h
cd cp && make 
/home/umccullough/haiku_buildslave/buildtools/legacy/gcc/gcc/cp/parse.c
make[2]: Entering directory
`/home/umccullough/haiku_buildslave/build-cross-tools-x86gcc2/build/cross-tools-build/gcc/gcc/cp'
expect 30 shift/reduce conflicts and 42 reduce/reduce conflicts.
cd /home/umccullough/haiku_buildslave/buildtools/legacy/gcc/gcc/cp;
bison  -d -o parse.c parse.y
parse.y:656.19-20: $$ for the midrule at $4 of
`constructor_declarator' has no declared type
parse.y:664.19-20: $$ for the midrule at $5 of
`constructor_declarator' has no declared type
parse.y:672.19-20: $$ for the midrule at $4 of
`constructor_declarator' has no declared type
parse.y:680.19-20: $$ for the midrule at $5 of
`constructor_declarator' has no declared type
make[2]: *** 
[/home/umccullough/haiku_buildslave/buildtools/legacy/gcc/gcc/cp/parse.c]
Error 1
make[2]: Leaving directory
`/home/umccullough/haiku_buildslave/build-cross-tools-x86gcc2/build/cross-tools-build/gcc/gcc/cp'
make[1]: *** 
[/home/umccullough/haiku_buildslave/buildtools/legacy/gcc/gcc/cp/parse.c]
Error 2
make[1]: Leaving directory
`/home/umccullough/haiku_buildslave/build-cross-tools-x86gcc2/build/cross-tools-build/gcc/gcc'
make: *** [cross] Error 2
ERROR: Building gcc failed.
program finished with exit code 1
}}}

So, help with either would be appreciated.

If Buildbot isn't up and running by the 12th -- what are we willing to
do?  Go without continuous integration? Go without nightly images?
Should I make a very quick and dirty bash script to manage this? .. I
would hate to be the reason for delaying the svn --> git migration.

--mmadia

1: 
https://www.haiku-os.org/blog/pulkomandy/2011-11-04_begeistert_024_coding_sprint_report
2: http://pastebin.com/HF2B3a3s

Other related posts: