Biên dịch mã nguồn trong Debian GNU / Hurd khác nhau như thế nào với Debian GNU / Linux?


9

Tôi đã cố gắng biên dịch libnetfilter_conntracknguồn từ github vì nó được yêu cầu iptablestrong khi biên dịch iptables và vì bất kỳ thứ nào trong số này đều không có trong repo phần mềm HURD và đã bị lỗi trong khi định cấu hìnhlibnetfilter_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!

và hạt nhân của tôi là,

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

và mục tiêu cuối cùng của tôi là biên dịch iproute2 .


11
Vấn đề ở đây không phải là sự khác biệt giữa biên dịch trên Hurd và Linux: Có phải bạn đang cố gắng biên dịch tường lửa chỉ dành cho Linux và lib trên một HĐH khác.

1
Có lẽ những gì bạn đang tìm kiếm là một chương trình mới trên GNU / Hurd có giao diện dòng lệnh tương tự như chương trình iptablesiproute2. Điều này thể khả thi vì các mạng (IPv4 và IPv6) đang được cấu hình là tương tự nhau. Trong trường hợp đó, hãy xem nguồn của các chương trình tương đương trên GNU / Hurd và viết giao diện dòng lệnh mới cho chúng.
Kapil

Câu trả lời:


24

Nói chung, nó không khác lắm; có danh sách những cạm bẫy đã biết trên trang web của Hurdtrên wiki Debian . Nhiều dự án xây dựng tốt, hoặc sau một vài sửa chữa (vấn đề phổ biến nhất là sự vắng mặt PATH_MAX).

Tuy nhiên, trong trường hợp của bạn, bạn sẽ cảm thấy khó khăn khi đi đến bất cứ đâu: netfilteriptablesdành riêng cho nhân Linux, vì vậy bạn sẽ không thể sử dụng chúng trên Hurd. Có thể bạn sẽ nhận thấy rằng các iptablesgói không có sẵn trênhurd-i386 - có thường là một lý do chính đáng cho điều đó ... iproute2cũng là Linux cụ thể.

Trên Hurd bạn sử dụng eth-filterthay thế, hãy xem phần kết nối của hướng dẫn cấu hình Debian GNU / Hurd để biết chi tiết.


12
@PavelSayekat Sử dụng tường lửa không được viết riêng cho Linux?
Kusalananda

5
@PavelSayekat Bạn luôn có thể chuyển các thư viện / chương trình sang. Chúc mừng mã hóa trong vài năm tới!
Giacomo Alzetta

1
@GiacomoAlzetta sẽ không hoạt động, vì các thư viện và chương trình chỉ là một nửa không gian người dùng thực hiện; họ nói chuyện với các mô-đun hạt nhân Linux cụ thể, vì vậy điều này sẽ không bao giờ có thể.
mirabilos

4
@mirabilos trừ khi có ai đó thêm hỗ trợ kernel kernel trên Hurd ;-).
Stephen Kitt

1
@StephenKitt nguyên tắc Hurd thà biến nó thành một dịch giả mà sau đó nói chuyện với dịch giả mạng. Không có kernel liên quan, về cơ bản nó chỉ truyền thông điệp. (Ồ, và tôi thà chuyển pf từ OpenBSD hơn bất cứ thứ gì Linux sử dụng ngày nay…)
mirabilos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.