【问题标题】:Conda glibc dependency conflictConda glibc 依赖冲突
【发布时间】:2021-06-17 23:07:21
【问题描述】:

当我尝试构建 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 依赖于我在本地构建的另一个包,pkg1pkg1 是一个带有 python 接口的 C++ 库,它依赖于 libfftw。我在 conda 上找不到 libfftw,所以必须通过 yum 在构建主机上安装它,它使用 glibc 2.17 运行 CentOS7,因此存在依赖关系。

pkg1 meta.yaml 我有:

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

pkg2 meta.yaml:

requirements:
  host:
    - pkg1
  run:
    - pkg1

【问题讨论】:

  • "我在 conda 上找不到 libfftw" - 它只是 fftw,但在包中包含库和包含头文件。

标签: python build conda glibc conda-build


【解决方案1】:

感谢@merv 提供fftw 提示。

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

【讨论】:

  • 啊,是的,频道混合问题。以前没见过conda build 提出这个问题,很高兴知道这是一种可能性。
  • @Evgeny Tanhilevich
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 2019-12-24
  • 2021-12-14
  • 2022-01-24
  • 2021-12-03
相关资源
最近更新 更多