conda-forge / sagelib-feedstock

A conda-smithy repository for sagelib.
BSD 3-Clause "New" or "Revised" License
4 stars 8 forks source link

Some 9.0 dependencies are wrong #87

Closed mkoeppe closed 4 years ago

mkoeppe commented 4 years ago

Issue: https://github.com/mkoeppe/sage-numerical-interactive-mip/runs/407950610?check_suite_focus=true

  File "/usr/local/miniconda/envs/sage-nim/lib/python3.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 776, in _multi_variate
    from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular
ImportError: dlopen(/usr/local/miniconda/envs/sage-nim/lib/python3.7/site-packages/sage/rings/polynomial/multi_polynomial_libsingular.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libncurses.6.dylib
  Referenced from: /usr/local/miniconda/envs/sage-nim/lib/libreadline.8.0.dylib
  Reason: image not found
ERROR: InvocationError for command /bin/bash -c 'PYTHONPATH=/Users/runner/runners/2.164.0/work/sage-numerical-interactive-mip/sage-numerical-interactive-mip sage -t -p --force-lib --optional=sage sage_numerical_interactive_mip' (exited with code 1)


Environment (conda list):

https://github.com/mkoeppe/sage-numerical-interactive-mip/blob/f7d6bdbf1f76e0b5123ca32a53ebd78f3011ac84/environment.yml

isuruf commented 4 years ago

Can you run conda list on the env?

mkoeppe commented 4 years ago

Here you go: https://github.com/mkoeppe/sage-numerical-interactive-mip/runs/408002616?check_suite_focus=true

isuruf commented 4 years ago

I don't know why it's picking ncurses from defaults. Can you add a condarc file with,

channel_priority: strict

and pass the location to the github action?

isuruf commented 4 years ago

https://github.com/isuruf/sage-numerical-interactive-mip/commit/7acc4e1fb0a67c142e5d66cd732b153ac365ca45 should fix it. We require that conda-forge is added as a channel and in the github action, python was installed which was from defaults and then sage env file was installed, which meant ncurses was not updated to the conda-forge package.

mkoeppe commented 4 years ago

Thanks very much! This did the trick. Is there a way to do this just in the environment file, perhaps by pinning the versions of all packages?

isuruf commented 4 years ago

Unfortunately no. You have to use a condarc file to add channel_priority and pass it as in https://github.com/goanpeca/setup-miniconda#example-3-other-options

isuruf commented 4 years ago

Is there a way to do this just in the environment file, perhaps by pinning the versions of all packages?

Ah, yes. If you pin all packages, then yes. You can even generate an environment file from a correct environment.

isuruf commented 4 years ago

You can also do, https://github.com/isuruf/sage-numerical-interactive-mip/commit/48e6c58e439db54799f52a4ad2b4f973185bb18b to fix this particular problem.

mkoeppe commented 4 years ago

Thanks very much!

mkoeppe commented 4 years ago

Unfortunately no. You have to use a condarc file to add channel_priority and pass it as in https://github.com/goanpeca/setup-miniconda#example-3-other-options

With this I'm now getting

UnsatisfiableError: The following specifications were found to be incompatible with each other:

https://github.com/mkoeppe/sage-numerical-interactive-mip/runs/408666803 on the python3 macOS build

isuruf commented 4 years ago

Do you have a conda list from a previous build?

mkoeppe commented 4 years ago

Yes, here: https://github.com/mkoeppe/sage-numerical-interactive-mip/runs/408283955?check_suite_focus=true

isuruf commented 4 years ago

Thanks. Looks like only ipython is coming from defaults. Can you send a PR to the 5.x branch at ipython-feedstock to update it to python 3.7 ?

mkoeppe commented 4 years ago

Thanks for investigating. I have opened the issue but I know too little about the conda build system to prepare a PR.