CCL icon indicating copy to clipboard operation
CCL copied to clipboard

Installation with conda installs new compilers and kernel headers

Open caioolivv opened this issue 1 year ago • 6 comments

Installing pyccl with conda from conda-forge forces the installation of new compilers and kernel headers, which breaks other libraries in the environment (in specific, NumCosmo). Is this expected behavior?

(At the moment, I can still install with pip so that's not a big problem)

image

caioolivv avatar Jun 05 '24 14:06 caioolivv

This appears to be because the camb conda-forge feedstock defines the fortran compiler as a run requirement which is ... odd.

erykoff avatar Jun 05 '24 15:06 erykoff

Any way to go around this? I'm trying to install firecrown which requires pyccl through conda, so I'm not able to install it on the same environment as NumCosmo.

caioolivv avatar Jun 05 '24 16:06 caioolivv

Pinging @beckermr on this.

erykoff avatar Jun 05 '24 16:06 erykoff

Is numcosmo packaged in conda-forge?

beckermr avatar Jun 05 '24 16:06 beckermr

Yes, but I'm working on a different branch of numcosmo.

caioolivv avatar Jun 05 '24 16:06 caioolivv

Got it. Thanks for the quick response.

conda + camb is doing the right thing here.

The issue is that you have a requirement on the compilers that you didn't tell conda about. You can tell conda about it by putting the requirements on the compilers into the conda-meta/pinned file in your environment's prefix. You can make that file if it does not exist.

Then conda will respect those pins when it does operations on the env.

beckermr avatar Jun 05 '24 17:06 beckermr

I'm gonna close this one, but @caioolivv , let me know if Matt's solution doesn't work.

damonge avatar Nov 13 '24 11:11 damonge