|
From: | Johannes Brakensiek |
Subject: | Re: Improving GNUstep tooling with Clang |
Date: | Fri, 29 Nov 2019 13:06:50 +0100 |
On 29 Nov 2019, at 11:43, Frederik Seiffert wrote:
Am 28.11.2019 um 22:06 schrieb Niels Grewe <niels.grewe@halbordnung.de>:On 28.11.19 17:15, Frederik Seiffert wrote:- Set up CI testing for the 2.0 runtime version, which currently doesn’t seem to be tested with libs-base. I have submitted a pull request for this (https://github.com/gnustep/libs-base/pull/88).
Thanks to the work of Patryk we have a working build setup with CI here now: https://github.com/plaurent/gnustep-build/
Would it be helpful to you if we’d run the tests on the runtime as well?
Unfortunately, when I tried to integrate that into my libdispatch stuff,I discovered that this doesn't actually test the 2.0 runtime. The CIscript is still using a Ubuntu 14.04 builder, which ships with a clangversion that is too old to know about the 2.0 runtime version(defaulting to something else, presumably). Once run under 18.04 (baby steps…), with clang 7, we're getting failures in the configure script because the new objc_init struct references non-existent sections in thebinary (those conftest things don't declare any classes and such).Oh, good catch! How did you find out that the Clang version didn’t support the 2.0 runtime? Is there a warning or similar that I can watch out for in the future?Upgrading to clang 9 fixes that, but now I'm seeing a load of test failures that I haven't had the time to investigate further: https://travis-ci.org/gnustep/libs-base/builds/618352009
The output there looks as if you are still using clang 7?
Ok wow – to be honest, based on our experience with the 2.0 runtime, I was kind of surprised when all the tests were previously passing. It sounds like something fundamental is broken here though and you’re onto it (https://github.com/gnustep/libobjc2/issues/136). Let me know if I can give a hand with this in any way.
I don’t know if there is anything fundamental broken, but clang 7 is known to not work with the 2.0 runtime as well as the lld linker (you have to use ld.gold). Did you notice Andreas’ paper describing this?
http://wiki.gnustep.org/index.php/Building_GNUstep_under_Debian_FreeBSDHis (and our) build experiences have been collected at the scripts mentioned at the repository above.
Johannes
[Prev in Thread] | Current Thread | [Next in Thread] |