The build seems to fail on latest OpenWrt master, apparently due to missing include of sys/select.h for musl compatibility?
The same occurs for building other variants, e.g. linux.
Could this be just an issue with the target platform (mt7620) here, which uses musl (not quite sure about others actually)?
/home/sebastian/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-12.3.0_musl/bin/mipsel-openwrt-linux-musl-gcc -DCFG_bdate="\"2023-10-10 19:49:33\"" -DCFG_commit=\"\" -DCFG_lgw1 -DCFG_linux -DCFG_logini_lvl=INFO -DCFG_no_leds -DCFG_platform=\"linux\" -DCFG_platform_linux -DCFG_ral_lgw -DCFG_tlsdebug -DCFG_variant=\"std\" -DCFG_variant_std -DCFG_version=\"2.0.6\" -DVERSION_STRING=\"2.0.6\" -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src-linux -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/_deps/mbedtls-src/include -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/_deps/mbedtls-src/3rdparty/everest/include -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/_deps/loragw-build/libloragw -I/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/_deps/loragw-src/libloragw/inc -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -msoft-float -fmacro-prefix-map=/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6=basicstation-2.0.6 -mips16 -minterlink-mips16 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DNDEBUG -std=gnu11 -Wall -O3 -MD -MT CMakeFiles/s2core.dir/src/aio.c.o -MF CMakeFiles/s2core.dir/src/aio.c.o.d -o CMakeFiles/s2core.dir/src/aio.c.o -c /home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c: In function 'aio_loop':
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:108:9: error: unknown type name 'fd_set'
108 | fd_set rdset;
| ^~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:109:9: error: unknown type name 'fd_set'
109 | fd_set wrset;
| ^~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:112:13: warning: implicit declaration of function 'FD_ZERO' [-Wimplicit-function-declaration]
112 | FD_ZERO(&rdset);
| ^~~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:128:28: error: storage size of 'timeout' isn't known
128 | struct timeval timeout;
| ^~~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:141:33: warning: implicit declaration of function 'FD_SET'; did you mean 'L_SET'? [-Wimplicit-function-declaration]
141 | if( aio->rdfn ) FD_SET(fd, &rdset);
| ^~~~~~
| L_SET
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:145:17: warning: implicit declaration of function 'select' [-Wimplicit-function-declaration]
145 | n = select(maxfd+1, &rdset, &wrset, NULL, ptimeout);
| ^~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:128:28: warning: unused variable 'timeout' [-Wunused-variable]
128 | struct timeval timeout;
| ^~~~~~~
/home/sebastian/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/basicstation-linuxpico/basicstation-2.0.6/src/aio.c:162:17: warning: implicit declaration of function 'FD_ISSET' [-Wimplicit-function-declaration]
162 | if( FD_ISSET(aio->fd, &rdset) && aio->rdfn ) {
| ^~~~~~~~
ninja: build stopped: subcommand failed.
Environment: mipsel_24kc_musl, ramips/mt7620: D-Link DWR-921 C3, master
Description:
The build seems to fail on latest OpenWrt master, apparently due to missing include of
sys/select.h
for musl compatibility? The same occurs for building other variants, e.g.linux
.Could this be just an issue with the target platform (mt7620) here, which uses
musl
(not quite sure about others actually)?