discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Problem building base with libobjc2


From: Fred Kiefer
Subject: Re: Problem building base with libobjc2
Date: Sun, 04 Jul 2010 11:16:18 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.9) Gecko/20100317 SUSE/3.0.4-1.1.1 Thunderbird/3.0.4

Am 04.07.2010 08:43, schrieb Niels Grewe:
> Hi Truls,
> 
> On Sat, Jul 03, 2010 at 07:35:41PM +0200, Truls Becken wrote:
>> I get errors when building gnustep trunk r30916, using libobjc2 from
>> the same revision. This does not happen with the gcc runtime because
>> the problematic code is then skipped by an #ifndef.
>>
>> Making all for library libgnustep-base...
>>  Compiling file GSLocale.m ...
>>  Compiling file preface.m ...
>>  Compiling file cifframe.m ...
>>  Compiling file CXXException.m ...
>> ...snip...
>>  Compiling file NSString.m ...
>>  Compiling file NSTask.m ...
>>  Compiling file NSThread.m ...
>> NSThread.m:288:20: error: static declaration of ‘objc_thread_add’
>> follows non-static declaration
>> /usr/lib/gcc/i686-pc-linux-gnu/4.5.0/include/objc/thr.h:91:6: note:
>> previous declaration of ‘objc_thread_add’ was here
>> make[4]: *** [obj/libgnustep-base.obj/NSThread.m.o] Error 1
>> make[3]: *** [internal-library-all_] Error 2
>> make[2]: *** [libgnustep-base.all.library.variables] Error 2
>> make[1]: *** [internal-all] Error 2
>> make: *** [internal-all] Error 2
> 
> David removed a pile of legacy headers from libobjc2 last week. And
> since there is no thr.h in libobjc2 anymore, base is picking up the
> header from gcc's libobjc and gets a bit confused. There is a bit of
> refactoring to be done to get libobjc2 and gnustep-base in sync again.
> E.g. all includes of objc.h need to be changed to runtime.h. That will
> probably also break a lot a of legacy stuff like the old NeXTStep typed
> streams. I'm well willing to help with that, after GSoC that is, because
> I'm rather busy with DBusKit at the moment…

To me it looks like the whole block here is a left over.
‘objc_thread_add’ is inlined and never gets used in this file, so why
not remove it altogether? If this is true, we should also remove the
configure check for this function. Could somebody using libobjc2 please
test this?

But you seem to have another problem here as well. While you are using
libobjc2 the compiler still includes a header file from the gcc objc
implementation. I think that is what Niels is talking about.

Fred



reply via email to

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