การติดตั้ง llvm และเสียงดังกราวบน Ubuntu


16

ดังนั้นฉันพยายามติดตั้งHalideบน Ubuntu 12.04 (64 บิต) ฉันต้องการ llvm-3.2 และเสียงดังกราวที่จะติดตั้ง

เล่นsudo apt-get install llvm-3.2จบลงด้วยแพคเกจไม่พบ '

ลองsudo apt-get install llvmหรือsudo apt-get install clangติดตั้งรุ่น 2.9 Google ช่วยฉันด้วยสิ่งนี้

sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update

ตอนนี้ได้sudo apt-get install llvm-3.2 clang-3.2ผล แต่เมื่อฉันเรียกใช้ make ในโฟลเดอร์ Halide ฉันยังคงมีเสียงดังกราวด์: ไม่พบคำสั่ง


2
ฉันคิดว่า "clag: ไม่พบคำสั่ง" ควรอ่าน "เสียงดังกราว: ไม่พบคำสั่ง"?
andyg0808

ใช่ขอโทษด้วย

คุณใช้ Ubuntu กับ GUI หรือใช้เพียงบรรทัดคำสั่งหรือไม่
andyg0808

นอกจากนี้คุณต้องการเสียงดังกราว 3.2 หรือเพียงแค่เสียงดังกราว 3+?
andyg0808

ฉันดาวน์โหลดเวอร์ชันเดสก์ท็อป ฉันต้องการ llvm 3.2 จริง ๆ แล้วไม่มีคำเกี่ยวกับเสียงก้องของรุ่น

คำตอบ:


9

ตกลงดังนั้นฉันประสบความสำเร็จในการรวบรวมลิดบน Ubuntu 13.04 โดยการติดตั้งllvm, และclang build-essentialสิ่งเดียวที่ฉันคาดเดาเกี่ยวกับปัญหาของคุณคือ LLVM หรือเสียงดังกราวด์จาก PPA ที่คุณติดตั้งอาจทำงานได้ไม่ถูกต้องนัก ดูเหมือนว่าเป็นไปได้จริง ๆ ที่จะได้รับ LLVM 3.2 จาก Ubuntu สำหรับ 12.04 ผ่านทางสิ่งที่เรียกว่าไฟล์เก็บถาวร "ที่เสนอ" คุณอาจลองลบ LLVM ที่คุณมีและติดตั้งจาก "ข้อเสนอ" ฉันจะอธิบายวิธีการทำด้านล่าง เนื่องจากคุณพูดถึงว่าคุณยังใหม่กับ Ubuntu (ในเวอร์ชันคำถามดั้งเดิม) ฉันจะอธิบายสิ่งที่แต่ละคำสั่งที่คุณใช้ไปแล้วก่อนหน้านี้เท่าที่ฉันจะทำได้

ดังนั้นsudo apt-get install llvm-3.2พยายามติดตั้งแพ็กเกจที่ชื่อllvm-3.2จากที่เก็บปัจจุบันที่เปิดใช้งานบนระบบของคุณ ในกรณีของคุณไม่พบดังนั้นคำสั่งล้มเหลว sudo apt-get install llvmติดตั้งllvmแพคเกจซึ่งอาจเป็นแพคเกจพิเศษที่เพิ่งใช้ LLVM ล่าสุดที่มีอยู่ในที่เก็บมาตรฐานของคุณ ในกรณีของคุณนั่นคือ 2.9 sudo apt-get install clangความคิดเช่นเดียวกับ sudo add-apt-repository ppa:kxstudio-team/builds เพิ่มสิ่งที่เรียกว่าการจัดเก็บแพ็กเกจส่วนตัวหรือ PPA ในระบบของคุณ สิ่งนี้ช่วยให้คุณได้รับซอฟต์แวร์เพิ่มเติมจากที่เก็บอื่นหรือแหล่งที่มาของซอฟต์แวร์ ดูhttps://help.launchpad.net/Packaging/PPAสำหรับข้อมูลเพิ่มเติม สุดท้ายsudo apt-get updateบอก Ubuntu เพื่อรับข้อมูลเกี่ยวกับแพคเกจที่พร้อมใช้งานจากที่เก็บที่มีอยู่ในปัจจุบัน คุณอาจดูhttp://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.htmlสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดการแพ็คเกจใน Debian (ซึ่งส่วนใหญ่ควรใช้กับ Ubuntu ด้วยเช่นกัน) ตั้งแต่ Ubuntu ขึ้นอยู่กับ Debian)

