Поэтому я пытаюсь установить 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
пакета 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
).источник
llvm
пакет (sudo apt-get purge llvm
), прежде чем сделать это, чтобы убедиться, что вы получите правильную версию. Вы всегда можете проверить, какой файл вы пытаетесь запустить, используя командуwhich [command]
. Например,which llvm-config
следует прочитать/usr/local/bin/llvm-config
. См. En.wikipedia.org/wiki/Which_%28Unix%29 для получения дополнительной информации.llvm
пакета для Ubuntu 12.04, былаllvm-2.9
,llvm-config
команда была связанаllvm-config
с той же версией, то естьllvm-config-2.9
. В Ubuntu 13.04 и 13.10llvm
пакет устанавливает LLVM 3.2, и я ожидаю, что затем он будет настроенllvm-config-3.2
такllvm-config
, как в Ubuntu 13.10.