[Bug 1242300] Re: Clang cannot locate standard header files
In Ubuntu 14.04 LTS I installed Clang 3.7 after adding new official repository from http://llvm.org/apt/ Then based on this thread: http://askubuntu.com/questions/428198/getting-installing-gcc-g-4-9-on-ubuntu/456849#456849 I tried backport the latest packages I add ppa repository: sudo add-apt-repository ppa:ubuntu-toolchain-r/test Refreshed my repositories: sudo apt-get update And finally installed (ideally) latest toolchain: sudo apt-get install g++-5 Everything works fine when compiling as follows: clang++-3.7 -std=c++14 main.cpp What I left unresolved is using choose of default compiler. But more information can be found in thread: http://askubuntu.com/questions/26498 /choose-gcc-and-g-version -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
This should be fixed in at least vivid+ releases ** Changed in: llvm-defaults (Ubuntu) Status: Triaged => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
Yep, I have same problem after upgrading 14.10 to 15.04 beta. Since final release has been happened in april bug still present at now. I have both 3.5 and 3.6 clang compilers installed. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
I have the exact same problem as #14, and the propsed fix worked Thanks! -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
I was just bitten by this. I tried to upgrade from clang-3.4 to clang-3.5, and was unable to compile anything because the standard headers were not found. I then downgraded back to clang-3.4, and was surprised to find that to be broken as well. Since at that point I was stuck, I plowed on until I found a solution. The issue seems related to the fact that gcc-4.9 exists at this point in time, but g++-4.9 does not. I think this means it only affects those who have partially upgraded to gcc-4.9 (the C compiler, but not the C++ compiler). Clang is searching for the standard C++ header in directories that don't exist and not finding them. There also seem to be issues where Clang is searching only for /usr/include/c++ without adding an appropriate version number. One fix is to add symlinks until Clang can find the files it's looking for. The currently searched header directories can be found with: clang++ -E -x c++ - -v /dev/null Assuming a test file 'file.cpp' that includes a failing header, you can see where g++ is successfully finding a header (and Clang is failing) like this: strace -f g++ file.cpp -std=gnu++11 -o file.o 21 | grep header strace -f clang++ file.cpp -std=gnu++11 -o file.o 21 | grep header There are several ways of helping Clang to find the headers it is looking for, all of varying degree of likelihood to break other things. I decided the path of least harm was to create symlinks like this: $ ls -l /usr/include/c++/ lrwxrwxrwx 1 root root 3 Dec 20 15:50 backward - 4.8 lrwxrwxrwx 1 root root37 Dec 20 15:56 x86_64-linux-gnu - /usr/include/x86_64-linux-gnu/c++/4.8 Once you solve the issue of finding header files, you then won't be able to find libstdc++.so. I fixed that with this: sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8 /usr/local/lib/x86_64-linux-gnu Now that I've done this, both clang-3.4 and clang-3.5 will work, although not simultaneously because Ubuntu supports multiple versions of GCC but not of Clang. Note that this is just an ugly workaround for a bug that should be fixed by Ubuntu. Once this is fixed, these steps will be unnecessary, and possibly hazardous. Personally, I think that Ubuntu should support having multiple versions of Clang installed, and rather than deinstalling one version to install another. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
A workaround for now: sudo aptitude install libstdc++6=4.8.2-19ubuntu1 I found it by accident when trying to install gcc-snapshot. The gcc- snapshot suggested downgrading libstdc++, I've canceled installation and downgraded libstdc++. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
I've upgraded to trusty yesterday and the looks like the bug is still there. clang++ cannot link anything because: clang++ -v -E cennik.cc -o cennik Ubuntu clang version 3.5-1ubuntu1 (trunk) (based on LLVM 3.5) Target: x86_64-pc-linux-gnu Thread model: posix Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.8 Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.8.2 Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9.0 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.2 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.0 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8.2 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.2 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.0 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9 Candidate multiilb: .;@m64 Candidate multiilb: 32;@m32 Selected multilib: .;@m64 /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu -E -disable-free -disable-llvm-verifier -main-file-name cennik.cc -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.24 -v -resource-dir /usr/bin/../lib/clang/3.5 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/backward -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.5/include -internal-externc-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/orian/workspace/cpp/oi -ferror-limit 19 -fmessa ge-length 190 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-slp -o cennik -x c++ cennik.cc clang -cc1 version 3.5 based upon LLVM 3.5 default target x86_64-pc-linux-gnu ignoring nonexistent directory /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/x86_64-linux-gnu ignoring nonexistent directory /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/backward ignoring nonexistent directory /include #include ... search starts here: #include ... search starts here: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++ /usr/local/include /usr/bin/../lib/clang/3.5/include /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/include /usr/include/x86_64-linux-gnu /usr/include End of search list. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
** Changed in: llvm-defaults (Debian) Status: New = Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
I think the correct related Debian bug is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705957 I did a 'sudo aptitude purge libclang-common-dev', accepted the first dependency resolution option (remove clang and clang-3.2), and then did 'sudo aptitude install clang'; now clang works again. I'm not familiar with apt/dpkg details; perhaps 'sudo aptitude reinstall libclang-common- dev' would work too. I'm on Xubuntu 13.10, which I upgraded from 13.04 -- I think this matches the description of the above bug (directory not replaced by symlink on upgrade). ** Bug watch added: Debian Bug tracker #705957 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705957 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
#10 has worked for me as well. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
For the 3.5 LLVM toolchain it seems that the symlink /usr/lib/clang/3.5/include erroneously points to ../../llvm-3.4/lib/clang/3.5/include, but should instead point to ../../llvm-3.5/lib/clang/3.5/include The workaround (of course) is to manually correct the symlink. For the 3.4 toolchain the /usr/lib/clang/3.4/include doesn't exist at all. I have not tried LLVM 3.4 on Ubuntu so I don't know if createing a symlink to ../../llvm-3.4/lib/clang/3.4/include will fix the problem, but it does seem likely. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
** Bug watch added: Debian Bug tracker #705418 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705418 ** Also affects: llvm-toolchain-3.2 (Debian) via http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705418 Importance: Unknown Status: Unknown -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
There is a wlrokround from a duplicate of this bug: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1198123/comments/5 Kirit Sælensminde (kayess) wrote on 2013-10-22: #5 The following seems to work as a workaround for me: cd /usr/lib/clang/3.2/ sudo ln -s /usr/lib/llvm-3.2/lib/clang/3.2/include It looks like there's a mismatch between where the include files are installed to and where clang expects to find them Diagnosed with the help of: echo '#include stdarg.h' | clang -xc -v - ** Package changed: llvm-toolchain-3.2 (Debian) = llvm (Debian) ** Package changed: llvm (Debian) = llvm-defaults (Debian) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
** Changed in: llvm-defaults (Debian) Status: Unknown = New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
** Changed in: llvm-defaults (Ubuntu) Importance: Undecided = High ** Changed in: llvm-defaults (Ubuntu) Status: Confirmed = Triaged -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
I am getting /usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found Does not matter, which clang version I use -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
** Information type changed from Public to Public Security -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
3.3 and 3.4 gives me another problem; /usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8/string:38:10: fatal error: 'bits/c++config.h' file not found -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
clang-3.4 isn't fully released yet, is it? I think it's still work in progress, and it isn't in the package manager (not even in sid). -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
Bump. Upgrading to clang-3.4 seems to fix this. Why are you guys still have clang-3.2 as default anyway? That's almost an year-old release. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
Status changed to 'Confirmed' because the bug affects multiple users. ** Changed in: llvm-defaults (Ubuntu) Status: New = Confirmed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1242300] Re: Clang cannot locate standard header files
Same here. Trying to compile the simplest hello world: #include stdio.h int main() { printf( Hola!); } Shows: $ clang hello.c In file included from hello.c:1: /usr/include/stdio.h:33:11: fatal error: 'stddef.h' file not found # include stddef.h ^ 1 error generated. $ uname -a Linux PC-baltasarq 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Operating system flavour is Lubuntu 13.10 Machine is x64 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1242300 Title: Clang cannot locate standard header files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs