Так что я пытаюсь установить Halide на мою Ubuntu 12.04 (64bit). Мне нужно установить llvm-3.2 и clang.
Запуск 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, я все равно получаю clang: Команда не найдена.
Хорошо, таким образом, я успешно скомпилировал Галид на 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 из Вашей системы.llvm-3.2
пакет и второе помешают системе пытаться обновить все до Предложенных версий.sudo apt-get update
вытягивать в информации о том, какие пакеты и версии теперь доступны.sudo apt-get install llvm-3.2/precise-proposed
устанавливать LLVM 3.2 и использование sudo apt-get install clang/precise-proposed
устанавливать Лязг 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, ПУТЬ). Таким образом при выполнении "llvm-конфигурации" Ubuntu найдет символьную ссылку и запустит программу, на которую она указывает (llvm-config-3.2
).Надо надеяться, это работает. Я не протестировал ни одного из этого, таким образом используйте на Ваш собственный риск и т.д. Я вполне уверен, однако, что это не должно делать ничего ужасного.
Править: Отметьте это llvm
и llvm-3.2
независимы. llvm
зависит от llvm-2.9
(см. здесь), в то время как llvm-3.2
является отдельным (см. зависимости здесь),
Кроме того, я не уверен, знаете ли Вы о заполнении клавишей Tab; может быть полезно, если бы Вы ищете команду, но не вполне знаете имя (например, в этом случае, это, вероятно, показало бы это llvm-config
был назван llvm-config-3.2
).