On Mon, 31 Dec 2018 00:15:56 -0700 (MST)
lan...@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 <kern...@gmail.com>

Reply via email to