Hi

All the buildbots are successfully building now.

The FreeBSD bot was fixed by changing the buildbot script to use Clang
instead of GCC. From what I've seen, on FreeBSD, loading a mixture of C++
libraries built with GCC and C++ libraries built with Clang into the same
process, and using more advanced C++ features like exception handling,
causes memory corruption and crashes due to incompatible C++ ABIs; either
every library has to be built with GCC or every library has to be built
with Clang. In practice, the former requires a rebuild of the entire base
system and building all ports from source, which is why the latter is
better.

The Linux bots were much harder to fix. The build was breaking because libc
isn't linked to in some gbuild modules, something that was fixed by
explicitly always linking to libc on Linux, and because Google Test wasn't
linking to libpthread, somehow resulting in missing symbols in at least
main/binaryurp when built without --enable-dbgutil, which was fixed by
explicitly linking it to libpthread. I don't like these linker mysteries,
which never happen on FreeBSD, and some of which can be worked around with
the "gold" linker...

Damjan

Reply via email to