Хорошо, так что я успешно скомпилирован галогенид на 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).
Итак, шаги для удаления пакетов, которые вы получили, и установки версий, доступных из точного предложения:
- Используйте,
sudo apt-get purge llvm-3.2 clang-3.2
чтобы полностью удалить LLVM и лязг из вашей системы.
- (Необязательно) Используйте
sudo add-apt-repository --remove ppa:kxstudio-team/builds
для удаления PPA из вашей системы.
- Следуйте инструкциям на https://wiki.ubuntu.com/Testing/EnableProposed, чтобы включить архив Proposed (прямо вверху страницы), а также следуйте инструкциям для «Выборочное обновление с -proposed». Первая часть активирует актуальную версию
llvm-3.2
пакета Ubuntu , а вторая не позволит системе пытаться обновить все до Предложенных версий.
- Используйте
sudo apt-get update
для получения информации о том, какие пакеты и версии теперь доступны.
- Используйте
sudo apt-get install llvm-3.2/precise-proposed
для установки LLVM 3.2 и используйте sudo apt-get install clang/precise-proposed
для установки Clang 3.0 (я думаю, это версия, которую вы должны получить).
- НОВЫЙ ШАГ: Сделайте так,
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
. Точнее, это создает символическую ссылку (или символическую ссылку) на llvm-config-3.2 в другом месте, где Ubuntu будет искать программы (больше информации: ln , FHS , PATH ). Таким образом, когда вы запускаете «llvm-config», Ubuntu найдет символическую ссылку и запустит программу, на которую она указывает ( llvm-config-3.2
).
- Посмотрите, все ли теперь правильно скомпилировано.
Надеюсь, это работает. Я не проверял ничего из этого, поэтому пользуйтесь на свой страх и риск и т. Д. Я уверен, однако, что это не должно делать ничего страшного.
РЕДАКТИРОВАТЬ: Обратите внимание, что llvm
и llvm-3.2
являются независимыми. llvm
зависит от llvm-2.9
( см. здесь ), а llvm-3.2
является отдельным ( см. здесь зависимости )
Кроме того, я не уверен, знаете ли вы о завершении вкладки ; это может быть полезно, если вы ищете команду, но не знаете ее имя (например, в этом случае, возможно, она показала бы, что она llvm-config
была вызвана llvm-config-3.2
).