clang in trunk for v3.0 has changed its handling of the path given by the configure option --with-cxx-include-root Due this change trying to compile a program with clang fails because the linker doesn't find the crtbegin.o file Attached is a patch which fix this issue. The patch was made against subversion revision 142115 of the release_30 branche of clang Reproducible: Always
Created attachment 289965 [details, diff] fixes the cxx_include_root path parsing under gentoo
I should have time soon to test 3.0 rc1 so I will probably get this bug too, but I think modifying line 95 of clang-9999.ebuild like that should do the trick: CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-root=${CXX_PATH} (dropping the include/g++-v4)
(In reply to comment #2) > I should have time soon to test 3.0 rc1 so I will probably get this bug too, > but I think modifying line 95 of clang-9999.ebuild like that should do the > trick: > > CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-root=${CXX_PATH} > > (dropping the include/g++-v4) Tried that on my -9999 and didn't help.
*** Bug 388801 has been marked as a duplicate of this bug. ***
Indeed the problem only is in ToolChains.cpp. Thanks Stephan for the pointer to the problem and the patch, I'll add it to both 3.0_rc1 and 9999 (3.0 will use it anyways) Of course on the long term, implementing the suggested CXX_GCC_* variables upstream (mentioned in the FIXME) would be cleanier (or an easier way to add new GCC versions, or a configuration file somewhere...)
I'll do more work later on llvm/clang ebuilds, but in the meantime, 3.0_rc1 is available and 9999 updated with the patch. Thanks again for the report and fix Stephan!