ดังนั้นขั้นตอนในการลบแพ็คเกจที่คุณมีและติดตั้งเวอร์ชันที่มีให้จากการเสนอที่แม่นยำ:

  1. ใช้sudo apt-get purge llvm-3.2 clang-3.2เพื่อลบ LLVM และเสียงดังกราวจากระบบของคุณอย่างสมบูรณ์
  2. (ไม่บังคับ) ใช้sudo add-apt-repository --remove ppa:kxstudio-team/buildsเพื่อลบ PPA ออกจากระบบของคุณ
  3. ทำตามคำแนะนำที่https://wiki.ubuntu.com/Testing/EnableProposedเพื่อเปิดใช้งานไฟล์เก็บถาวรที่เสนอ (ขวาที่ด้านบนของหน้า) และทำตามคำแนะนำสำหรับ "การอัพเกรดที่เลือกจาก -proposed" ส่วนแรกจะเปิดใช้งานllvm-3.2แพคเกจเวอร์ชัน Ubuntu จริงและส่วนที่สองจะป้องกันไม่ให้ระบบพยายามอัปเกรดทุกอย่างเป็นรุ่นที่เสนอ
  4. ใช้sudo apt-get updateเพื่อดึงข้อมูลเกี่ยวกับแพคเกจและรุ่นที่มีในขณะนี้
  5. ใช้sudo apt-get install llvm-3.2/precise-proposedเพื่อติดตั้ง LLVM 3.2 และใช้sudo apt-get install clang/precise-proposedในการติดตั้ง Clang 3.0 (ฉันคิดว่านั่นเป็นเวอร์ชั่นที่คุณควรได้รับ)
  6. ขั้นตอนใหม่: Do sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-configเพื่อให้การรักษาระบบllvm-config-3.2(ซึ่งเป็นllvm-configที่มาพร้อมกับllvm-3.2) llvm-configเช่น ยิ่งไปกว่านั้นสิ่งนี้จะสร้างลิงก์สัญลักษณ์ (หรือ symlink) เพื่อ llvm-config-3.2 ในสถานที่อื่นซึ่ง Ubuntu จะค้นหาโปรแกรม (ข้อมูลเพิ่มเติม: ln , FHS , PATH ) ดังนั้นเมื่อคุณเรียกใช้ "llvm-config" อูบุนตูจะพบ symlink และเรียกใช้โปรแกรมที่ชี้ไปที่ ( llvm-config-3.2)
  7. ดูว่าทุกอย่างรวบรวมอย่างถูกต้องในขณะนี้

หวังว่าจะได้ผล ฉันไม่ได้ทำการทดสอบใด ๆ ดังนั้นใช้ความเสี่ยงของคุณเอง ฯลฯ ฉันค่อนข้างแน่ใจว่ามันไม่ควรทำอะไรที่แย่มาก

แก้ไข:โปรดทราบว่าllvmและllvm-3.2เป็นอิสระ llvmขึ้นอยู่กับllvm-2.9( ดูที่นี่ ) ในขณะที่llvm-3.2ถูกแยกออก ( ดูการพึ่งพาที่นี่ )

นอกจากนี้ฉันไม่แน่ใจว่าคุณรู้เกี่ยวกับการเติมแท็บหรือไม่ มันจะมีประโยชน์หากคุณกำลังมองหาคำสั่ง แต่ไม่รู้ชื่อ (ตัวอย่างเช่นในกรณีนี้มันอาจจะแสดงให้เห็นว่าllvm-configถูกเรียกllvm-config-3.2)


ขอบคุณมาก! มันเกือบจะได้ผล ปัญหาเดียวคือการติดตั้ง llvm-3.2 ไม่มี llvm-config ดังนั้นเมื่อฉันเรียกใช้ make ใน Halide จะไม่มีการติดตั้ง llvm ฉันวิ่งติดตั้ง llvm และตอนนี้ llvm-config --version บอกว่า 2.9 หากฉันพยายามติดตั้ง llvm-3.2 มันจะบอกฉันว่าเป็นเวอร์ชันล่าสุด ดูเหมือนว่า llvm-3.2 และ llvm นั้นเป็นอิสระอย่างสมบูรณ์

ดูขั้นตอนใหม่ในคำตอบ คุณอาจต้องการถอนการติดตั้งllvmแพคเกจ ( sudo apt-get purge llvm) ก่อนที่จะทำเพื่อให้แน่ใจว่าคุณได้รับรุ่นที่ถูกต้อง which [command]คุณสามารถตรวจสอบว่าไฟล์ที่คุณกำลังพยายามที่จะดำเนินการโดยใช้คำสั่ง ยกตัวอย่างเช่นควรอ่านwhich llvm-config /usr/local/bin/llvm-configดูen.wikipedia.org/wiki/Which_%28Unix%29สำหรับข้อมูลเพิ่มเติม
andyg0808

เหตุใด llvm-config จึงไม่เชื่อมโยงกับ llvm-config-3.2 เหมือนกับ gcc นี่เป็นตัวเลือกที่ใส่ใจหรือไม่?
Janus Troelsen

@ JanusTroelsen ฉันเชื่อว่ามันเป็นตัวเลือกที่มีสติ ตั้งแต่รุ่นของ LLVM ที่มีอยู่จากที่llvmแพคเกจสำหรับ Ubuntu 12.04 เป็นllvm-2.9ที่llvm-configคำสั่งถูกเชื่อมโยงไปจากรุ่นเดียวกันคือllvm-config llvm-config-2.9ใน Ubuntu 13.04 และ 13.10 llvmแพคเกจจะติดตั้ง LLVM 3.2 และฉันคาดว่าจะติดตั้งllvm-config-3.2เป็นเช่นllvm-configนั้นใน Ubuntu 13.10
andyg0808
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.