문제: gcc-4.6.4를 쓰면 llvm을 emerge할 수 없다.
gcc-4.6.4.ebuild를 살펴보면 gcc-4.6.3.ebuild와 많이 다르다. 특히 "STDCXX_INCDIR" 등의 항목이 있는데, 확실한 것은 아니지만 이것 때문에 header file이 이상한 곳에 설치되는 것 같다. 로그를 보면 algorithm을 찾을 수 없다고 나오는데 다음과 같이 include path를 두 개 추가해서 컴파일하면 컴파일이 된다.
/var/tmp/portage/sys-devel/llvm-3.3-r1/work/llvm-3.3.src-amd64/Release/bin/clang -fno-exceptions -fPIC -funwind-tables -I/var/tmp/portage/sys-devel/llvm-3.3-r1/work/llvm-3.3.src/projects/compiler-rt/lib -I/var/tmp/portage/sys-devel/llvm-3.3-r1/work/llvm-3.3.src/projects/compiler-rt/include -Wall -Werror -O3 -fomit-frame-pointer -m64 -fPIE -fno-builtin -fno-rtti -c -o /var/tmp/portage/sys-devel/llvm-3.3-r1/work/llvm-3.3.src-amd64/tools/clang/runtime/compiler-rt/clang_linux/msan-x86_64/x86_64/SubDir.lib__msan/msan_linux.o /var/tmp/portage/sys-devel/llvm-3.3-r1/work/llvm-3.3.src/projects/compiler-rt/lib/msan/msan_linux.cc -I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6 -I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6/x86_64-pc-linux-gnu
해결 방법은 gcc-4.6.4대신 4.6.3이나 4.7.2, 4.8.0 등을 쓰는 것이다. 아니면 llvm.ebuild를 고치는 방법도 있을 것 같은데, 어떻게 고쳐야할 지 아직은 잘 모르겠다.