A recent conversation in #devtools
<nigelb> My current build segfaults when I touch the webconsole. <robcee> that's no good <nigelb> That's counter productive when I'm patching the webconsole. <robcee> are you on linux? <nigelb> Ya. <robcee> are you building with clang? <nigelb> No I'm not. <nigelb> gcc forever <3 . a little while later . <nigelb> Wait, that's a gcc bug? <msucan> yes <nigelb> Sadness. <nigelb> gcc </3 <nigelb> its time to move on. <robcee> it was a good run
So, yeah, I’ve switched to clang on Ubuntu. A quick rundown of what I did for any Ubuntu or other Linux users. The instructions are pretty much the same as what ehsan posted for Mac, except I didn’t install clang system-wide.
So, here’s what I did.
mkdir clang cd clang svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm cd llvm/tools svn co http://llvm.org/svn/llvm-project/cfe/trunk clang cd ../../ mkdir build cd build ../llvm/configure --enable-optimized --disable-assertions make
This got the clang binary in
Release/bin. I use ZSH, so I added that folder to my $PATH variable like so
The last bit is to add the following to your .mozconf
export CC=clang export CXX=clang++
Note – If you’re working on Ubuntu 10.04 with gcc version 4:4.4.3–1ubuntu1, it might be essential to use clang and not gcc. As of now the segfaults are attributed to gcc. For more details, see bug 694594