After upgrading to 13.10, clang and GCC erroneously look for GCC-4.7 headers
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | gcc-4.8 (Ubuntu) |
Undecided
|
Unassigned | ||
Bug Description
I'm a Firefox developer. 13.04 was working fine. I upgraded to 13.10 and now I can't compile Firefox with either clang or GCC.
Here's a reduced test case:
#include <memory>
int main(void) {}
If I compile this with clang I get this:
[fjord:~/moz/mi5] clang++ a.cpp
In file included from a.cpp:1:
In file included from /usr/bin/
/usr/bin/
unknown template name '__allocator_base'
class allocator: public __allocator_
/usr/bin/
expected '('
: __allocator_
/usr/bin/
expected '{' or ','
3 errors generated.
The results with GCC are similar.
I found the problem is that both clang and GCC are somehow configured to look for some GCC 4.7 headers as well as GCC 4.8 headers -- both of them have |-I/usr/
As a workaround, I renamed /usr/include/
| Horst Schirmeier (horst) wrote : | #1 |
| Nicholas Nethercote (n-nethercote) wrote : | #2 |
FWIW, I just upgraded to 14.04 and hit exactly the same problem. This time I just had to rename /usr/include/
| Launchpad Janitor (janitor) wrote : | #3 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in gcc-4.8 (Ubuntu): | |
| status: | New → Confirmed |
| peter (peter--s) wrote : | #4 |
After a dist-upgrade of my Linux Mint (to Olivia), I ran into the same problems.
Your fix (renaming all c++/4.7 directory to something like c++/4.7_old) fixed it. Just my directories were /usr/include/
| Matthias Klose (doko) wrote : | #5 |
I don't see this in 14.04 LTS
| Changed in gcc-4.8 (Ubuntu): | |
| status: | Confirmed → Fix Released |


Cannot reproduce. I'm using 13.10 (x86_64; was upgraded from several earlier releases), only gcc-4.8 and clang-3.2 is installed.
$ clang++ a.cpp 32/final) (based on LLVM 3.2)
$ g++ a.cpp
$ clang++ --version
Debian clang version 3.2-7ubuntu1 (tags/RELEASE_
Target: x86_64-pc-linux-gnu
Thread model: posix
$ g++ --version
g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc seems to use the correct include paths here (see attachment).