Ok, vì vậy tôi biên soạn thành công nhũ tương trên Ubuntu 13.04 bằng cách cài đặt llvm, clangvà build-essential. Tôi chỉ đoán được vấn đề của bạn là LLVM hoặc tiếng kêu từ PPA bạn đã cài đặt có thể không hoạt động hoàn toàn đúng. Có vẻ như thực sự có thể lấy LLVM 3.2 từ Ubuntu cho 12.04, thông qua cái được gọi là kho lưu trữ "được đề xuất". Bạn có thể thử thanh trừng LLVM mà bạn có và cài đặt nó từ "đề xuất". Tôi sẽ giải thích làm thế nào để làm điều đó dưới đây. Vì bạn đã đề cập rằng bạn chưa quen với Ubuntu (trong phiên bản câu hỏi ban đầu), trước tiên tôi sẽ giải thích mỗi lệnh bạn đã sử dụng là gì, tốt nhất có thể.
Vì vậy, hãy sudo apt-get install llvm-3.2cố gắng cài đặt gói có tên llvm-3.2từ kho lưu trữ hiện tại được bật trên hệ thống của bạn. Trong trường hợp của bạn, nó không thể được tìm thấy, vì vậy lệnh thất bại. sudo apt-get install llvmđã cài đặt llvmgói, có lẽ là gói đặc biệt chỉ sử dụng LLVM cập nhật nhất có sẵn trong kho lưu trữ tiêu chuẩn của bạn. Trong trường hợp của bạn, đó là 2.9. Ý tưởng tương tự áp dụng cho sudo apt-get install clang. sudo add-apt-repository ppa:kxstudio-team/builds
thêm những gì được gọi là lưu trữ gói cá nhân hoặc PPA vào hệ thống của bạn. Điều này cho phép bạn có thêm phần mềm từ kho lưu trữ khác hoặc nguồn phần mềm. Xem https://help.launchpad.net/Packaging/PPA để biết thêm thông tin. Cuối cùng,sudo apt-get updatenói với Ubuntu để có được thông tin về những gói có sẵn từ kho hiện có. Bạn có thể có một cái nhìn tại http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html để biết thêm về quản lý gói Debian (hầu hết trong số đó nên áp dụng đối với Ubuntu là tốt, vì Ubuntu dựa trên Debian).
Vì vậy, các bước để loại bỏ các gói bạn đã có và cài đặt các phiên bản có sẵn từ đề xuất chính xác:
- Sử dụng
sudo apt-get purge llvm-3.2 clang-3.2để loại bỏ hoàn toàn LLVM và clang khỏi hệ thống của bạn.
- (Tùy chọn) Sử dụng
sudo add-apt-repository --remove ppa:kxstudio-team/buildsđể xóa PPA khỏi hệ thống của bạn.
- Thực hiện theo các hướng dẫn tại https://wiki.ubfox.com/Testing/EnableProposes để kích hoạt kho lưu trữ được đề xuất (ngay trên đầu trang) và cũng làm theo hướng dẫn cho "Nâng cấp có chọn lọc từ -proposed". Phần đầu tiên sẽ cho phép phiên bản Ubuntu thực sự của
llvm-3.2gói và phần thứ hai sẽ ngăn hệ thống cố gắng nâng cấp mọi thứ lên các phiên bản Đề xuất.
- Sử dụng
sudo apt-get updateđể lấy thông tin về các gói và phiên bản hiện có sẵn.
- Sử dụng
sudo apt-get install llvm-3.2/precise-proposedđể cài đặt LLVM 3.2 và sử dụng sudo apt-get install clang/precise-proposedđể cài đặt Clang 3.0 (Tôi nghĩ đó là phiên bản bạn sẽ nhận được).
- BƯỚC MỚI: Làm
sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-configđể làm cho hệ thống xử lý llvm-config-3.2(đó là llvm-configđi kèm llvm-3.2) như llvm-config. Hoàn toàn hơn, điều này tạo ra một liên kết tượng trưng (hoặc symlink) đến llvm-config-3.2 ở một nơi khác, nơi Ubuntu sẽ tìm kiếm các chương trình (thông tin thêm: ln , FHS , PATH ). Do đó, khi bạn chạy "llvm-config", Ubuntu sẽ tìm liên kết tượng trưng và chạy chương trình mà nó trỏ đến ( llvm-config-3.2).
- Xem nếu mọi thứ biên dịch chính xác bây giờ.
Hy vọng rằng hoạt động. Tôi đã không kiểm tra bất kỳ thứ gì trong số này, vì vậy hãy tự chịu rủi ro khi sử dụng, v.v. Tuy nhiên, tôi khá chắc chắn rằng nó không nên làm bất cứ điều gì tồi tệ.
EDIT: Lưu ý rằng llvmvà llvm-3.2là độc lập.llvmphụ thuộc vào llvm-2.9( xem tại đây ), trong khi llvm-3.2riêng biệt ( xem phụ thuộc tại đây )
Ngoài ra, tôi không chắc nếu bạn biết về việc hoàn thành tab ; nó có thể hữu ích nếu bạn đang tìm kiếm một lệnh nhưng không biết rõ tên đó (ví dụ, trong trường hợp này, nó có thể đã chỉ ra rằngllvm-config được gọi llvm-config-3.2).