当我尝试构建一个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在构建主机上安装它,该主机运行带有glibc 2.17
的CentOS7,因此产生了依赖性。
在pkg1
meta.yaml
中,我有:
requirements:
build:
- sysroot_linux-64 >=2.17 [linux]
pkg2 meta.yaml
requirements:
host:
- pkg1
run:
- pkg1
发布于 2021-03-25 10:18:50
感谢@merv的fftw
提示。
我强烈怀疑这个问题是由同一环境中来自conda-forge
和Anaconda default
channels的混合包引起的。根据conda开发人员的说法,这被认为是一种糟糕的做法。一旦我把它改成只使用conda-forge
,问题就消失了。
https://stackoverflow.com/questions/66726830
复制相似问题