Firefox/Thunderbird fail to compile with clang due to an assembly error in vpx. Enabling --with-system-libvpx (libvpx >= 1.3.0) allows them to complile with clang. Upstream is working on a fix by adding -fno-integrated-as https://bugzilla.mozilla.org/show_bug.cgi?id=982693 Adding system-libvpx use flag to mozconfig-v4.31 solves the issue for both Firefox/Thunderbird. And should be an option in anycase. Reproducible: Always
Created attachment 384748 [details, diff] Patch to add system-libvpx to mozconfig eclass
(In reply to Daniel Rammelt from comment #1) > Created attachment 384748 [details, diff] [details, diff] > Patch to add system-libvpx to mozconfig eclass Patch looks fine at first glance, but the dep is missing. If we are gonna put te option in the eclass we need to add the actual dep of the lib to the eclass as well.
There is a hard dep against libvpx already, I am not sure if it is a bug or if it is actually required by the non system-libvpx build? RDEPEND="... >=media-libs/libvpx-1.3.0 ..."
Created attachment 384766 [details, diff] Patch with updated deps. Removed hard dep against libvpx for standard build. Added use dep for system-libvpx against >=media-libs/libvpx-1.3.0
Can confirm the hard dep against libvpx was a bug. Removed libvpx from system, built against eclass with hard dep removed and -system-libvpx and it compiles (with gcc) and runs fine.
Created attachment 384774 [details, diff] Patch - Track libvpx used by upstream libvpx dep should track the same version used by Firefox/Thunderbird. Testing with git build of libvpx the API is broken.
OK, so here's a question -- is this something we actually want to be optional, or should we just force-enable --with-system-libvpx ?
Without a slotted libvpx, forcing it could cause breakage if the API is changed for libvpx. Sub libs inside firefox still use the internal headers of its own libvpx. I will track down which libs and see if it is easily fixable. Otherwise an upstream bug would need to be raised.
WebRTC is the issue. It uses its own VP8 engine which causes errors if libvpx from git is used. This would cause the same issues if Mozilla themselves updated their own internal libvpx and not WebRTC, so is not an issue with the --with-system-libvpx flag. All that is needed is that the system-libvpx flag follow the version of the internal library which is what I put in the last patch.
OK, i've added firefox-33.0_beta9 to the mozilla-overlay with this new flag, default-enabled since I believe that was the original intention of the forced system dependency. Please take a look and see if it suits your needs. If so, I will roll this out across the board when the new mozilla releases come out next week.
If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system. Thank You for your support and understanding The Mozilla Team