10

I was trying to compile libnetfilter_conntrack source from github as it was requested by iptables while compiling iptables and as any of these were not available in the HURD software repo and ended up in an error while configuring libnetfilter_conntrack

checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether ln -s works... yes
configure: error: Linux only, dude!

and my kernel is,

$ uname -a
GNU debian 0.9 GNU-Mach 1.8+git20190109-486/Hurd-0.9 i686-AT386 GNU

and my ultimate goal was to compile iproute2.

2
  • 11
    The matter here is not the difference between compiling on Hurd and Linux: Is that you are trying to compile a Linux-only firewall and lib on another OS.
    – user34720
    Feb 5, 2019 at 11:19
  • 1
    Perhaps what you are looking for is a new program on the GNU/Hurd whose command-line interface is similar to that of the programs iptables and iproute2. This may be possible as the networks (IPv4 and IPv6) that are being configured are similar. In that case look at the source of the equivalent programs on the GNU/Hurd and write a new command-line interface for them.
    – Kapil
    Feb 5, 2019 at 17:16

1 Answer 1

25

In general, it’s not very different; there are lists of known pitfalls on the Hurd’s site and on the Debian wiki. Many projects build fine, or after a few fixes (the most common issue being the absence of PATH_MAX).

However in your case you’ll find it difficult to get anywhere: netfilter and iptables are specific to the Linux kernel, so you won’t be able to use them on the Hurd. You’ll probably have noticed that the iptables package isn’t available on hurd-i386 — there’s usually a good reason for that... iproute2 is also Linux-specific.

On the Hurd you’d use eth-filter instead, see the networking section of the Debian GNU/Hurd configuration guide for details.

6
  • 12
    @PavelSayekat Using a firewall not specifically written for Linux?
    – Kusalananda
    Feb 5, 2019 at 9:59
  • 5
    @PavelSayekat You can always port the libraries/programs to hurd. Happy coding for the next few years! Feb 5, 2019 at 13:34
  • 1
    @GiacomoAlzetta won’t work, because the libraries and programs are just the userspace half of the implementation; they talk to specific Linux kernel modules, so this won’t ever be possible.
    – mirabilos
    Feb 5, 2019 at 16:33
  • 4
    @mirabilos unless someone adds “kernel” support on the Hurd too ;-). Feb 5, 2019 at 16:35
  • 1
    @StephenKitt the Hurd principle would rather make that into a translator which then talks to the network translator. No kernel involved, it basically only does message passing. (Oh, and I’d rather port pf from OpenBSD than whatever Linux uses these days… ☺)
    – mirabilos
    Feb 5, 2019 at 16:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .