On Mon, 31 Dec 2018 00:15:56 -0700 (MST)
landry@openbsd.org wrote:
> http://build-failures.rhaalovely.net//powerpc/2018-12-14/x11/qt5/qtbase.log
Fails to #include <type_traits>, a C++ standard library header.
Is llvm missing a dependency on g++?
At the top of the log, gcc-4.9.4p15 and gcc-libs-4.9.4p15 and
llvm-6.0.1p19 get installed, but g++ doesn't.
> ===> Compiler link: gcc -> /usr/local/bin/clang
> ===> Compiler link: cc -> /usr/local/bin/clang
> ===> Compiler link: clang -> /usr/local/bin/clang
> ===> Compiler link: g++ -> /usr/local/bin/clang++
> ===> Compiler link: c++ -> /usr/local/bin/clang++
> ===> Compiler link: clang++ -> /usr/local/bin/clang++
The compiler is ports-clang from the llvm package. The compiler
needs a C++ library. It can't use libc++ from base-clang because
powerpc doesn't have base-clang. It can't use libstdc++ from
base-gcc because that lib can't do C++11.
It must use libestdc++ from ports-gcc. The library is in the
gcc-libs package but its headers are in the g++ package! This is
odd because most libraries have their headers in the same package.
lang/clang/clang.port.mk uses `MODULES += gcc4` to find libestdc++
and add the dependency on gcc-libs. Then lang/gcc/4.9/gcc4.port.mk
does `MODGCC4_LANGS += c` to add a dependency on the gcc package.
There seems to be no dependency on the g++ package. This might
allow dpb to junk g++ after it builds llvm (using g++) and before
it builds qtbase.
--
George Koehler <kernigh@gmail.com>
No comments:
Post a Comment