clang packaging for debian

Andreas Fink andreas at fink.org
Tue Feb 5 07:06:31 GMT 2019


PS: I tried the same with the stock clang-3.8 which is packaged in debian9

With that one building libobjc2 fails here:

# make
[  8%] Built target objc-static
[ 15%] Built target objc
[ 16%] Built target test_runtime_legacy
[ 17%] Built target ObjCXXEHInterop_legacy_optimised
[ 18%] Built target ObjCXXEHInterop_legacy
[ 18%] Built target test_runtime
[ 19%] Built target ObjCXXEHInterop_optimised
[ 19%] Built target ObjCXXEHInterop
[ 20%] Built target ForwardDeclareProtocolAccess_legacy
[ 21%] Built target ForwardDeclareProtocolAccess_optimised
[ 22%] Built target ForwardDeclareProtocolAccess
[ 23%] Built target CXXExceptions_legacy
[ 23%] Built target CXXExceptions
[ 23%] Building C object Test/CMakeFiles/category_properties_optimised.dir/category_properties.m.o
/home/user/gnustep/libobjc2/Test/category_properties.m:7:12: error: unknown property attribute 'class'
@property (class, readonly) int val2;
           ^



Andreas Fink
------------------------------------------------------------------
Paradieshofstrasse 101, 4054 Basel, Switzerland
andreas at fink.org <mailto:andreas at fink.org> https://www.fink.org <https://www.fink.org/>
Mobile: +41-78-6677333 Office: +41-61-6666330 Home: +41-61-6666345
Skype: andreasfink   Jabber/XMPP: andreas at fink.org <mailto:andreas at fink.org>    ICQ: 8239353
Twitter: @kiwi66  PGP Key: https://www.fink.org/FILES/afink-pgp.asc
------------------------------------------------------------------






> On 5 Feb 2019, at 00:54, Andreas Fink <andreas at fink.org> wrote:
> 
>> On 4 Feb 2019, at 23:20, Sylvestre Ledru <sylvestre at debian.org <mailto:sylvestre at debian.org>> wrote:
>> 
>> Hello
>> 
>> Could you please provide a simple test case with the command line used?
>> 
>> And do you get an error ?
>> 
>> Thanks,
>> 
>> S
>> 
>> 
>> 
> Hello Sylvestre
> 
> Unfortunately thats not so easy as the stuff is done in ./configure tests.
> Here is a text file where I compared the attmept to get gnustep-base compiled under debian9 (stretch). Something which used to work fine but now seems broken due to clang7 or due to clang8 (or due to libobjc2 or due to gnustep-make or gnustep-base)
> 
> So what I just did was install  a minimal VM with clang7 and another VM with clang8 and did the exact same steps on both machines to get a working gnustep base environment.
> Both fail at the end but due to different reasons which seem to be related to clang / libobjc2 runtime interworking with each other somehow.
> 
> The result is however a test case which produces a linking error at the end which I think is the problem for clang7.
> For clang8 it looks more like some internal libobjc2 initialisation [NSObject init] goes into a recursive exception.
> 
> 
> <gnustep-debian9-clang7-vs-clang8.txt>
> 
> 
> If you want me to try something out, let me know. I can also give you access to the two tests sytems. I just set up to analyze this problem.
> 
> 
> 
> # clang-7 -v
> clang version 7.0.1-svn348686-1~exp1~20190111074544.62 (branches/release_70)
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
> Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
> Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.3.0
> Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
> Candidate multilib: .;@m64
> Selected multilib: .;@m64
> 
> 
> # clang-8 -v
> clang version 8.0.0-svn352860-1~exp1~20190201121100.14 (branches/release_80)
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
> Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
> Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.3.0
> Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
> Candidate multilib: .;@m64
> Selected multilib: .;@m64
> Andreas Fink
> ------------------------------------------------------------------
> Paradieshofstrasse 101, 4054 Basel, Switzerland
> andreas at fink.org <mailto:andreas at fink.org> https://www.fink.org <https://www.fink.org/>
> Mobile: +41-78-6677333 Office: +41-61-6666330 Home: +41-61-6666345
> Skype: andreasfink   Jabber/XMPP: andreas at fink.org <mailto:andreas at fink.org>    ICQ: 8239353
> Twitter: @kiwi66  PGP Key: https://www.fink.org/FILES/afink-pgp.asc <https://www.fink.org/FILES/afink-pgp.asc>
> ------------------------------------------------------------------
> 
>> 
>> Le 04/02/2019 à 22:53, Andreas Fink a écrit :
>>> Hello
>>> 
>>> I'm having issues with clang packages for debian stretch. I'm trying to compile gnustep and always run into compilation/linking issues. Accoding to David Chisnal they have been recently fixed in clang, however I can not seem to find any package which works. Neither clang-7 nor clang-8 are able to successful compile libobjc2 and gnustep-base.
>>> 
>>> Is it possible that I'm not getting the latest version from the repo or I'm looking at the wrong location?
>>> 
>>> 
>>> I have  this in my Apt sources
>>> 
>>> 
>>> deb http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch main
>>> deb-src http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch main
>>> # 7
>>> deb http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch-7 main
>>> deb-src http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch-7 main
>>> # 8
>>> deb http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch-8 main
>>> deb-src http://apt.llvm.org/stretch/ <http://apt.llvm.org/stretch/> llvm-toolchain-stretch-8 main
>>> 
>>> 
>>> and I have installed clang-7  or clang-8 and call the tools like this.
>>> 
>>> Compiling libobjc2 seems to work but when configuring gnustep-base, it barks saying I have an old runtime which doesnt support tons of things which clang all should ahve
>>> 
>>> one of them is
>>> 
>>> config/config.non-fragile-ivars.m
>>> 
>>> which tests
>>> 
>>> 	return __has_feature(objc_nonfragile_abi) ? 0 : 1;
>>> 
>>> 
>>> which apparently returns 0. while I'm pretty sure this should be 1.
>>> 
>>> Also it claims there's no support for synchronisation or properties and the like.
>>> 
>>> 
>>> I'm trying to get a recent version compiled since 3 weeks and seem not to have any combination of compiler/libraries/runtimes getting to work.
>>> 
>>> So any hint is welcome...
>>> 
>>> 
>>> 
>>> 
>>> Andreas Fink
>>> ------------------------------------------------------------------
>>> Paradieshofstrasse 101, 4054 Basel, Switzerland
>>> andreas at fink.org <mailto:andreas at fink.org> https://www.fink.org <https://www.fink.org/>
>>> Mobile: +41-78-6677333 Office: +41-61-6666330 Home: +41-61-6666345
>>> Skype: andreasfink   Jabber/XMPP: andreas at fink.org <mailto:andreas at fink.org>    ICQ: 8239353
>>> Twitter: @kiwi66  PGP Key: https://www.fink.org/FILES/afink-pgp.asc <https://www.fink.org/FILES/afink-pgp.asc>
>>> ------------------------------------------------------------------
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Pkg-llvm-team mailing list
>>> Pkg-llvm-team at alioth-lists.debian.net <mailto:Pkg-llvm-team at alioth-lists.debian.net>
>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-llvm-team <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-llvm-team>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-llvm-team/attachments/20190205/c5d84c4d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 528 bytes
Desc: Message signed with OpenPGP
URL: <http://alioth-lists.debian.net/pipermail/pkg-llvm-team/attachments/20190205/c5d84c4d/attachment-0001.sig>


More information about the Pkg-llvm-team mailing list