Я пытаюсь установить numba в виртуальной среде. Numba требует llvm и что-то вроде Python-обертки llvmpy. Я успешно установил его с помощью following steps:Установка Numba и «make check-all»
wget http://llvm.org/releases/3.2/llvm-3.2.src.tar.gz
tar zxvf llvm-3.2.src.tar.gz
cd llvm-3.2.src
./configure --enable-optimized --prefix=/opt
REQUIRES_RTTI=1 make
make check-all
sudo REQUIRES_RTTI=1 make install
git clone git://github.com/llvmpy/llvmpy.git
cd llvmpy
sudo LLVM_CONFIG_PATH=/opt/bin/llvm-config /path/to/environment/bin/python setup.py install
python -c "import llvm; llvm.test()"
Однако, я хотел бы знать, что это правильная процедура. Например, в строке REQUIRES_RTTI=1 make
и sudo REQUIRES_RTTI=1 make install
переменная REQUIRES_RTTI повторяется. Это необходимо?
Согласно документации numba, рекомендуется выполнить REQUIRES_RTTI=1 make install
, а llvmpy рекомендует REQUIRES_RTTI=1 make
, поэтому есть небольшие отличия. Я действительно не знаю, что делает каждый шаг, поэтому я хотел бы получить общее объяснение того, что происходит, и если все эти шаги строго необходимы.
Кроме того, что такое make check-all
? Я видел, что это особенно актуально в вопросах, связанных с llvm, но я не знаю, в чем его цель.
Другим предложением документации llvmpy является установка с использованием другого каталога (--prefix). Почему это рекомендуемый подход?
Большое спасибо
Великое объяснение. Несколько вопросов. Нужно ли добавлять REQUIRES_RTTI = 1 в make и make install? Тогда неправильные инструкции, которые только пишут «REQUIRES_RTTI = 1 make install»? –
@RobertSmith Я просмотрел makefile.rules и нашел, что это env. вар. влияет только на флаги компиляции (т. е. «сделать»). Поэтому, скорее всего, вы правы (для установки не требуется установка REQUIRES_RTTI), но я не могу быть на 100% уверенным, не тестируя оба способа и сравнивая. – pmod
Отлично. Спасибо. –