Es lief über tools/zx (oder whatever) hinaus, wo der Aufruf direkt auf dem Buildhost und auch meinem Desktop hängenblieb. Bau in einer VM macht das Ganze ja nicht schneller, daher reichte das zumindest als Pointer, es mal mit 'nem Container zu versuchen.
Ja, das habe ich auch ein oder zweimal geschafft, siehe oben. Nach eimem „rm -rf gluon-build“ allerdings war kein Bau mehr möglich, ich lande immer wieder beim „autoconf“-Problem.
Jenes bereitet auch nur die Umgebung vor; für Docker sind doch nur die darin erzeugten docker-build-env
& docker-build.sh
sowie der Docker-Aufruf relevant? Anyway, ich hab’s mal um Pfadabhängigkeiten weiter bereingt und hochgeladen — enter at your own risk.
Frisch ausprobiert:
Build log
wusel@cohen:/media/wusel/temp-20230713/wusel/build$ git clone https://github.com/ffgtso/gln-bld-env.git
wusel@cohen:/media/wusel/temp-20230713/wusel/build$ cd gln-bld-env/
wusel@cohen:/media/wusel/temp-20230713/wusel/build/gln-bld-env$ cd docker
wusel@cohen:/media/wusel/temp-20230713/wusel/build/gln-bld-env/docker$ docker build --no-cache --force-rm --quiet --file ./Dockerfile_v2023.1 -t gluon-docker:v2023.1 .
wusel@cohen:/media/wusel/temp-20230713/wusel/build/gln-bld-env/docker$ cd ..
wusel@cohen:/media/wusel/temp-20230713/wusel/build/gln-bld-env$ cd ..
wusel@cohen:/media/wusel/temp-20230713/wusel/build$ time gln-bld-env/mk-ffbog-2023_2-docker.sh
[…]
There seems to be no Makefile in this directory.
You must run ./configure before running 'make'.
make[5]: *** [GNUmakefile:108: abort-due-to-no-makefile] Error 1
make[4]: [Makefile:67: /gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/build_dir/host/libtool-2.4.7/.prepared5eeca6933dbb4a5b9720f5f45dbcd718_6664517399ebbbc92a37c5bb081b5c53] Error 2 (ignored)
bootstrap: error: '/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/staging_dir/host/bin/autoconf' version == 1.6.0 is too old
bootstrap: '/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/staging_dir/host/bin/autoconf' version >= 2.64 is required
bootstrap: error: Program Min_version Homepage
bootstrap: -----------------------------------------------------------
bootstrap: help2man 1.29 http://www.gnu.org/s/help2man
bootstrap: make 3.81 http://www.gnu.org/s/make
bootstrap: makeinfo 4.8 http://www.gnu.org/s/texinfo
bootstrap: xz 4.999.8beta http://tukaani.org/xz
bootstrap: autoconf 2.64 http://www.gnu.org/s/autoconf
bootstrap: automake 1.11.1 http://www.gnu.org/s/automake
bootstrap: -----------------------------------------------------------
make[4]: *** [Makefile:69: /gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/build_dir/host/libtool-2.4.7/.prepared5eeca6933dbb4a5b9720f5f45dbcd718_6664517399ebbbc92a37c5bb081b5c53] Error 1
make[3]: *** [tools/Makefile:226: tools/libtool/compile] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/include/toplevel.mk:232: tools/install] Error 2
make[1]: *** [Makefile:169: openwrt/staging_dir/hostpkg/bin/lua] Error 2
Done building target ath79-generic with RC 2
*** Bailing out.
Copying new opkg keys to /gluon/build/.key-build
cp: cannot stat 'gluon-build/openwrt/key-build*': No such file or directory
make: *** [Makefile:150: build] Error 1
real 17m48,781s
user 0m0,499s
sys 0m0,207s
Danke dafür; ich kämpfe damit leider schon Wochen. Spätenstens mit Docker sehe ich den Grund aber nicht mehr bei mir … Ok, vieleicht halte ich es falsch (aber auch mit 1x statt 3x soviele Jobs wie Cores besteht das Problem auch), aber sauber reproduzierbar ist der Imagebau für mich nicht, es ist eher eine Wundertüte
Mit time gln-bld-env/mk-ffbog-2023_2-docker.sh
bei mir leider bislang zu100%.
Build log
ffgt@fflip-ber02:/var/lib/one/datastores/build$ (cd gln-bld-env/docker/ ; docker build --no-cache --force-rm --quiet --file ./Dockerfile_v2023.1 -t gluon-docker:v2023.1 .)
sha256:daeafe893e8bc5a207c73f7bb8e8535707c3adc7dcf8ebdec666172237b3c1b5
ffgt@fflip-ber02:/var/lib/one/datastores/build$ echo "72" >buildnumber.txt
ffgt@fflip-ber02:/var/lib/one/datastores/build$ time gln-bld-env/mk-ffbog-2023_2-docker.sh
Cloning into 'site-ffgt'...
remote: Enumerating objects: 2027, done.
remote: Counting objects: 100% (2027/2027), done.
remote: Compressing objects: 100% (873/873), done.
remote: Total 2027 (delta 1193), reused 1968 (delta 1134), pack-reused 0
Receiving objects: 100% (2027/2027), 510.15 KiB | 5.31 MiB/s, done.
Resolving deltas: 100% (1193/1193), done.
Cloning into 'ffgt_packages-v2020.1'...
remote: Enumerating objects: 4896, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 4896 (delta 252), reused 245 (delta 245), pack-reused 4638
Receiving objects: 100% (4896/4896), 508.45 KiB | 6.69 MiB/s, done.
Resolving deltas: 100% (1604/1604), done.
#########################
# 4830 Firmware build
# building release '1.6.0~72'
#########################
# MAKEFLAGS:
# -j72 --no-print-directory --output-sync
#########################
# git url: https://github.com/freifunk-gluon/gluon.git
# git ref: 1b6ddac3c608961399c4877198dd552c12c3f07b
#########################
# Found 27 patches
#########################
mkdir -p gluon-build
Initialized empty Git repository in /gluon/ffbog-v2023.1/site-ffgt/gluon-build/.git/
mkdir -p output/
rm -rf output/*
for target in ath79-generic ath79-nand ath79-mikrotik bcm27xx-bcm2708 bcm27xx-bcm2709 ipq40xx-generic ipq40xx-mikrotik ipq806x-generic lantiq-xrx200 lantiq-xway mediatek-mt7622 mpc85xx-p1010 mpc85xx-p1020 ramips-mt7620 ramips-mt7621 ramips-mt76x8 rockchip-armv8 sunxi-cortexa7 x86-generic x86-geode x86-legacy x86-64 mediatek-filogic; do touch build_${target}.log ; rm build_${target}.log ; done
[…]
curve25519/curve25519.c:3498:57: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
3498 | void x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t *a) {
| ~~~~~~~~~~~~~~~^
There seems to be no Makefile in this directory.
In file included from curve25519/curve25519.c:34:
curve25519/curve25519_internal.h:85:56: note: previously declared as an array 'const uint8_t[32]' {aka 'const unsigned char[32]'}
85 | void x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t a[32]);
| ~~~~~~~~~~~~~~^~~~~
You must run ./configure before running 'make'.
make[5]: *** [GNUmakefile:108: abort-due-to-no-makefile] Error 1
make[4]: [Makefile:67: /gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/build_dir/host/libtool-2.4.7/.preparedba7aa0ac530c32267d6766958a176b01_6664517399ebbbc92a37c5bb081b5c53] Error 2 (ignored)
bootstrap: error: '/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/staging_dir/host/bin/autoconf' version == 1.6.0 is too old
bootstrap: '/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/staging_dir/host/bin/autoconf' version >= 2.64 is required
bootstrap: error: Program Min_version Homepage
bootstrap: -----------------------------------------------------------
bootstrap: help2man 1.29 http://www.gnu.org/s/help2man
bootstrap: make 3.81 http://www.gnu.org/s/make
bootstrap: makeinfo 4.8 http://www.gnu.org/s/texinfo
bootstrap: xz 4.999.8beta http://tukaani.org/xz
bootstrap: autoconf 2.64 http://www.gnu.org/s/autoconf
bootstrap: automake 1.11.1 http://www.gnu.org/s/automake
bootstrap: -----------------------------------------------------------
make[4]: *** [Makefile:69: /gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/build_dir/host/libtool-2.4.7/.preparedba7aa0ac530c32267d6766958a176b01_6664517399ebbbc92a37c5bb081b5c53] Error 1
make[3]: *** [tools/Makefile:226: tools/libtool/compile] Error 1
make[3]: *** Waiting for unfinished jobs....
[…]
/usr/bin/ld: netcat.o: in function `main':
netcat.c:(.text.startup+0x15e1): warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
make[2]: *** [/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/include/toplevel.mk:232: tools/install] Error 2
make[1]: *** [Makefile:169: openwrt/staging_dir/hostpkg/bin/lua] Error 2
Done building target ath79-generic with RC 2
*** Bailing out.
Copying new opkg keys to /gluon/build/.key-build
cp: cannot stat 'gluon-build/openwrt/key-build*': No such file or directory
make: *** [Makefile:150: build] Error 1
real 11m34.517s
user 0m0.739s
sys 0m0.367s
Wieso '/gluon/ffbog-v2023.1/site-ffgt/gluon-build/openwrt/staging_dir/host/bin/autoconf' version == 1.6.0 is too old
aber autoconf 2.64
? Race condition bei zuvielen Jobs? Würde zumindest auch »There seems to be no Makefile in this directory.« erklären?
EDIT: Nope. Auch bei nur 4 Jobs bricht das ins Essen.