9

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.

  • 10
    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 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 at 17:16
23

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.

  • 12
    @PavelSayekat Using a firewall not specifically written for Linux? – Kusalananda Feb 5 at 9:59
  • 5
    @PavelSayekat You can always port the libraries/programs to hurd. Happy coding for the next few years! – Giacomo Alzetta Feb 5 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 at 16:33
  • 4
    @mirabilos unless someone adds “kernel” support on the Hurd too ;-). – Stephen Kitt Feb 5 at 16:35
  • 1
    @mirabilos I know, which is why I put the term “kernel” in quotes. And yes, porting iptables would be rather pointless, it’s already in the past... – Stephen Kitt Feb 5 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.