Search code examples
anacondacondaconda-forge

jove: ..../anaconda3/bin/../lib/libtinfo.so.6: no version information available (required by jove)


I install jove in conda base environment

conda install conda-forge::jove

The channel information:

Channels:                                                                                                                                                 
 - defaults                                                                                                                                               
 - conda-forge 
Platform: linux-64 

But after I finished install, every time when I open the jove editor the error message appears:

jove: ..../anaconda3/bin/../lib/libtinfo.so.6: no version information available (required by jove)

How could I fix it?


Solution

  • The channel order is incorrect. Conda Forge only links against other Conda Forge packages, so if you need a compiled Conda Forge package, then all other libraries in the environment should come from Conda Forge. In this case, conda-forge::jove expects the conda-forge::ncurses package to be installed, which provides the lib/libtinfo.so file(s).1

    Otherwise, one is prone to such library loading or feature mismatch issues (see "Using multiple channels"). It should also be noted that Anaconda base really does not in practice support the prioritization of conda-forge channel - one must create a new environment.

    Try creating a new environment that prioritizes conda-forge over defaults:

    conda create -n foo -c conda-forge jove
    

    Even better, use YAML to define your environment:

    foo.yaml

    name: foo
    channels:
      - conda-forge
      - nodefaults  # do not search other channels
    dependencies:
      - jove
      # list other packages you need
    
    conda env create -n foo -f foo.yaml
    

    [1]: One can inspect the provenance of file using the conda package --which command. In this case, conda package --which $CONDA_PREFIX/lib/libtinfo.so.6 will reveal what package this file came from including the channel. When I sourced ncurses from defaults, I received the same error as OP reports; changing it to conda-forge was sufficient to resolve it. However, it is best practice to avoid mixing defaults and conda-forge channels altogether.