OSX上有点刺激性问题。我试图安装的python程序需要GCC。
建议的调用是:
int main () {
double a,b,N,increment,value;
value=0;
cout<< "enter values for (a,b,N)";
cin>>a;
cin>>b;
cin>>N;
increment= (b-a)/(N-1);
for (int i =0;i<=b;i+=increment){
value = value+i;
}
double sivalues[value];
for (int x=a;i<=b;i+=increment){
sivalues[a]=si(x);
cout<<"si("<<x<<") = "<< sivalues[a];
}
然而,这会导致错误,建议OSX决定运行CLANG:
env CC=/usr/local/bin/gcc-6 pip install angr
这是有道理的:
clang: error: unknown argument: '-malign-double'
尽管如此:
$ env CC
clang: error: no input files
当然我试过了:
$env
...
cc=/usr/local/bin/gcc-6
CC=/usr/local/bin/gcc-6
但当然:
$CC-/usr/local/bin/gcc-6
env $CC pip install angr
尽管env告诉我刚刚运行
$ env $CC pip install angr
gcc-6: error: pip: No such file or directory
gcc-6: error: install: No such file or directory
gcc-6: error: angr: No such file or directory
gcc-6: fatal error: no input files
导致更多
$ pip install angr
那我在这里错过了什么? OSX是否讨厌那些糟糕的GCC或者我在这里错过了一些基本的shell fu?
答案 0 :(得分:2)
您的测试命令env $CC pip install angr
失败,因为美元符号会评估变量并且它有效地运行了gcc而不是pip!
Inian的建议命令env CC="/usr/local/bin/gcc-6 pip install angr"
的结尾引用位置错误,使其成为无操作。
env CC=/usr/local/bin/gcc-6 pip install angr
的语法是正确的,但gcc错误可能是在angr或它所依赖的26个包中的任何一个,例如ana,bintrees,cachetools,capstone,cooldict,z3-solver ...... / p>
让我们回到 clang 。看看github上的angr问题,看来z3-solver的clang-incompatibility在5月10日修复,这个问题发布一个月后。请参阅:https://github.com/Z3Prover/z3/issues/1016
所以现在使用macOS 10.13 High Sierra + Xcode 9.0.1上的最新点(pip install --upgrade pip
)可以解决这个问题:
pip install --user angr
好吧,上面的命令实际上默认使用二进制包,所以当然它可以工作。在10分钟后,您可以通过卸载所有点数来验证编译路径是否适用于clang:
pip install --user --no-cache-dir --no-binary :all: angr