pythonbuildcondaglibcconda-build

Conda glibc dependency conflict


I get a weird error when I try to build a conda package.

$ 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

It looks to me as if glibc 2.17 satisfies all three requirements, however conda thinks there is a conflict.

To clarify, pkg2 depends on another package that I have built locally, pkg1. pkg1 is a C++ library with a python interface, that depends on libfftw. I could not find libfftw on conda, so had to install it via yum on the build host, which runs CentOS7 with glibc 2.17, hence the dependency.

In pkg1 meta.yaml I have:

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

pkg2 meta.yaml:

requirements:
  host:
    - pkg1
  run:
    - pkg1


Solution

  • Thanks @merv for the fftw tip.

    I strongly suspect that the issue was caused by a mixture of packages from conda-forge and Anaconda default channels in the same environment. According to conda developers, this is considered a bad practice. Once I have changed it around to using conda-forge only, the problems went away.