I’ve been trying to do something these past few days that we should have done a long time ago; build fox using distcc (now that our assignment has been merged with distcc, this has become incredibly important). This turned out to be rather more complicated than it seems.
I have it set up so that Tom’s old machine will do the building, and Tom’s newer and Andrew’s machine will be the slav… err.. commissioned volunteers. It took me a while to realize how to parrallel build on firefox, and once I figured that out, distcc was sending pages of linker errors.
I’m in week two of getting this damn build to work. Forget about getting things to work with distcc, I’m trying to get it to compile through gcc. But ld is commiting suicune(suicide) on me.
I made several attempts to negotiate a deal with Tom’s old machine. At first I thought it was bad source code because I didn’t originally check the tinerbox. So I did yet another checkout of the source code (checking tinderbox first of course) and still couldn’t build. I then complained to Tom, who suggested that I just download the release tarball and build it. I did so, and it still failed. To quote the man, “Gentlemen. It shouldn’t be this complicated”.
But I finally got a log of where it died. I believe it died the same place the past 2 times as well. Here is a snippet of the last few lines :
c++ -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-
virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_cesar -DTRACING -g -fno-inline -O -fPIC -shared -Wl,-h -Wl,libgklay
out.so -o libgklayout.so nsLayoutModule.o nsContentHTTPStartup.o nsContentDLF.o -Wl,–whole-archive ../../dist/lib/libgkbase_s.a ../../dist/lib/li
bgkgeneric_s.a ../../dist/lib/libgkforms_s.a ../../dist/lib/libgkstyle_s.a ../../dist/lib/libgkprinting_s.a ../../dist/lib/libgktable_s.a ../../dist/lib/libgkxu
lbase_s.a ../../dist/lib/libgkconbase_s.a ../../dist/lib/libgkconcvs_s.a ../../dist/lib/libgkconevents_s.a ../../dist/lib/libgkconhtmlcon_s.a ../../dist/lib/lib
gkconhtmldoc_s.a ../../dist/lib/libgkconxmlcon_s.a ../../dist/lib/libgkconxmldoc_s.a ../../dist/lib/libgkconxbl_s.a ../../dist/lib/libgkconxulcon_s.a ../../dist
/lib/libgkconxuldoc_s.a ../../dist/lib/libgkview_s.a ../../dist/lib/libjsdombase_s.a ../../dist/lib/libjsdomevents_s.a ../../dist/lib/libjsurl_s.a ../../dist/l
ib/libgkxultree_s.a ../../dist/lib/libgkxulgrid_s.a ../../dist/lib/libgkconxultmpl_s.a ../../dist/lib/libgkmathmlcon_s.a ../../dist/lib/libgkmathmlbase_s.a ..
/../dist/lib/libgkcontentxtf_s.a ../../dist/lib/libgkxtfbase_s.a -Wl,–no-whole-archive -L../../dist/bin -L../../dist/lib -lgkgfx ../../dist/lib/libunicharutil
_s.a -L../../dist/bin -lxpcom -lxpcom_core -L../../dist/bin -L../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -L../../dist/bin -lmozjs -lgtk-x11-2.0 -lgd
k-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -Wl,-Bsymbolic -ldl -lm
collect2: ld terminated with signal 9 [Killed]
gmake[4]: *** [libgklayout.so] Error 1
gmake[4]: Leaving directory `/home/cesar/mozobj/layout/build’
gmake[3]: *** [libs] Error 2
gmake[3]: Leaving directory `/home/cesar/mozobj/layout’
gmake[2]: *** [tier_9] Error 2
gmake[2]: Leaving directory `/home/cesar/mozobj’
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/cesar/mozobj’
make: *** [build] Error 2
Not very helpful. But I have ran out of options. The only thing left to do is install ubuntu on one of the machines in the linux room because I basically already have the instructions on how to do it. I cannot use Tom’s new machine because it doesn’t have enough space, and I shouldn’t use Andrew’s machine because /home is over NFS, making things even more complicated.
This has been a rather frustrating experience because
- The machines take ages to complie
- This problem shouldn’t be bad library/missing library because that would have been caught by the confiure file
- lack of information from the compiler
- it shouldn’t take this long.
But the project can wait until tuesday. I have screens to do, assignments to figure out, correlations to discover, and polynomial functions to create. If I have some spare time, I’ll see about getting iptables to port forwarding.
I need a (sex|exciting|social) life,
Cheers





Comment by Ben
1 1. October 2006, 7:11 am o'clock |
Do you know for a fact that all of the machines can build firefox indepedently? Have you run RAM diagnostics on them all?
Other than that, I got nuthin’