#1150382 net-tools: FTBFS with linux-libc-dev 7.3: linux/rose.h: No such file or directory

Package:
net-tools
Source:
net-tools
Description:
NET-3 networking toolkit
Submitter:
Viktor Pashaiev
Date:
2026-10-20 21:55:02 UTC
Severity:
normal
Tags:
#1150382#5
Date:
2026-10-15 17:30:40 UTC
From:
To:
Hello,

The merge request on Salsa (debian/net-tools !6) fixes this FTBFS by
building net-tools without ROSE. May I suggest a fix that keeps ROSE
support instead?

ROSE is still in use on amateur radio packet nodes, mine among them.
After its removal from Linux 7.1 the code lives on out of tree
(linux-netdev/mod-orphan) with the same user-space interface, and
Debian stable and older releases still ship kernels that include it.
With ROSE compiled out, "netstat --rose" and "route -A rose" disappear
and rose0 shows up as an unknown hardware type in ifconfig.

Only lib/rose.c depends on <linux/rose.h>. glibc ships its own
<netrose/rose.h> (and <netax25/ax25.h>), which does not depend on the
kernel headers and defines everything rose.c needs; ax25.c and netrom.c
already use <netax25/ax25.h> this way. The attached patch makes rose.c
include the glibc header when __has_include() finds it, and fall back
to <linux/rose.h> otherwise, so builds with another C library behave as
before.

It applies to 2.10-2 (offset 2 lines) and needs no change in
debian/config.h or debian/config.make. Tested on amd64 with GCC and
glibc 2.43, on the 2.10 tree with the Debian configuration:

- with an include tree from which linux/rose.h and linux/netrom.h were
removed (as in linux-libc-dev 7.3): before the patch, rose.c:41
"fatal error: linux/rose.h"; after, the whole build succeeds;
- with the normal headers: unchanged;
- on a live ROSE node (kernel 7.0): ifconfig rose0, netstat --rose and
route -A rose give the expected output;
- with musl-gcc, rose.c behaves as before the patch.

The same change has been proposed upstream as ecki/net-tools pull
request 72. Upstream disabled ROSE in its default
https://www.google.com/url?q=http://config.in&source=gmail&ust=1792171441590000&sa=E
in July
(#70); the patch does not change that default, it only lets
distributions that enable ROSE, as Debian does, keep building it.

Thanks,

Bernard Pidoux, F6BVP

#1150382#10
Date:
2026-10-18 10:48:32 UTC
From:
To:
Hello,

A short follow-up to my message of 15 October.

The fix I proposed is now merged upstream, in the master branch of
ecki/net-tools on GitHub (pull request #72, merged on 15 October by
Bernd Eckenfels):

f1cdcde rose: use the C library's <netrose/rose.h> when available
45bf997 netrom: do not return a pointer to a local buffer in NETROM_sprint()

With f1cdcde, net-tools builds with ROSE enabled whether or not
linux-libc-dev still ships linux/rose.h.
It takes <netrose/rose.h> from glibc when it is there, and falls back
to the kernel header otherwise.
I tested it with glibc, with and without linux/rose.h, and with musl.

Upstream still builds without ROSE by default.
The patch attached to my previous message is the same change as
f1cdcde, so it can be taken as is, or picked from upstream at the next
import.

73,
Bernard Pidoux, F6BVP


Le jeu. 15 oct. 2026 à 19:30, Bernard Pidoux <bernard.f6bvp@gmail.com> a écrit :