Наскільки відрізняється компіляція вихідного коду в Debian GNU / Hurd від Debian GNU / Linux?


9

Я намагався зібрати libnetfilter_conntrackджерело з github так, як цього вимагали під iptablesчас компіляції iptables, і будь-який із них не був доступний у репо-програмі HURD програмного забезпечення і виявився помилкою під час налаштування.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!

і моє ядро,

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

і моєю кінцевою метою було скласти iproute2 .


11
Тут справа не в різниці між компіляцією на Hurd та Linux: Це те, що ви намагаєтесь скомпілювати лише брандмауер Linux та lib в іншій ОС.

1
Можливо, ви шукаєте нову програму в GNU / Hurd, інтерфейс командного рядка якого аналогічний інтерфейсу програм iptablesта iproute2. Це може бути можливим , оскільки мережі (IPv4 та IPv6) , які конфігуруються схожі. У цьому випадку подивіться джерело еквівалентних програм на GNU / Hurd і напишіть для них новий інтерфейс командного рядка.
Капіл

Відповіді:


24

Взагалі, це не дуже різниться; на сайті Hurd та у вікі Debian є список відомих підводних каменів . Багато проектів створюють штрафи або після кількох виправлень (найпоширенішою проблемою є відсутність PATH_MAX).

Однак у вашому випадку вам буде важко дістатися куди завгодно: netfilterі iptablesвони характерні для ядра Linux, тому ви не зможете використовувати їх на Hurd. Ви , мабуть, помітили , що пакет не доступний на - зазвичай є хороша причина для цього ... також Linux-специфічні.iptableshurd-i386iproute2

На Hurd, який ви використовуєте eth-filterзамість цього, див. Розділ про мережу в посібнику з налаштування Debian GNU / Hurd для отримання детальної інформації.


12
@PavelSayekat Використання брандмауера, спеціально не написаного для Linux?
Kusalananda

5
@PavelSayekat Ви завжди можете перенести бібліотеки / програми для перешкод. Щасливого кодування на наступні кілька років!
Джакомо Альзетта

1
@GiacomoAlzetta не працюватиме, оскільки бібліотеки та програми - лише половина програми; вони спілкуються з конкретними модулями ядра Linux, тому це ніколи не стане можливим.
mirabilos

4
@mirabilos, якщо хтось не додасть підтримку "kernel" на Hurd ;-).
Стівен Кітт

1
@StephenKitt Принцип Хард швидше перетворить його на перекладача, який потім спілкується з мережевим перекладачем. Ядро не задіяне, воно в основному лише передає повідомлення. (О, і я вважаю за краще порту pf з OpenBSD, ніж будь-який Linux використовує в наші дні… ☺)
mirabilos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.