Migrating from -current to stable/12 on RPI2B (ARMv7)
Mark Millard
marklmi at yahoo.com
Mon Dec 28 22:04:53 UTC 2020
On 2020-Dec-28, at 13:19, Mark Millard <marklmi at yahoo.com> wrote:
> On 2020-Dec-28, at 12:55, Mark Millard <marklmi at yahoo.com> wrote:
>>
>>
>> On 2020-Dec-28, at 12:07, Mark Millard <marklmi at yahoo.com> wrote:
>>
>>
>>> On 2020-Dec-28, at 10:56, bob prohaska <fbsd at www.zefox.net> wrote:
>>>
>>>> On Sun, Dec 27, 2020 at 10:10:18PM -0800, Mark Millard wrote:
>>>>>
>>>>>
>>>>> On 2020-Dec-27, at 20:48, bob prohaska <fbsd at www.zefox.net> wrote:
>>>>>
>>>>>> . . .
>>>>>
>>>> I didn't know about LDFLAGS, but a re-try with
>>>> -j1 and LDFLAGS.lld+= -Wl,--threads=1
>>>> (apparently the syntax changed) in /etc/make.conf
>>>> promptly reproduced the error.
>>>
>>> Hmm. It been a while since I did a native build instead of a
>>> cross build. The cross build context has RAM and does not
>>> use the assignment so I'd not noticed.
>>>
>>> Thanks for the report!
>>
>> lld for LLVM 10 always had --no-threads as I now understand
>> and stable/12 still has/uses/needs LLVM 10.0.1 (with
>> updates).
>>
>> That means that lld from LLVM 11 was in use (FreeBSD
>> 13's system ld). The build was probably trying to build
>> some LLVM 10.0.1 final+ materials for bootstrap style
>> build use in later build stages (older FreeBSD targeting).
>> It likely had not gotten to the stage of building freebsd
>> stable/12 material itself.
>>
>> Attempting to build devel/llvm10 might well have the same
>> issue without having to involve an extra FreeBSD source
>> tree or build.
>
> There is another gotcha-issue with the change from --no-threads
> to --threads=1 based on neither working for both 10.0.x and
> 11.0.y: which ever one is listed in /etc/make.conf (say) will be
> wrong for other one of:
>
> A) building the bootstrap toolchain
> B) using the bootstrap toolchain
>
> The LDFLAGS.lld definition would need to be conditional on the
> distinction in order to be correct inside each type of context.
I've started an experiment going another direction: an armv7
context with lots of RAM (and faster processing) with a
13 attempting to build a stable/12 . It is via a chroot into
an armv7 13 world on a 8 GiByte, 4-core Cortex-A57 based
OverDrive 1000 running aarch64 13. Each process should still
be limited to what 32-bit systems allow but overall the
system is not that limited. I used -j4 .
If such still got the error, then there would likely be
implications about the error and it would be unlikely
that it would work on the RPi2 v1.1 . (But I expect that
it will not get the error.)
Root owns file system involved and is doing the build.
It did report:
make[1]: "/usr/fbsd/stable-12-src/Makefile.inc1" line 344: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler.
make[1]: "/usr/fbsd/stable-12-src/Makefile.inc1" line 349: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker.
I already had a stable-12-src branch from git experiments
but the matching worktree was missing despite being still
registered. So the worktree recreation was:
# git worktree add -f ../stable-12-src stable-12-src
Preparing worktree (checking out 'stable-12-src')
Updating files: 100% (81363/81363), done.
HEAD is now at f4d0bc6aa6b9 MFC r354991-r354992 (by lwhsu)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-arm
mailing list