Monday, December 31, 2018

Re: powerpc bulk build report

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