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

Reply via email to