freifunk-gluon / gluon

a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
https://gluon.readthedocs.io
Other
551 stars 325 forks source link

builds wait for user input #2277

Closed belzebub40k closed 3 years ago

belzebub40k commented 3 years ago

Bug report

What is the problem? Builds hang and wait for user input when building.

ramips-mt76x8

make -C /home/admin/clones/gluon/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-5.4.128 KCFLAGS="-fmacro-prefix-map=/home/admin/clones/gluon/openwrt/build_dir/target-mipsel_24kc_musl=target-mipsel_24kc_musl" HOSTCFLAGS="-O2 -I/home/admin/clones/gluon/openwrt/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="mipsel-openwrt-linux-musl-" ARCH="mips" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Thu Apr 12 05:50:02 2018" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.128 CC="mipsel-openwrt-linux-musl-gcc" modules
make[6]: Entering directory '/home/admin/clones/gluon/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-5.4.128'
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
net/sched/Kconfig:45: warning: menuconfig statement without prompt
*
* Restart config...
*
*
* Pulse-Width Modulation (PWM) Support
*
Pulse-Width Modulation (PWM) Support (PWM) [Y/n/?] y
  Freescale FlexTimer Module (FTM) PWM support (PWM_FSL_FTM) [N/m/y/?] n
  MediaTek PWM support (PWM_MEDIATEK) [N/m/y/?] (NEW) 

rockchip-armv8

make -C /home/admin/clones/gluon/openwrt/build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/linux-5.4.128 KCFLAGS="-fmacro-prefix-map=/home/admin/clones/gluon/openwrt/build_dir/target-aarch64_generic_musl=target-aarch64_generic_musl" HOSTCFLAGS="-O2 -I/home/admin/clones/gluon/openwrt/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="aarch64-openwrt-linux-musl-" ARCH="arm64" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Thu Apr 12 05:50:02 2018" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.128 CC="aarch64-openwrt-linux-musl-gcc" modules
make[6]: Entering directory '/home/admin/clones/gluon/openwrt/build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/linux-5.4.128'
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
net/sched/Kconfig:45: warning: menuconfig statement without prompt
.config:6981:warning: override: USB_DWC3_HOST changes choice state
*
* Restart config...
*
*
* ARM64 Accelerated Cryptographic Algorithms
*
ARM64 Accelerated Cryptographic Algorithms (ARM64_CRYPTO) [Y/?] y
  SHA-224/SHA-256 digest algorithm for arm64 (CRYPTO_SHA256_ARM64) [N/m/y/?] n
  SHA-384/SHA-512 digest algorithm for arm64 (CRYPTO_SHA512_ARM64) [N/m/y/?] n
  SHA-1 digest algorithm (ARMv8 Crypto Extensions) (CRYPTO_SHA1_ARM64_CE) [N/m/y/?] n
  SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions) (CRYPTO_SHA2_ARM64_CE) [N/m/y/?] n
  SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions) (CRYPTO_SHA512_ARM64_CE) [N/m/y/?] n
  SHA3 digest algorithm (ARMv8.2 Crypto Extensions) (CRYPTO_SHA3_ARM64) [N/m/y/?] n
  SM3 digest algorithm (ARMv8.2 Crypto Extensions) (CRYPTO_SM3_ARM64_CE) [N/m/y/?] n
  SM4 symmetric cipher (ARMv8.2 Crypto Extensions) (CRYPTO_SM4_ARM64_CE) [N/m/y/?] n
  GHASH/AES-GCM using ARMv8 Crypto Extensions (CRYPTO_GHASH_ARM64_CE) [N/m/y/?] n
  CRCT10DIF digest algorithm using PMULL instructions (CRYPTO_CRCT10DIF_ARM64_CE) [N/m/y/?] (NEW)

sunxi-cortexa7

make -C /home/admin/clones/gluon/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/linux-5.4.128 KCFLAGS="-fmacro-prefix-map=/home/admin/clones/gluon/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi=target-arm_cortex-a7+neon-vfpv4_musl_eabi" HOSTCFLAGS="-O2 -I/home/admin/clones/gluon/openwrt/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="arm-openwrt-linux-muslgnueabi-" ARCH="arm" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Thu Apr 12 05:50:02 2018" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.128 CC="arm-openwrt-linux-muslgnueabi-gcc" modules
make[6]: Entering directory '/home/admin/clones/gluon/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/linux-5.4.128'
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
net/sched/Kconfig:45: warning: menuconfig statement without prompt
*
* Restart config...
*
*
* ARM Accelerated Cryptographic Algorithms
*
ARM Accelerated Cryptographic Algorithms (ARM_CRYPTO) [Y/?] y
  SHA1 digest algorithm (ARM-asm) (CRYPTO_SHA1_ARM) [M/y/?] m
  SHA1 digest algorithm (ARM NEON) (CRYPTO_SHA1_ARM_NEON) [M/n/y/?] m
  SHA1 digest algorithm (ARM v8 Crypto Extensions) (CRYPTO_SHA1_ARM_CE) [N/m/y/?] n
  SHA-224/256 digest algorithm (ARM v8 Crypto Extensions) (CRYPTO_SHA2_ARM_CE) [N/m/y/?] n
  SHA-224/256 digest algorithm (ARM-asm and NEON) (CRYPTO_SHA256_ARM) [N/m/y/?] n
  SHA-384/512 digest algorithm (ARM-asm and NEON) (CRYPTO_SHA512_ARM) [M/n/y/?] m
  Scalar AES cipher for ARM (CRYPTO_AES_ARM) [N/m/y/?] n
  Bit sliced AES using NEON instructions (CRYPTO_AES_ARM_BS) [N/m/y/?] n
  Accelerated AES using ARMv8 Crypto Extensions (CRYPTO_AES_ARM_CE) [N/m/y/?] n
  PMULL-accelerated GHASH using NEON/ARMv8 Crypto Extensions (CRYPTO_GHASH_ARM_CE) [M/n/y/?] m
  CRCT10DIF digest algorithm using PMULL instructions (CRYPTO_CRCT10DIF_ARM_CE) [N/m/y/?] (NEW) 

