Conda glibc 依赖冲突
Conda glibc dependency conflict
我在尝试构建 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
感谢@merv 的 fftw
提示。
我强烈怀疑这个问题是由来自 conda-forge
和 Anaconda default
渠道的软件包混合在同一环境中引起的。根据 conda 开发人员的说法,这被认为是一种不好的做法。一旦我将其更改为仅使用 conda-forge
,问题就消失了。
我在尝试构建 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
感谢@merv 的 fftw
提示。
我强烈怀疑这个问题是由来自 conda-forge
和 Anaconda default
渠道的软件包混合在同一环境中引起的。根据 conda 开发人员的说法,这被认为是一种不好的做法。一旦我将其更改为仅使用 conda-forge
,问题就消失了。