I could not wait to try the latest Firefox version after all the hype. I’ve been running Nightly on my Phone and my work computer ever since 57.0 landed in nightly (So 6 months ago?). I’ve finally got around to updating my main Gentoo box.

After doing a sync, and doing a quick emerge @world I see the lovely picture that is blocking dependencies.

So I do what any idiot does, and just quickly delete the problem packages as they are going to be reinstalled anyway. (FYI, don’t do this) emerge --unmerge sys-devel/clang && emerge --unmerge sys-devel/llvm

The problem is Mesa

I’ve finally figured out how to do this Gentoo thing. So a run down of the image results in:

llvm-5.0.0 is getting pulled in to satisfy the requirements of Firefox,

is getting pulled in to satisfy the requirements of Firefox, llvm-3.9.1-r1 is getting pulled in because of clang-3.9.1 . But its also being pulled in because of mesa-17.0.6 .

is getting pulled in because of . clang-5.0.0 is already getting pulled in as well.

So going back to proving how I’ve semi-sorted this Gentoo thing out. Quickly open up the package page for mesa (which is here for the lovely readers) and low and behold, the last version to be marked as stable for Amd64 is 17.0.6 . The 17.0.6 ebuild file contains the following gem:

RDEPEND=" llvm? ( .... some other depenancy things ... || ( sys-devel/llvm:4[${MULTILIB_USEDEP}] >=sys-devel/llvm-3.6.0:0[${MULTILIB_USEDEP}] ) <sys-devel/llvm-5:=[${MULTILIB_USEDEP}] )

The ebuild for 17.0.6 does not allow mesa to be build with llvm-5. It has to be an item before llvm-5. To confirm that moving to an “unstable” branch will actually sort out my problem, I double checked 17.2.1 ebuild to guarantee that my building would work successfully. And low and bedhold, no more <sys-devel/llvm-5 .

So a quick edit to our package.keywords file to allow us to move ahead in the world. echo '>=media/libs/mesa-17.0.6 ~amd64' | sudo tee -a /etc/portage/package.keywords and I’m off to building Firefox again!