繁体   English   中英

错误:命令'gcc'失败,退出状态1安装Fatiando(Python包)

[英]error: command 'gcc' failed with exit status 1 installing Fatiando (Python Package)

我正在尝试安装fatiando,一个用于Python的地球物理建模包。 我有一台Mac OS X v10.9.5。 我按照软件包网站上建议的安装方式获取Fatiando(通过Anaconda)的所有依赖项。 我安装了Xcode。

我得到一个警告列表和最后一条错误消息:

    fatiando/gravmag/_polyprism.c:349:10: fatal error: 'omp.h' file not found

    #include "omp.h"

             ^

    1 warning and 1 error generated.

    error: command 'gcc' failed with exit status 1

    ----------------------------------------
    Command "//anaconda/bin/python -c "import setuptools, tokenize;__file__='/var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-QFjo6d-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-CY4vyX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-QFjo6d-build
Macintosh-5:fatiando matteoniccoli$ 

可在此处找到完整的终端输出(1100+行)。

我已经联系了开发人员,这似乎不是Fatiando问题。

有什么建议?

3月15日更新

当我第一次发布这个时我没有Xcode,然后我从Apple商店下载了最新的Xcode。 再次尝试,得到了同样的信息。 然后我读了这个并从这里下载了gcc,并直接安装。 当我输入终端: gcc --version ,我得到: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)之后但是,我仍然得到类似的消息。 继另一个stackoverflow主管之后,我尝试使用curl https://bootstrap.pypa.io/ez_setup.py -o - |从这里安装setuptools。 python现在,当我尝试安装fatiando时,我得到了一个不同的错误(在长输出的最后):

fatiando/gravmag/_polyprism.c:349:10: fatal error: 'omp.h' file not found

    #include "omp.h"

             ^  

    1 warning and 1 error generated.  

    error: command '/usr/bin/clang' failed with exit status 1

    ----------------------------------------

    Command "//anaconda/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-build-m1ieVO/fatiando/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-9wI6Z7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-build-m1ieVO/fatiando

来自论坛的人通过电子邮件问我:Re Fatiando,你安装了Xcode命令行工具吗? 例如,请参阅此http://railsapps.github.io/xcode-command-line-tools.html

但是,当我尝试验证已经成功安装Xcode命令行工具时,我得到了这个,所以我认为这不是问题:

-bash: /Library/Developer/CommandLineTools: is a directory

更新3月16日 Leo Uieda建议尝试解决方案。

pip install --upgrade https://github.com/fatiando/fatiando/archive/kill-omp.zip没问题,但是

pip install --upgrade https://github.com/fatiando/fatiando/archive/master.zip让我回到1号广场:

...
...    
fatiando/gravmag/_polyprism.c:349:10: fatal error: 'omp.h' file not found

        #include "omp.h"

                 ^

        1 warning and 1 error generated.

        error: command '/usr/bin/clang' failed with exit status 1

        ----------------------------------------
        Rolling back uninstall of fatiando

这是Fatiando安装的一个非常常见的问题,特别是在Windows和Mac上。 PR 106中fatiando.gravmag正向建模模块引入了OpenMP。 它很容易实现(只需用prange(ndata)替换range(ndata) prange(ndata) ),并且比顺序执行产生1.5-2倍的加速。 此外,并行执行是自动的。 所以当时似乎是一个很好的权衡(“只需安装一个额外的依赖?什么可能出错?”)。

当Anaconda gcc和默认Mac gcc没有附带OpenMP时,问题就出现了。 因此,Windows用户必须安装额外的依赖项(按照特定的顺序,如撒旦的仪式),Mac用户必须自己照顾自己。

正在从Fatiando( #169 )中删除OpenMP和已编译的Cython模块,而不是multiprocessingnumba 这将使它成为纯Python包(无需编译),并且应解决大多数安装问题。

同时, PR 177从Cython模块中删除了OpenMP要求。 这应该可以解决您当前的安装问题。 要立即获得更改,您可以通过运行以下命令从kill-omp分支安装该版本:

pip install --upgrade https://github.com/fatiando/fatiando/archive/kill-omp.zip

如果上述命令不起作用,则意味着pull请求已合并到项目的主分支(master)中。 如果是这种情况,您可以从master分支安装最新版本:

pip install --upgrade https://github.com/fatiando/fatiando/archive/master.zip

这些更改将包含在将来的v0.4版本中。 希望这可以解决您的问题。

(知道你正在使用哪个版本的gcc会很有用。)

gcc在v4.9之前没有附带OpenMP

看到这个答案可以帮助您使用xcode更新gcc。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM