Open Source Hacking
Non informative make errors! Ugh
So I’m finally trying to get my build of firefox up and running “properly” defined by our classes standards (found here). In my previous post I was successfully able to get a build going of Firefox following the Mozilla Developer Network (MDN) for a “Simple” build. And it was exactly that, very very simple. The only problem was that I didn’t use the source code from our github repo at all so really I kind of defeated the whole purpose here.
So tonight after remember I had to try and accomplish this before class tomorrow (hey, I’m busy with other classes too you know!) I woke my macbook and opened my terminal to try and figure this out.
.mozconfig and other Environment Setup
First I realized that there was a few additional things that I needed to get done in order to properly use make to build a debug version of firefox on my laptop. First and foremost, I recommend that if you use Mac OSX that you view this link here and if you don’t just select your OS from the list here.
Obviously don’t bother with the Mercurial setup instructions as we are opting for github instead (although it actually isn’t too different) but the rest are important, specifically about the options you need in you’re created .mozconfig file. If I am reading them correctly they basically are telling the compiler to change the directory that it leaves everything in to ff-dbg (far simpler to remember than their default system), make flags (what they actually do is another story), enable debug and disable any optimization done in the make process.
From here I simply ran the provided make -f client.mk build and lines starting spewing out everywhere in my terminal. Way too fast to really read it all but a lot of it is preventative measures checking if X file is present or not, what version of GNU compilers are being used etc.
So here I am coming back a few minutes later thinking everything was good to go! Oh how wrong I was. I came back to these errors:
make: *** [mozalloc.o] Error 1
make: *** [libs] Error 2
make: *** [libs_tier_base] Error 2
make: *** [tier_base] Error 2
make: *** [default] Error 2
make: *** [realbuild] Error 2
make: *** [build] Error 2
Wait what? What does any of that even mean? *sadface*
I’ve been looking around at the various MDN articles but so far have not been able to find out how to fix my problem. Unfortunately even my fellow students couldn’t figure out what was going on as it all seemed to work for them when they followed the same or similar instructions.
Oh well. I’ll try to figure this out later I think. Maybe we will go over it in class tomorrow.
Edit: This is all of the output from my make, although the level of sense still low. Terminal Output