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
, clang
và 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.2
cố gắng cài đặt gói có tên llvm-3.2
từ 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 llvm
gó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 update
nó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.2
gó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 llvm
và llvm-3.2
là độc lập.llvm
phụ thuộc vào llvm-2.9
( xem tại đây ), trong khi llvm-3.2
riê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
).