Czym różni się kompilacja kodu źródłowego w Debian GNU / Hurd od Debian GNU / Linux?

9

Próbowałem skompilować libnetfilter_conntrackźródło z github, ponieważ zażądano tego iptablespodczas kompilacji iptables i ponieważ żadne z nich nie było dostępne w repozytorium oprogramowania HURD i zakończyłem się błędem podczas konfigurowanialibnetfilter_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!

a moje jądro jest,

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

a moim ostatecznym celem było skompilowanie iproute2 .

Pavel Sayekat
źródło
11
Nie ma tutaj różnicy między kompilacją na Hurd i Linuksie: czy próbujesz skompilować zaporę i bibliotekę tylko dla Linuksa na innym systemie operacyjnym.
1
Być może to, czego szukasz, to nowy program na GNU / Hurd, którego interfejs wiersza poleceń jest podobny do interfejsu programów iptablesi iproute2. Może to być możliwe, ponieważ konfigurowane sieci (IPv4 i IPv6) są podobne. W takim przypadku spójrz na źródło równoważnych programów na GNU / Hurd i napisz dla nich nowy interfejs wiersza poleceń.
Kapil

Odpowiedzi:

24

Ogólnie rzecz biorąc, nie różni się bardzo; istnieją listy znanych pułapek na stronie Hurda i na wiki Debiana . Wiele projektów buduje się dobrze lub po kilku poprawkach (najczęstszym problemem jest brak PATH_MAX).

Jednak w twoim przypadku trudno będzie dostać się nigdzie: netfilteri iptablessą one specyficzne dla jądra Linuksa, więc nie będziesz mógł ich używać w Hurd. Pewnie zauważyliście, że pakiet nie jest dostępny na - jest zwykle dobrym powodem, że ... jest również specyficzne dla Linuksa.iptableshurd-i386iproute2

W przypadku Hurda, którego chcesz użyć eth-filter, zobacz sekcję dotyczącą sieci w Przewodniku konfiguracji Debian GNU / Hurd, aby uzyskać szczegółowe informacje.

Stephen Kitt
źródło
12
@PavelSayekat Używasz zapory ogniowej nie napisanej specjalnie dla systemu Linux?
Kusalananda
5
@PavelSayekat Zawsze możesz przenosić biblioteki / programy, aby przeszkadzać. Szczęśliwego kodowania przez kilka następnych lat!
Giacomo Alzetta,
1
@GiacomoAlzetta nie będzie działać, ponieważ biblioteki i programy są tylko połową implementacji w przestrzeni użytkownika; rozmawiają z konkretnymi modułami jądra Linuksa, więc nigdy nie będzie to możliwe.
mirabilos
4
@mirabilos, chyba że ktoś doda obsługę „jądra” w Hurd ;-).
Stephen Kitt
1
@StephenKitt zasada Hurda wolałaby zrobić z niej tłumacza, który następnie rozmawia z tłumaczem sieciowym. Jądro nie jest zaangażowane, w zasadzie tylko przekazuje wiadomości. (Och, wolałbym
portować