[build2] build2 not Compiling on Raspberry Pi ARMv7 Architecture
Boris Kolpackov
boris at codesynthesis.com
Thu Jul 16 19:30:11 UTC 2020
Markus Pawellek <markus.pawellek at mailbox.org> writes:
> I am using a Raspberry Pi Model 3B with Raspbian
> and GCC version 8.3.0 for some home projects
I am also pretty sure you are using 32-bit Raspbian.
> and I wanted to use build2 as the build system for my code.
> But the compilation of build2 fails with the following error messages.
>
> In file included from libbuild2/utility.cxx:12:
> ./libbuild2/target.hxx:1502:4: error: #error timestamp is not lock-free on this architecture
> # error timestamp is not lock-free on this architecture
The problem here is that on 32-bit ARM atomic 64-bit integer operations
are not lock-free. There are three ways to fix this:
1. Run in the 64-bit mode. I've heard there is now 64-bit Raspbian.
2. Force use of non-lock-free atomics by defining the
LIBBUILD2_ATOMIC_NON_LOCK_FREE macro (you will need to perform
a custom bootstrap to pass the relevant -D option in all the places).
This will also most likely result in pretty poor performance.
3. We could implement a 32-bit based spin-lock for this case but I am
wondering if it's worth the complexity.
More information about the users
mailing list