{"id":2711,"date":"2013-10-24T14:06:19","date_gmt":"2013-10-24T03:06:19","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2711"},"modified":"2013-10-24T14:06:20","modified_gmt":"2013-10-24T03:06:20","slug":"warning-for-firefox-devs-planning-to-upgrade-to-ubuntu-13-10","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/10\/24\/warning-for-firefox-devs-planning-to-upgrade-to-ubuntu-13-10\/","title":{"rendered":"Warning for Firefox devs planning to upgrade to Ubuntu 13.10"},"content":{"rendered":"<p>I just upgraded from Ubuntu 13.04 to Ubuntu 13.10, and Firefox wouldn&#8217;t build with either clang or GCC.<\/p>\n<p>clang was initially failing during configure, complaining about not being able to find joystick.h, though the underlying failure was an inability to find stddef.h.\u00a0 <a href=\"https:\/\/bugs.launchpad.net\/ubuntu\/+source\/llvm-defaults\/+bug\/1198123\">This Ubuntu bug<\/a> describes a workaround, which is to do the following.<\/p>\n<blockquote><p>cd \/usr\/lib\/clang\/3.2\/<br \/>\nsudo ln -s \/usr\/lib\/llvm-3.2\/lib\/clang\/3.2\/include<\/p><\/blockquote>\n<p>With that in place, I clobbered and rebuilt, and clang complained about a problem in allocator.h relating to a name __allocator_base, and GCC complained about C++11 support being insufficient.<\/p>\n<p>Both failures had the same underlying cause, which is that both compilers are hardwired to look for some GCC-4.7 headers (which they shouldn&#8217;t) as well as GCC-4.8 headers.\u00a0 I filed a <a href=\"https:\/\/bugs.launchpad.net\/ubuntu\/+source\/gcc-4.8\/+bug\/1244021\">bug<\/a> with Ubuntu about this.<\/p>\n<p>I worked around the problem just by renaming <code>\/usr\/include\/c++\/4.7\/<\/code> and <code>\/usr\/include\/x86_64-linux-gnu\/c++\/4.7\/<\/code>.\u00a0 There may be more elegant workarounds, but that was good enough for me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just upgraded from Ubuntu 13.04 to Ubuntu 13.10, and Firefox wouldn&#8217;t build with either clang or GCC. clang was initially failing during configure, complaining about not being able to find joystick.h, though the underlying failure was an inability to find stddef.h.\u00a0 This Ubuntu bug describes a workaround, which is to do the following. cd [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,4542],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2711"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=2711"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2711\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}