Numba安装和“make check-all”

时间:2013-07-15 04:53:59

标签: makefile numba

我一直在尝试在虚拟环境中安装numba。 Numba需要llvm和似乎是llvmpy的Python包装器。我使用following steps成功安装了它:

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 makesudo REQUIRES_RTTI=1 make install中,重复变量REQUIRES_RTTI。有必要吗?

根据numba的文档,它建议执行REQUIRES_RTTI=1 make install并且llvmpy建议REQUIRES_RTTI=1 make,因此存在细微差别。我真的不知道每个步骤是做什么的,所以我希望对正在发生的事情作出一般性解释,以及所有这些步骤是否都是必要的。

此外,make check-all是什么?我已经看到它与llvm相关的问题特别相关,但我不知道它的目的是什么。

llvmpy文档的另一个建议是使用不同的目录安装(--prefix)为什么这是推荐的方法?

非常感谢

1 个答案:

答案 0 :(得分:1)

以下行

REQUIRES_RTTI=1 make
sudo REQUIRES_RTTI=1 make install

使用设置被调用进程环境的方式而不修改calee的环境(如导出REQUIRES_RTTI = 1的情况);来自bash manual

  

可以扩充任何简单命令或功能的环境   暂时为它添加参数赋值前缀。这些赋值语句仅影响   该命令看到的环境。

建议使用此设置,因为来自LLVM docs

  

将REQUIRES_RTTI = 1添加到您的环境中   在运行make时重新启用它。这将允许用户构建   启用RTTI并仍然从LLVM类继承。

根据llvmpy文档,RTTI是必需的。

因此,忘记使用“sudo”进行安装的“复杂性”和标准要求,步骤是标准的:

### generating makefile:
./configure --enable-optimized --prefix=/opt
### building core libraries (make without target is the same as "make all")
make
### check-all is a makefile target that is used to run regression tests (according to LLVM docs) 
make check-all
### installing the libraries to the place where other tools / libraries can find them:
make install