On 04/06/2019 09:46, Riccardo Mottola wrote:
Hi David,
David Chisnall wrote:
Thanks for the report. Please can you file an issue on GitHub? This
is a quite surprising error - it implies that either clang has a bug
or that something is trying to manually create or modify protocols
without calling through the runtime. This might happen if you have a
version of GNUstep compiled against the gcc runtime and using
ObjectiveC2.framework instead of the runtime's public APIs, but that
shouldn't be the case with the packaged versions.
clang and libobjc2 are packaged, however gnustep installation is
compiled by my by current sources. I did not do anything special, I
configured make with:
$ ./configure --prefix=/ --with-layout=gnustep CFLAGS=-I/usr/local/include
Are you using -make from packages, which will be configured to use the
new ABI?
according to configure log, this is the compiler detected:
configure:4393: checking for C compiler version
configure:4402: cc --version >&5
FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on
LLVM 6.0.0)
Target: x86_64-unknown-freebsd11.2
Thread model: posix
Okay, this is not one that will be used by -make from packages, because
it doesn't support the 2.0 ABI. Please use the clang from the llvm7 or
lllv8 package, or from the base system in 12. It looks as if you're
using the old (GCC) ABI, which may mean that you've linked in the
ObjectiveC2 framework and are explicitly constructing internal runtime
data structures from an old version of the runtime. Please can you
check where the invalid protocol is coming from? It may also be
something that we're failing to correctly upgrade when using the legacy ABI.
David
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep