Re: Weird bug (maybe in clang - inetd.c does not compile without INET6)
Dimitry Andric <[email protected]>
| Newsgroups | gmane.os.freebsd.stable |
|---|---|
| Message-ID | <[email protected]> |
On 17 Aug 2026, at 10:21, Milan Obuch <[email protected]> wrote: > > I am building my systems from source and usually with WITHOUT_INET6 > knob among others. Partly inertia, partly minimalisation, partly > speedup. At the moment, my boxes are at 15-STABLE, last working build > is from May 30, 2026, git hash cfbe04310e254890c471f97f03dc7c3c5e9af01c > - that's with compiler > > # cc -v > FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2) > > Then new LLVM is being imported, builds do not work with error > > ---- 8< ------------------------------------------------------------ > > ===> usr.bin/clang/llvm-min-tblgen (obj,all,install) > make[3]: don't know how to make TableGen.cpp. Stop > > make[3]: stopped making "all" in /usr/src/usr.bin/clang/llvm-min-tblgen > *** Error code 2 > > Stop. > make[2]: stopped making "bootstrap-tools" in /usr/src > 0.40 real 0.16 user 0.04 sys > *** Error code 1 > > Stop. > make[1]: stopped making "buildworld" in /usr/src > *** Error code 1 > > Stop. > make: stopped making "buildworld" in /usr/src > > ---- 8< ------------------------------------------------------------ > > for commits 0008bdb8bd28d1c15670084ca63015b551a33f76, > c76ec29427955975909939e41052e19d000cf008, > 85298a854720b7e712d4500b8d6ca340f6c39dd8, > 4575fcccafed03e93f306ddd287229c4568e7280 - import was divided into more > commits. > > Next commits does not build as well, with different error: > > ---- 8< ------------------------------------------------------------ > > In file included from > /usr/src/contrib/llvm-project/libcxx/src/algorithm.cpp:9: In file > included from > /usr/src/contrib/llvm-project/libcxx/include/algorithm:1865: In file > included from > /usr/src/contrib/llvm-project/libcxx/include/__algorithm/inplace_merge.h:27: > In file included from > /usr/src/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:48: > /usr/src/contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h:9:2: > error: unterminated conditional directive 9 | #ifndef > _LIBCPP___TYPE_TRAITS_REMOVE_EXTENT_H | ^ 3 errors generated. *** > Error code 1 > > Stop. > make[4]: stopped making "all" in /usr/src/lib/libc++ > *** Error code 1 > > Stop. > make[3]: stopped making "_prebuild_libs" in /usr/src > *** Error code 1 > > Stop. > make[2]: stopped making "libraries" in /usr/src > 8.67 real 6.56 user 0.65 sys > *** Error code 1 > > Stop. > make[1]: stopped making "buildworld" in /usr/src > *** Error code 1 > > Stop. > make: stopped making "buildworld" in /usr/src > > ---- 8< ------------------------------------------------------------ > > Commits were fe97aeb6c4fb57f9cd3ae834e66d85bcb36b91ee, > cf7d88e89f1dcc1b66c3e8f327e16122d42d6a6c, > d08fb64ae2157d3bc65777589728e880e6409d72, > c1db7ad65d704e4ae81bbfe7bdaf049120d324a2 - I think with those import of > new LLVM is being finished. Yeah, don't try to build the intermediate commits. I was not able to test all possible combinations, while wrestling with git. > Now, one could expect things going back to normal, but for me, with > WITHOUT_INET6 knob in action, did not work, the error is > > ---- 8< ------------------------------------------------------------ > > ===> usr.sbin/inetd (all) > cc -target x86_64-unknown-freebsd15.1 > --sysroot=/usr/obj/usr/src/amd64.amd64/tmp > -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -DPIC -O2 -pipe > -fno-common -DLOGIN_CAP -DLIBWRAP -DIPSEC -fPIE > -ffile-prefix-map=/usr/src=/usr/src > -ffile-prefix-map=/usr/obj/usr/src=/usr/obj -MD -MF.depend.inetd.pieo > -MTinetd.pieo -std=gnu17 -Wno-format-zero-length > -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k > -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes > -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch > -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts > -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time > -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body > -Wno-string-plus-int -Wno-unused-const-variable > -Wno-error=unused-but-set-parameter > -Wno-error=cast-function-type-mismatch -Qunused-arguments -c > /usr/src/usr.sbin/inetd/inetd.c -o inetd.pieo > /usr/src/usr.sbin/inetd/inetd.c:737:26: warning: cast from 'struct > servtab *(*)(int)' to 'bi_fn_t *' (aka 'void (*)(int, struct servtab > *)') converts to incompatible function type > [-Wcast-function-type-mismatch] 737 | > sep->se_bi->bi_fn == (bi_fn_t *) tcpmux) { | > ^~~~~~~~~~~~~~~~~~ > /usr/src/usr.sbin/inetd/inetd.c:1365:44: error: variable 'nbuf2' is > uninitialized when passed as a const pointer argument here > [-Werror,-Wuninitialized-const-pointer] 1365 | > rpcb_set(sep->se_rpc_prog, i, netid2, &nbuf2); | > ^~~~~ 1 warning This just looks like a warning which is only produced when INET6 is off. I don't know much about inetd, but with #ifdef mazes something always goes wrong. :) -Dimitry