x86-legacy

make -C /home/admin/clones/gluon/openwrt/build_dir/target-i386_pentium-mmx_musl/linux-x86_legacy/linux-5.4.128 KCFLAGS="-fmacro-prefix-map=/home/admin/clones/gluon/openwrt/build_dir/target-i386_pentium-mmx_musl=target-i386_pentium-mmx_musl" HOSTCFLAGS="-O2 -I/home/admin/clones/gluon/openwrt/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="i486-openwrt-linux-musl-" ARCH="x86" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Thu Apr 12 05:50:02 2018" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/admin/clones/gluon/openwrt/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.128 CC="i486-openwrt-linux-musl-gcc" modules
make[6]: Entering directory '/home/admin/clones/gluon/openwrt/build_dir/target-i386_pentium-mmx_musl/linux-x86_legacy/linux-5.4.128'
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  HOSTCC  scripts/kconfig/preprocess.o
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
net/sched/Kconfig:45: warning: menuconfig statement without prompt
*
* Restart config...
*
*
* X86 Platform Specific Device Drivers
*
X86 Platform Specific Device Drivers (X86_PLATFORM_DEVICES) [Y/n/?] y
  Acer Wireless Radio Control Driver (ACER_WIRELESS) [N/m/y/?] n
  Acer Aspire One temperature and fan driver (ACERHDF) [N/m/y/?] n
  Asus Laptop Extras (ASUS_LAPTOP) [N/m/y/?] n
  Dell Systems Management Base Driver (DCDBAS) [N/m/y/?] n
    Dell SMBIOS driver (DELL_SMBIOS) [N/m/y/?] n
  Dell Latitude freefall driver (ACPI SMO88XX) (DELL_SMO8800) [N/m/y/?] n
  Dell Airplane Mode Switch driver (DELL_RBTN) [N/m/y/?] n
  BIOS update support for DELL systems via sysfs (DELL_RBU) [N/m/y/?] n
  Fujitsu Laptop Extras (FUJITSU_LAPTOP) [N/m/y/?] n
  Fujitsu Tablet Extras (FUJITSU_TABLET) [N/m/y/?] n
  Fujitsu-Siemens Amilo rfkill support (AMILO_RFKILL) [N/m/y/?] n
  GPD Pocket Fan Controller support (GPD_POCKET_FAN) [N/m/y/?] n
  HP laptop accelerometer (HP_ACCEL) [N/m/y/?] n
  HP wireless button (HP_WIRELESS) [N/m/y/?] n
  MSI Laptop Extras (MSI_LAPTOP) [N/m/y/?] n
  Panasonic Laptop Extras (PANASONIC_LAPTOP) [N/m/y/?] n
  Compal (and others) Laptop Extras (COMPAL_LAPTOP) [N/m/y/?] n
  Sony Laptop Extras (SONY_LAPTOP) [N/m/y/?] n
  Lenovo IdeaPad Laptop Extras (IDEAPAD_LAPTOP) [N/m/y/?] n
  ThinkPad ACPI Laptop Extras (THINKPAD_ACPI) [N/m/y/?] n
  Thinkpad Hard Drive Active Protection System (hdaps) (SENSORS_HDAPS) [N/m/y/?] n
  Thermal Management driver for Intel menlow platform (INTEL_MENLOW) [N/m/y/?] n
  Asus Wireless Radio Control Driver (ASUS_WIRELESS) [N/m/y/?] n
  WMI (ACPI_WMI) [N/m/y/?] n
  Topstar Laptop Extras (TOPSTAR_LAPTOP) [N/m/y/?] n
  Toshiba Bluetooth RFKill switch support (TOSHIBA_BT_RFKILL) [N/m/y/?] n
  Toshiba HDD Active Protection Sensor (TOSHIBA_HAPS) [N/m/y/?] n
  CMPC Laptop Extras (ACPI_CMPC) [N/m/y/?] n
  Intel ACPI INT0002 Virtual GPIO driver (INTEL_INT0002_VGPIO) [N/m/y/?] (NEW) 

What is the expected behaviour? The build process should run without further user interaction.

Gluon Version: master (v2021.1-87-g338a831a)

Site Configuration: https://github.com/freifunk-mwu/site-ffmwu/tree/restruct

Custom patches: None

belzebub40k commented 3 years ago

Also happens on rockchip-armv8. Updated first post.

neocturne commented 3 years ago

@blocktrron was hunting down a few of these lately, however it is unclear to me how so many new ones turned up at once. We need to find a way to catch these in our CI...

mweinelt commented 3 years ago

This requires some guess work. My first one would be, that they closed stdin in the shell they're giving us?

https://superuser.com/questions/813472/how-do-i-close-stdin-in-a-shell-script https://stackoverflow.com/questions/30968734/reopen-stdout-and-stderr-after-closing-them

neocturne commented 3 years ago

stdin is probably connected to /dev/null in the CI.

I don't see a good way to detect missing config symbols with current OpenWrt:

In any case, it seems that OpenWrt doesn't care too much about missing config symbols anymore, seeing how many targets have them. Maybe instead of fixing the missing symbols, we should just add a </dev/null at the right place in the OpenWrt build system, so things don't break with V=s?

blocktrron commented 3 years ago

I'm working on a way to reproducibly trigger the failure regardloss of the presence of stdin. See my branch https://github.com/blocktrron/gluon/tree/pr-kconfig-missing