networking: compilation error on ubuntu 24
Radoslav Kolev
radoslav.kolev at suse.com
Fri May 23 05:37:00 UTC 2025
The reason is that the CBQ queuing discipline was removed from the Linux
kernel some time ago.
I you want to keep the tc command you can try this patch:
https://build.opensuse.org/projects/openSUSE:Factory/packages/busybox/files/tc-no-TCA_CBQ.patch?expand=1
Regards,
Radoslav
On Fri, May 23, 2025 at 7:33 AM Abothula Pavan Kumar <
pavankumar14000 at gmail.com> wrote:
> Thank you Jeff, it worked.
>
> On Thu, 22 May 2025 at 22:56, Jeff Pohlmeyer <yetanothergeek at gmail.com>
> wrote:
>
>> As a workaround, you can try disabling "tc". (Under networking->tc in
>> menuconfig, or CONFIG_TC in .config).
>> - Jeff
>>
>>
>> On Thu, May 22, 2025 at 12:08 PM Abothula Pavan Kumar
>> <pavankumar14000 at gmail.com> wrote:
>> >
>> > Hi,
>> > I'm running into multiple errors while trying to build busybox v1.36.1
>> on Ubuntu 24.04.
>> >
>> > CC coreutils/realpath.o
>> > networking/tc.c: In function ‘cbq_print_opt’:
>> > networking/tc.c:236:27: error: ‘TCA_CBQ_MAX’ undeclared (first use in
>> this function); did you mean ‘TCA_CBS_MAX’?
>> > 236 | struct rtattr *tb[TCA_CBQ_MAX+1];
>> > | ^~~~~~~~~~~
>> > | TCA_CBS_MAX
>> > networking/tc.c:236:27: note: each undeclared identifier is reported
>> only once for each function it appears in
>> > miscutils/watchdog.c: In function ‘watchdog_main’:
>> > CC util-linux/volume_id/ubifs.o
>> > miscutils/watchdog.c:161:17: warning: ignoring return value of ‘write’
>> declared with attribute ‘warn_unused_result’ [-Wunused-result]
>> > 161 | write(3, "", 1); /* write zero byte */
>> > | ^~~~~~~~~~~~~~~
>> > miscutils/watchdog.c: In function ‘shutdown_watchdog’:
>> > miscutils/watchdog.c:71:9: warning: ignoring return value of ‘write’
>> declared with attribute ‘warn_unused_result’ [-Wunused-result]
>> > 71 | write(3, &V, 1); /* Magic, see watchdog-api.txt in
>> kernel */
>> > | ^~~~~~~~~~~~~~~
>> > CC libbb/get_volsize.o
>> > networking/tc.c:249:16: error: ‘TCA_CBQ_RATE’ undeclared (first use in
>> this function); did you mean ‘TCA_TBF_RATE64’?
>> > 249 | if (tb[TCA_CBQ_RATE]) {
>> > | ^~~~~~~~~~~~
>> > | TCA_TBF_RATE64
>> > CC coreutils/rm.o
>> > CC networking/tcpudp_perhost.o
>> > CC util-linux/hwclock.o
>> > CC util-linux/volume_id/udf.o
>> > networking/tc.c:255:16: error: ‘TCA_CBQ_LSSOPT’ undeclared (first use
>> in this function)
>> > 255 | if (tb[TCA_CBQ_LSSOPT]) {
>> > | ^~~~~~~~~~~~~~
>> > networking/tc.c:256:61: error: invalid application of ‘sizeof’ to
>> incomplete type ‘struct tc_cbq_lssopt’
>> > 256 | if (RTA_PAYLOAD(tb[TCA_CBQ_LSSOPT]) <
>> sizeof(*lss))
>> > | ^
>> > CC util-linux/volume_id/util.o
>> > CC libbb/getopt32.o
>> > networking/tc.c:261:16: error: ‘TCA_CBQ_WRROPT’ undeclared (first use
>> in this function)
>> > 261 | if (tb[TCA_CBQ_WRROPT]) {
>> > | ^~~~~~~~~~~~~~
>> > networking/tc.c:262:61: error: invalid application of ‘sizeof’ to
>> incomplete type ‘struct tc_cbq_wrropt’
>> > 262 | if (RTA_PAYLOAD(tb[TCA_CBQ_WRROPT]) <
>> sizeof(*wrr))
>> > | ^
>> > AR miscutils/lib.a
>> > networking/tc.c:267:16: error: ‘TCA_CBQ_FOPT’ undeclared (first use in
>> this function)
>> > 267 | if (tb[TCA_CBQ_FOPT]) {
>> > | ^~~~~~~~~~~~
>> > CC networking/telnet.o
>> > networking/tc.c:268:59: error: invalid application of ‘sizeof’ to
>> incomplete type ‘struct tc_cbq_fopt’
>> > 268 | if (RTA_PAYLOAD(tb[TCA_CBQ_FOPT]) <
>> sizeof(*fopt))
>> > | ^
>> > CC util-linux/ionice.o
>> > networking/tc.c:273:16: error: ‘TCA_CBQ_OVL_STRATEGY’ undeclared (first
>> use in this function)
>> > 273 | if (tb[TCA_CBQ_OVL_STRATEGY]) {
>> > | ^~~~~~~~~~~~~~~~~~~~
>> > CC networking/telnetd.o
>> > networking/tc.c:274:67: error: invalid application of ‘sizeof’ to
>> incomplete type ‘struct tc_cbq_ovl’
>> > 274 | if (RTA_PAYLOAD(tb[TCA_CBQ_OVL_STRATEGY]) <
>> sizeof(*ovl))
>> > |
>> ^
>> > networking/tc.c:277:50: error: invalid application of ‘sizeof’ to
>> incomplete type ‘struct tc_cbq_ovl’
>> > 277 | (unsigned) sizeof(*ovl));
>> > | ^
>> > networking/tc.c:293:23: error: invalid use of undefined type ‘struct
>> tc_cbq_lssopt’
>> > 293 | if (lss && lss->flags) {
>> > | ^~
>> > networking/tc.c:296:24: error: invalid use of undefined type ‘struct
>> tc_cbq_lssopt’
>> > 296 | if (lss->flags&TCF_CBQ_LSS_BOUNDED) {
>> > | ^~
>> > CC util-linux/volume_id/volume_id.o
>> > networking/tc.c:296:32: error: ‘TCF_CBQ_LSS_BOUNDED’ undeclared (first
>> use in this function)
>> > 296 | if (lss->flags&TCF_CBQ_LSS_BOUNDED) {
>> > | ^~~~~~~~~~~~~~~~~~~
>> > networking/tc.c:300:24: error: invalid use of undefined type ‘struct
>> tc_cbq_lssopt’
>> > 300 | if (lss->flags&TCF_CBQ_LSS_ISOLATED) {
>> > | ^~
>> > CC libbb/getopt_allopts.o
>> > networking/tc.c:300:32: error: ‘TCF_CBQ_LSS_ISOLATED’ undeclared (first
>> use in this function)
>> > 300 | if (lss->flags&TCF_CBQ_LSS_ISOLATED) {
>> > | ^~~~~~~~~~~~~~~~~~~~
>> > networking/tc.c:308:24: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 308 | if (wrr->priority != TC_CBQ_MAXPRIO)
>> > | ^~
>> > CC util-linux/ipcrm.o
>> > CC util-linux/volume_id/xfs.o
>> > CC networking/tftp.o
>> > networking/tc.c:308:38: error: ‘TC_CBQ_MAXPRIO’ undeclared (first use
>> in this function)
>> > 308 | if (wrr->priority != TC_CBQ_MAXPRIO)
>> > | ^~~~~~~~~~~~~~
>> > networking/tc.c:309:46: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 309 | printf("prio %u", wrr->priority);
>> > | ^~
>> > networking/tc.c:313:43: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 313 | printf("/%u ", wrr->cpriority);
>> > | ^~
>> > networking/tc.c:314:32: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 314 | if (wrr->weight != 1) {
>> > | ^~
>> > networking/tc.c:315:65: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 315 | print_rate(buf, sizeof(buf),
>> wrr->weight);
>> > |
>> ^~
>> > networking/tc.c:318:32: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 318 | if (wrr->allot)
>> > | ^~
>> > networking/tc.c:319:57: error: invalid use of undefined type ‘struct
>> tc_cbq_wrropt’
>> > 319 | printf("allot %ub ",
>> wrr->allot);
>> > | ^~
>> > networking/tc.c:236:24: warning: unused variable ‘tb’
>> [-Wunused-variable]
>> > 236 | struct rtattr *tb[TCA_CBQ_MAX+1];
>> > | ^~
>> > CC coreutils/rmdir.o
>> > make[1]: *** [scripts/Makefile.build:197: networking/tc.o] Error 1
>> > make[1]: *** Waiting for unfinished jobs....
>> >
>> > not really sure what's missing. any help would be appreciated !
>> >
>> >
>> > Thank you,
>> >
>> > Pavan Kumar
>> >
>> > _______________________________________________
>> > busybox mailing list
>> > busybox at busybox.net
>> > https://lists.busybox.net/mailman/listinfo/busybox
>>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> https://lists.busybox.net/mailman/listinfo/busybox
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20250523/f858bdbd/attachment.htm>
More information about the busybox
mailing list