7

尝试构建 conda 包时出现奇怪的错误。

$ conda-build pkg2

....
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed   
....
The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - feature:|@/linux-64::__glibc==2.17=0
  - pkg1 -> __glibc[version='>=2.17,<3.0.a0']

Your installed version is: 2.17

在我看来,它似乎glibc 2.17满足所有三个要求,但 conda 认为存在冲突。

澄清一下,pkg2取决于我在本地构建的另一个包,pkg1. pkg1是一个带有 python 接口的 C++ 库,它依赖于libfftw. 我在 conda 上找不到libfftw,所以必须通过 yum 在构建主机上安装它,它运行 CentOS7 glibc 2.17,因此依赖。

pkg1 meta.yaml我有:

requirements:
  build:
    - sysroot_linux-64  >=2.17  [linux]

pkg2 meta.yaml

requirements:
  host:
    - pkg1
  run:
    - pkg1

4

1 回答 1

4

感谢@merv 的fftw提示。

我强烈怀疑这个问题是由来自同一环境中的conda-forgeAnaconda频道的软件包混合引起的。default根据 conda 开发人员的说法,这被认为是一种不好的做法。一旦我将其更改为conda-forge仅使用,问题就消失了。

于 2021-03-25T02:18:49.973 回答