Re: Weird bug (maybe in clang - inetd.c does not compile without INET6)
Milan Obuch <[email protected]>
| Newsgroups | gmane.os.freebsd.stable |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 17 Aug 2026 11:01:12 +0200 Dimitry Andric <[email protected]> wrote: > 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. > I was just trying to pinpoint the issue. I did not understand everything at start, I just did see a breakage. I tried to find the exact point where it occured. > > 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. :) Quote from above: > /usr/src/usr.sbin/inetd/inetd.c:1365:44: error: variable 'nbuf2' is > uninitialized when passed as a const pointer argument here It clearly states 'error' and build process is stopped here. It is not a harmless warning basically not affecting the process... Regards, Milan