On 7 Jun 2019, at 18:27, Riccardo Mottola <[email protected]> wrote: > > Hi, > > > David Chisnall wrote: >> It looks as if this protocol comes from NSDistributedNotificationCenter and >> is created with an @protocol directive. With the gnustep-1.0 ABI, that is >> attached to the __ObjC_Protocol_Holder_Ugly_Hack class and upgraded by the >> runtime. It looks as if you've compiled with the gcc ABI, so none of that >> works. >> >> You can't use the GCC ABI with the 2.x runtime, you have to use the gnustep >> ABI. That will work in pretty much any version of clang. > > Given your explanation, I indeed I compiled with gnu-gnu-gnu, since I just > didn't gave any options and that is what gnustep-make always selected, now > when I upgraded libobjc2 packages from pkg, it broke. From what you tell me > it is not a "bug" that can be fixed, but a hack that no longer works :) > > I reconfigured with explicit --with-library-combo=ng-gnu-gnu and it works > again. > > So, essentially, one either knows that it has to be configured that way or > our configure should be "smart" and it should enable ng-gnu-gnu from a > certain libobjc release onwards?
I think it is a bug in -make. If it detects clang as your Objective-C compiler then, at the very least, it should add -fobjc-runtime=gnustep-1.0 (ideally something like 1.7 or 1.6, which is probably the oldest that you’re practically likely to find). David _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
