gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libobjc2-clang


From: Wolfgang Lux
Subject: Re: libobjc2-clang
Date: Tue, 30 Jun 2020 10:38:49 +0200


> Am 29.06.2020 um 23:23 schrieb Riccardo Mottola <riccardo.mottola@libero.it>:
> 
> I have most applications running.. only SWK+Vespucci give this strange errors.
> This linker differences are perhaps also the issues Patrick is seeing? I do 
> wonder.
> 
> Anyway, do you have further ideas on this strange failure? does it happen for 
> any other app? Ink is working, but the rest?

I haven't tried this for other apps, but for SWK+Vespucci the problem is one of 
initialization order (the same I've seen -- and fixed -- for StepTalk): The 
__objc_load function is called for libSimpleWebKit *before* libgnustep-base, 
which means that all protocol references in libSimpleWebKit are set to nil 
because the actual protocol classes are not yet known. And the problem here is 
the SimpleWebKit framework fails to list its depend libraries. This sloppy 
behavior used to work well on *ix (but not on Windows and not without extra 
flags on macOS either, although in the latter case gnustep-make adds them for 
you), but no more with version 2.x of the gnustep runtime. So it's important to 
add
  «target»_LIBRARIES_DEPEND_UPON += -lgnustep-base
to all library and framework projects to make them compatible with clang+ng. In 
this particular case, adding
  SimpleWebKit_LIBRARIES_DEPEND_UPON += -lgnustep-base
to Sources/GNUmakefile and recompiling SimpleWebKit from scratch should get you 
straight.

Wolfgang

PS Incidentally, I've noticed that you don't actually need to use gold: 
/usr/pkg/gnu/bin/ld.elf would work as well. Apparently the current NetBSD 
pkgsrc comes with a recent enough version of binutils where the issue with ld 
-r has been fixed.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]