การติดตั้งไคลเอนต์ Mutt


0

ฉันกำลังพยายามสร้าง & amp; ติดตั้งไคลเอ็นต์ mutt บน Slackware ของฉัน (14.2) ฉันทำตามมาตรฐาน configure && make && make install ขั้นตอน นี่คือคำถามของฉันเกี่ยวกับหัวข้อ

  1. จะตรวจสอบได้อย่างไรว่าทั้ง 3 ขั้นตอน (กำหนดค่า, ทำ, ติดตั้ง) ทำถูกต้องหรือไม่? ฉันถูกที่ฉันสามารถเปลี่ยนเส้นทางข้อผิดพลาดมาตรฐานไปยังไฟล์เช่นนั้น:

.configure 2 & gt; configure_errors.log
ทำ 2 & gt; make_errors.log

จากนั้นสมมติว่าหากไฟล์ที่เหมาะสมว่างเปล่า (ไม่มีข้อผิดพลาด) ขั้นตอนที่เกี่ยวข้องจะสำเร็จ

  1. ตัวเลือกเริ่มต้นคืออะไร configure สคริปต์? ฉันสามารถค้นหารายการของตัวเลือกที่มีความหมาย แต่ไม่สามารถค้นหาว่าเป็นค่าเริ่มต้นหรือไม่
  2. ฉันต้องการติดตั้ง mutt ใน dir ที่กำหนดเอง ($ HOME / mutt) แต่ --prefix ตัวเลือกดูเหมือนจะไม่ทำงาน เมื่อฉันเพิ่ม --prefix=$HOME/mutt ไปที่ configure สคริปต์มันจบลงด้วยการติดตั้ง mutt ใน dir ที่ฉันออกสคริปต์ (นั่นคือ dir ที่ไม่ได้ถูกตัดออก) ของฉัน $HOME/mutt dir ว่างเปล่า

คำตอบ:


0

1) วิธีปกติในการทำ (หรืออย่างน้อยฉันจะทำอย่างไร) หากคุณไม่แน่ใจว่ามันจะทำงานโดยไม่มีข้อผิดพลาดคือการทำทุกขั้นตอนแยกจากกัน

ทำเช่นนั้น configureดูมันบ่นเกี่ยวกับห้องสมุดที่หายไปติดตั้งแพคเกจสำหรับห้องสมุดที่ขาดหายไปทำ configure อีกครั้งเป็นต้นจนสำเร็จ จากนั้นทำ makeแก้ไขข้อผิดพลาดในไฟล์ต้นฉบับหากจำเป็น (หวังว่าจะไม่) ในที่สุดก็ทำ make installถ้าจำเป็นเหมือนรูท

การเปลี่ยนเส้นทางข้อผิดพลาดมาตรฐานไปยังไฟล์บันทึกจะมีความซับซ้อนเกินความจำเป็นโดยปกติคุณจะเห็นปัญหาทันที และเทอร์มินัลสามารถเลื่อนขึ้น ฉันยังไม่ได้พบปัญหาที่ฉันต้องทำแม้ว่าบางครั้งฉันได้ดูบันทึก verbose configure สร้างด้วยตัวเอง (เพราะมันมีโปรแกรมทดสอบที่มันพยายามรวบรวม) ถ้าฉันไม่สามารถเข้าใจได้อย่างชัดเจนว่าเกิดอะไรขึ้นกับข้อความแสดงข้อผิดพลาด

2) ฉันไม่คิดว่าจะมีวิธีการหาค่าเริ่มต้น คุณสามารถดู configure.in, Makefile.am ฯลฯ เพื่อรับทราบว่ามันจะทำอย่างไรถ้าตัวเลือกเฉพาะไม่ชัดเจน ตัวเลือกใดที่คุณมีปัญหากับ?

3) โดยทั่วไปสำหรับซอฟต์แวร์ที่รวบรวมด้วยตนเองฉันแนะนำให้ติดตั้งลงใน /usr/local การใช้ stowตามที่อธิบายไว้เช่น ที่นี่ . การติดตั้งลงในไดเรกทอรีย่อยของ $HOME จะใช้งานได้หากคุณไม่ได้ติดตั้งไลบรารีหรือสิ่งอื่น ๆ ที่จะพบใน /usr/local โดยส่วนใหญ่ของระบบเพราะเส้นทางการค้นหาที่มีอยู่โดยค่าเริ่มต้น

น่าเสียดายที่ซอฟต์แวร์ทั้งหมดจัดการการติดตั้งแตกต่างกันเล็กน้อยแม้จะมีเครื่องมืออัตโนมัติดังนั้นฉันจึงไม่รู้ว่าทำไมมันถึงไม่ติดตั้งลงใน --prefix ไดเรกทอรี คุณได้รับข้อความอะไรหลังจากพิมพ์ make install? พวกเขามักจะบอกคุณว่ามันพยายามที่จะติดตั้งทุกอย่าง บางครั้งไฟล์บางส่วนหรือทั้งหมดไม่สนใจคำนำหน้าต่างๆและติดตั้งที่อื่นดังนั้นคุณต้องเปลี่ยน Makefile.am ฯลฯ เพื่อให้ทำงานอย่างถูกต้อง


เกี่ยวกับคำถาม # 1 - ฉันคิดว่ามีมาตรฐาน / การประชุมกำหนดค่าให้ทำการติดตั้งสคริปต์ส่งออกข้อความ "ปกติ" separatelly แยกออกเป็นมาตรฐานและข้อผิดพลาด (ถ้ามี) ข้อผิดพลาดมาตรฐาน กรณี?
Mulligan

ที่จริงฉันไม่รู้เพราะฉันไม่เคยพยายามเปลี่ยนเส้นทาง stderr - ถ้ามีข้อความแสดงข้อผิดพลาดไม่ว่าจะพิมพ์ไปที่ stdout หรือ stderr ฉันต้องการเห็นมันและฉันไม่ต้องการมันในไฟล์ที่ฉันต้องการ ขั้นตอนเพิ่มเติมเพื่อดู :-) แต่มันง่ายที่จะทดสอบเพียงแค่กระตุ้นข้อผิดพลาด (เช่นยกเลิกการติดตั้งแพคเกจที่จำเป็น) และดูว่าเกิดอะไรขึ้น ขี้เกียจเกินไปที่จะทดสอบในตอนนี้ :-)
dirkt

การประชุมตามปกติสำหรับ stdout และ stderr คือหากเครื่องมือสร้างผลลัพธ์คุณอาจต้องการเปลี่ยนเส้นทางไปยังไฟล์ แล้วก็ ข้อผิดพลาดไปที่ stderr เพราะคุณจะยังคงเห็นข้อผิดพลาดแม้ว่าจะทำ tool > some_file. แต่ทั้งคู่ configure และ make สร้างเอาต์พุตที่ให้ข้อมูลเท่านั้นดังนั้นฉันไม่คิดเลยว่าจะแยกระหว่าง stdout และ stderr
dirkt

และการประชุมอื่น ๆ ก็คือการใช้รหัสออกเพื่อสื่อสารความสำเร็จหรือความล้มเหลวนั่นคือเหตุผล && โรงงาน ฉันไม่เคยได้ยินความคิด "ถ้าไม่มีผลลัพธ์ไปยัง stderr ดังนั้นการกระทำก็จะสำเร็จ" ที่อาจใช้งานได้ บาง เครื่องมือบรรทัดคำสั่ง แต่ฉันค่อนข้างมั่นใจว่ามันจะล้มเหลวสำหรับคนส่วนใหญ่
dirkt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.