Conda-forge软件包构建失败并显示以下消息:需要CC,但即使添加了编译器也未找到

时间:2019-05-28 11:22:46

标签: python g++ conda cc conda-forge

我想为https://github.com/uber/h3-py创建一个conda-forge软件包 并遵循https://conda-forge.org/docs/maintainer/adding_pkgs.html#staging-test-locally的说明。

可以在这里找到食谱:https://github.com/geoHeil/staged-recipes/blob/h3-py/recipes/h3/meta.yaml

当尝试使用以下命令执行本地构建时:

/.circleci/run_docker_build.sh

它失败并显示:

echo 'cc required but not found.'

meta.yml的重要部分如下所示:

requirements:
  build:
    # If your project compiles code (such as a C extension) then add the required compilers as separate entries here.
    # Compilers are named 'c', 'cxx' and 'fortran'.
    - {{ compiler('c') }}
    - {{ compiler('cxx') }}
    - cmake
    - make
  host:
    - python
    - pip
  run:
    - python

我如何才能将其提交给conda-forge?

cc是对编译器的一般参考,如何在不分叉源存储库及其安装脚本的情况下,将这样的参考/符号链接添加到conda提供的c,c ++编译器(大概是cxx / gcc)?

不应该

- {{ compiler('c') }}
- {{ compiler('cxx') }}

添加此内容?

该错误是由https://github.com/uber/h3-py/blob/master/.install.sh#L25

引起的
command -v cc >/dev/null 2>&1 || { echo "cc required but not found."; exit 1; }

1 个答案:

答案 0 :(得分:0)

我必须创建一个自定义的build.sh文件:

$CC不再依赖某些cmake,而是自动使用正确的环境。 https://github.com/conda-forge/staged-recipes/pull/8467/files