[build2] Using build2 on Raspberry Pi

Fabian Meyer fabian.meyer at posteo.de
Sun Mar 12 23:41:09 UTC 2023


Hi everybody,

just wanted to give build2 a shot on Raspberry Pi and figured out that 
it does not seem to work out of the box (I guess I could cross-compile, 
but I just want to compile on RPI for the fun of it).
Are there any plans to support this platform at some point? Not sure if 
this would be a lot of work or not, though RaspberryPi OS is just a 
Debian system running on ARM.
If I can get some support I could also have a look myself into fixing it.

Anyway here are some details:

GCC Version:

$ gcc --version
gcc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

uname output:

$uname -a
Linux raspberrypi 5.15.84-v7+ #1613 SMP Thu Jan 5 11:59:48 GMT 2023 
armv7l GNU/Linux


Output when building build2 fails (happens right at the start):

$ sh build2-install-0.16.0-a.0-stage.sh --local
+ sha256sum -b build2-install-0.16.0-a.0-stage.sh
+ curl -fLO --connect-timeout 60 --max-time 600 -sS 
https://stage.build2.org/0/toolchain.sha256

-------------------------------------------------------------------------

About to download, build, and install build2 toolchain 0.16.0-a.0 (staged).

From: https://stage.build2.org/0
Using: system-default C++ compiler

Install directory: /usr/local/
Build directory: /home/raspi/build-build2/

For options (change the installation directory, etc), run:

   sh build2-install-0.16.0-a.0-stage.sh -h

Expected installation time is approximately 11 minute(s).

Note: to install into /usr/local/ will be using sudo.

Continue? [y/n] y
+ rm -rf build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5
+ curl -fLO --connect-timeout 60 --max-time 600 --progress-bar 
https://stage.build2.org/0/0.16.0-a.0/build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar.xz 

####################################################################################################################################################################################################################################### 
100,0%
+ sha256sum -b 
build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar.xz
info: build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar.xz 
checksum verified successfully
+ xz -dk build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar.xz
+ tar -xf build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar
+ rm -f build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5.tar
+ cd build2-toolchain-0.16.0-a.0.20230307112146.63ce1aa717b5
+ build2/config.guess
info: running on armv7l-unknown-linux-gnueabihf (linux-gnueabihf)
+ ./build.sh --local -j 4 --sudo sudo --private --make gmake 
--install-dir /usr/local g++
+ cd build2
+ gmake -j 4 -f ./bootstrap.gmake CXX=g++
g++ -I./../libbutl -I. -DBUILD2_BOOTSTRAP 
-DBUILD2_HOST_TRIPLET=\"armv7l-unknown-linux-gnueabihf\" 
-finput-charset=UTF-8 -std=c++1y  -o build2/b.b.o -c build2/b.cxx
g++ -I./../libbutl -I. -DBUILD2_BOOTSTRAP 
-DBUILD2_HOST_TRIPLET=\"armv7l-unknown-linux-gnueabihf\" 
-finput-charset=UTF-8 -std=c++1y  -o 
libbuild2/adhoc-rule-buildscript.b.o -c libbuild2/adhoc-rule-buildscript.cxx
g++ -I./../libbutl -I. -DBUILD2_BOOTSTRAP 
-DBUILD2_HOST_TRIPLET=\"armv7l-unknown-linux-gnueabihf\" 
-finput-charset=UTF-8 -std=c++1y  -o libbuild2/adhoc-rule-cxx.b.o -c 
libbuild2/adhoc-rule-cxx.cxx
g++ -I./../libbutl -I. -DBUILD2_BOOTSTRAP 
-DBUILD2_HOST_TRIPLET=\"armv7l-unknown-linux-gnueabihf\" 
-finput-charset=UTF-8 -std=c++1y  -o 
libbuild2/adhoc-rule-regex-pattern.b.o -c 
libbuild2/adhoc-rule-regex-pattern.cxx
In file included from ./libbuild2/rule.hxx:12,
                  from ./libbuild2/adhoc-rule-cxx.hxx:11,
                  from libbuild2/adhoc-rule-cxx.cxx:4:
./libbuild2/target.hxx:1965:4: error: #error timestamp is not lock-free 
on this architecture
  1965 | #  error timestamp is not lock-free on this architecture
       |    ^~~~~
In file included from ./libbuild2/rule.hxx:12,
                  from ./libbuild2/adhoc-rule-regex-pattern.hxx:11,
                  from libbuild2/adhoc-rule-regex-pattern.cxx:4:
./libbuild2/target.hxx:1965:4: error: #error timestamp is not lock-free 
on this architecture
       |    ^~~~~
In file included from ./libbuild2/rule.hxx:12,
                  from ./libbuild2/adhoc-rule-buildscript.hxx:11,
                  from libbuild2/adhoc-rule-buildscript.cxx:4:
./libbuild2/target.hxx:1965:4: error: #error timestamp is not lock-free 
on this architecture
  1965 | #  error timestamp is not lock-free on this architecture
       |    ^~~~~
In file included from ./libbuild2/file.hxx:12,
                  from build2/b.cxx:21:
./libbuild2/target.hxx:1965:4: error: #error timestamp is not lock-free 
on this architecture
  1965 | #  error timestamp is not lock-free on this architecture
       |    ^~~~~
gmake: *** [bootstrap.gmake:196: libbuild2/adhoc-rule-cxx.b.o] Error 1
gmake: *** Waiting for unfinished jobs....
gmake: *** [bootstrap.gmake:193: build2/b.b.o] Error 1
gmake: *** [bootstrap.gmake:196: libbuild2/adhoc-rule-regex-pattern.b.o] 
Error 1
gmake: *** [bootstrap.gmake:196: libbuild2/adhoc-rule-buildscript.b.o] 
Error 1



More information about the users mailing list