discuss-gnustep
[Top][All Lists]
Advanced

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

Re: libobjc2 build issues (missing files)


From: niels . grewe
Subject: Re: libobjc2 build issues (missing files)
Date: Thu, 5 Mar 2020 14:36:36 +0100

(Re-adding the list since I foobared the last mail)

You could try forcing libobjc2 to be linked against libc++, if you’re not 
reliant on EH interop with C++ (I don’t have the cmake flag for that present, 
I‘m afraid). But you’re probably better off using libstdc++ for the time being. 

N

--
Sent on the road

> Am 05.03.2020 um 13:50 schrieb Andreas Fink <afink@list.fink.org>:
> 
> so what would be the work around to get this working?
> Im trying to get this done in Debian 10 (Buster). Interestingly only my app 
> seems to complain when I compile. And it seems to have something to do with 
> statics.
> Under Debian 9 everything works. I dont use any C++ code myself (but some 
> external libraries which only use standard C++, not ObjC++).
> 
> 
>> On 5 Mar 2020, at 13:44, niels.grewe@halbordnung.de wrote:
>> 
>> Hi Andreas,
>> 
>> libobjc2 is not compatible with libc++ atm, in particular EH interop is 
>> broken and the robin-map implementation is non-header-only with libc++, 
>> which is why you are seeing missing symbols. I am semi-actively working on 
>> that (#142 in libobjc2)
>> 
>> Cheers,
>> 
>> Niels
>> --
>> Sent on the road
>> 
>>>> Am 05.03.2020 um 12:55 schrieb Andreas Fink <afink@list.fink.org>:
>>> 
>>> ok the segfaults was just the wrong linker again.
>>> 
>>> export LDFLAGS="-fuse-ld=/usr/bin/ld.gold"
>>> 
>>> was missing.
>>> 
>>> 
>>> Now everything compiles, the gnustep tests all pass (except some minor 
>>> issues with date formats)
>>> However if I build my applications, I get undefined references to   
>>> cxa_guard_release. This is some C++ stufff. I dont use C++ or ObjC++ in my 
>>> code anywhere. Never the less there are some linking against it from 3 
>>> libraries I have. These all have something in comon
>>> Apparently libobjc2  has a reference to cxa_guard_release but I'm not sure 
>>> why its not properly linked against if it needs it.
>>> 
>>> I'm compiling with clang-11 from the llvm repo and this uses libc++ not 
>>> libstdc++ now I believe.
>>> So probably a few cflags to be added. Any hint anyone?
>>> 
>>> 
>>>>> On 5 Mar 2020, at 12:04, Wolfgang Lux <wolfgang.lux@gmail.com> wrote:
>>>>>>> Am 05.03.2020 um 11:21 schrieb Andreas Fink <afink@list.fink.org>:
>>>>>> CMakeFiles/objc.dir/libstdcxx_current_primary_exception.cc.o
>>>>>> /Users/afink/development/gnustep/libobjc2/arc.mm:6:10: fatal error: 
>>>>>> 'third_party/robin-map/include/tsl/robin_map.h' file not found
>>>>>> #include "third_party/robin-map/include/tsl/robin_map.h"
>>>>>>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>> 1 error generated.
>>>>>> make[2]: *** [CMakeFiles/objc.dir/build.make:411: 
>>>>>> CMakeFiles/objc.dir/arc.mm.o] Error 1
>>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>>> [ 16%] Linking CXX static library libobjc.a
>>>>>> make[1]: *** [CMakeFiles/Makefile2:484: CMakeFiles/objc.dir/all] Error 2
>>>>>> make[1]: *** Waiting for unfinished jobs....
>>>>>> [ 16%] Built target objc-static
>>>>>> make: *** [Makefile:163: all] Error 2
>>>>>> Can anyone hint where this file should come from?
>>>> Those files are coming from a submodule. IIRC, you need to execute
>>>> git submodule init
>>>> once in your clone.
>>>> Wolfgang
> 
> 

reply via email to

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