bioconda-recipes: samtools on macosx is incompatible with ncurses from defaults channel

I’m getting:

dyld: Symbol not found: _stdscr
  Referenced from: /opt/conda/miniconda3/envs/test/bin/samtools
  Expected in: /opt/conda/miniconda3/envs/test/bin/../lib/libncursesw.6.dylib
 in /opt/conda/miniconda3/envs/test/bin/samtools

with:

ncurses:         6.1-h0a44026_1         
samtools:        1.9-hb029021_5           bioconda

this version worked before:

ncurses:         6.1-h0a44026_1           
samtools:        1.9-h8ee4bcc_1           bioconda

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 4
  • Comments: 27 (24 by maintainers)

Most upvoted comments

Along with the SSL issue mentioned in #12100, only the following worked for me (as of Feb 20, 2019)

conda install -c bioconda samtools=1.9=h8ee4bcc_1 openssl=1.0

Thanks for the issue report. Until the underlying issue is resolved, the older build can be installed via: conda install -c bioconda samtools=1.9=h8ee4bcc_1

For testing, what samtools command resulted in this error?

It looks like this PR https://github.com/bioconda/bioconda-recipes/pull/13464 may have broken samtools. Related: https://github.com/conda-forge/conda-forge.github.io/issues/701 @bioconda/core: Maybe we should think about template pinning openssl to match the predominant version used upstream by conda-forge? (1.0.2p?)

I’m not sure why it worked, but this fixed my error:

  1. conda uninstall samtools
  2. conda update --all
  3. conda install samtools

@mbargull ahhhh, thanks for the clarification

Edit: working for me since fixing my channel priorities.

channels:
  - conda-forge
  - bioconda
  - defaults

(There’s the relatively well-known openssl problem, and separately there’s an ncurses problem.)

For posterity, it appears the anaconda channel ncurses is no longer compatible with samtools.

FWIW the reason for this is that the anaconda channel ncurses has not had a fix equivalent to conda-forge/ncurses-feedstock#45 applied. This is what I was alluding to in https://github.com/samtools/samtools/issues/940#issuecomment-452654909 with “Provided the conda user has selected conda-forge for their ncurses […]”.

<strike>If there’s somewhere to report bugs in or submit patches to anaconda channel packages, I can prepare a similar patch for that ncurses…</strike> Nevermind. That’s the reason the anaconda channel ncurses doesn’t work; you should use an ncurses that does work.

There should actually be a compatible samtools now. I’ve started updating things for the new OpenSSL version and samtools was in the first PR merged of that. I’ll make an announcement about the change in OpenSLL pinnings within the next couple hours.

For posterity, it appears the anaconda channel ncurses is no longer compatible with samtools. The following works:

conda create -n test samtools conda-forge::ncurses