[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Debian 11/Clang 11 issues compiling...
From: |
Andreas Fink |
Subject: |
Re: Debian 11/Clang 11 issues compiling... |
Date: |
Tue, 14 Sep 2021 01:04:35 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:52.0) Gecko/20100101 PostboxApp/7.0.49 |
actually my issue from earlier today waas something else (some improper
locking)
I did have issues on debian 11 with the latest clang version. Going
with the one which comes with the box was ok but the one from llvm.org
repo gave me issues.
I remember I had to compile things twice. The first attempt failed
miserably. make check or make test will go nuts...
So its maybe a issue between libobjc2 and libdispatch and gnustep-base.
that they circulalry depend on each other and fail when libobjc 1.0 is
first referred.
Or I simply didnt had my environment variables set properly on my first
attempt. I cant figure it out but I have seen similar issues with
Debian10 when built for the first time on a empty machine.
Debian rule #1 is to ALWAY use the gold linker.
I usually do this by a symlink:
cd /usr/bin
mv ld ld.old
ln -s ld.gold ld
(ld originally points to x86_64-linux-gnu-ld instead of
x86_64-linux-gnu-ld.gold )
Debian rule #2 is to always use clang (version 8 or newer)
If you dont use the gold version and/or clang version 7 or older. you
will see failures due to misaligned datastructures (it optimized things
away it shoudlnt)). Thats a quite late failure which will bite you very
hard and makes your head twist. Because it looks like it "kinda" works
but then does all kinds of strange arbitrary things. Properties return
data from other places than they shuld and you get rubbish data etc.
my debian11 binaries where built with Debian clang version 11.0.1-2
my debian 10 binaries where built with Debian clang version
10.0.1-++20210313014605+ef32c611aa21-1~exp1~20210313125208.190
these are the packages I have built for Debian11 (x86-64)
gnustep-base-1.28.0_amd64.deb
gnustep-corebase-0.2.1_amd64.deb
gnustep-make-2.9.0_amd64.deb
libdispatch-5.5.0_amd64.deb
libiconv-1.16.0_amd64.deb
libobjc2-2.1.0_amd64.deb
You can download them from:
http://repo.universalss7.com/debian/dists/bullseye/universalss7/binary-amd64/
the way I have built these is documented here:
https://github.com/andreasfink/ulib/blob/master/doc/README-Debian11-bullseye.txt
I didnt get to the gui & back part because I dont need them for my apps.
Generally if gnustep-base tests passes, then the rest is a piece of cake.
the GUI part originally gave me an issue in Debian 11. Can't remember
what it was.
Riccardo Mottola wrote on 14.09.21 00:19:
> Hi,
>
> Gregory Casamento wrote:
>>
>> I seem to be having an issue building GNUstep using clang-11 on
>> Debian 11. I am attaching the debug files to this email...
>>
>> I am going to report this on the clang bugtracker as soon as they
>> give me access.
>
>
> base/gui/back compile with clang-12. Perhaps there is a bug fixed in
> later versions? Maybe they can backport it to 11.x
>
> Riccardo
>