การคอมไพล์ซอร์สโค้ดใน Debian GNU / Hurd แตกต่างจาก Debian GNU / Linux อย่างไร


9

ฉันพยายามรวบรวมlibnetfilter_conntrackแหล่งจาก github ตามที่ร้องขอiptablesในขณะที่รวบรวมiptablesและเนื่องจากสิ่งเหล่านี้ไม่สามารถใช้ได้ใน repo ซอฟต์แวร์ 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: คุณกำลังพยายามรวบรวมไฟร์วอลล์ลินุกซ์เท่านั้นและ lib บนระบบปฏิบัติการอื่น

1
บางทีสิ่งที่คุณกำลังมองหาเป็นใหม่โปรแกรมบน GNU / Hurd ที่มีอินเตอร์เฟซบรรทัดคำสั่งจะคล้ายกับที่ของโปรแกรมและiptables iproute2สิ่งนี้อาจเป็นไปได้เนื่องจากเครือข่าย (IPv4 และ IPv6) ที่มีการกำหนดค่าจะคล้ายกัน ในกรณีนั้นดูที่แหล่งที่มาของโปรแกรมที่เทียบเท่าบน GNU / Hurd และเขียนอินเตอร์เฟสบรรทัดคำสั่งใหม่สำหรับพวกเขา
Kapil

คำตอบ:


24

โดยทั่วไปแล้วจะไม่แตกต่างกันมาก มีรายการของข้อผิดพลาดที่รู้จักกันในเว็บไซต์ Hurd ของและในวิกิพีเดีย Debian หลายโครงการสร้างได้ดีหรือหลังจากการแก้ไขเล็กน้อย (ปัญหาที่พบบ่อยที่สุดคือการขาดงานPATH_MAX)

อย่างไรก็ตามในกรณีของคุณคุณจะพบว่ามันยากที่จะไปได้ทุกที่netfilterและiptablesเฉพาะเจาะจงกับเคอร์เนล Linux ดังนั้นคุณจะไม่สามารถใช้มันใน Hurd คุณอาจจะได้สังเกตเห็นว่าแพคเกจไม่สามารถใช้ได้ใน - มักจะมีเหตุผลที่ดีสำหรับการที่ ... ยังเป็นลินุกซ์ที่เฉพาะเจาะจงiptableshurd-i386iproute2

ใน Hurd คุณต้องการใช้eth-filterแทนดูส่วนเครือข่ายของคู่มือการกำหนดค่า Debian GNU / Hurdเพื่อดูรายละเอียด


12
@PavelSayekat การใช้ไฟร์วอลล์ที่ไม่ได้เขียนขึ้นสำหรับ Linux โดยเฉพาะ?
Kusalananda

5
@PavelSayekat คุณสามารถย้ายไลบรารี / โปรแกรมไปยัง hurd ได้ตลอดเวลา การเข้ารหัสที่มีความสุขในอีกไม่กี่ปีข้างหน้า!
Giacomo Alzetta

1
@GiacomoAlzetta ไม่ทำงานเพราะไลบรารีและโปรแกรมเป็นเพียงครึ่งหนึ่งของพื้นที่ผู้ใช้ในการดำเนินการ พวกเขาพูดคุยกับโมดูลเคอร์เนล Linux เฉพาะดังนั้นสิ่งนี้จะไม่เกิดขึ้น
mirabilos

4
@ mirabilos ยกเว้นบางคนเพิ่มการสนับสนุน“ เคอร์เนล” ใน Hurd ด้วย ;-)
Stephen Kitt

1
@StephenKitt หลักการ Hurd ค่อนข้างจะทำให้มันเป็นนักแปลที่พูดกับนักแปลเครือข่าย เคอร์เนลไม่มีส่วนเกี่ยวข้องมันเป็นเพียงข้อความผ่าน (โอ้และฉันควรพอร์ต pf จาก OpenBSD มากกว่าที่ Linux ใช้อยู่ในปัจจุบัน…☺)
mirabilos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.