Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update andi to 0.13 #21578

Merged
merged 5 commits into from
Apr 22, 2020
Merged

update andi to 0.13 #21578

merged 5 commits into from
Apr 22, 2020

Conversation

pmenzel
Copy link
Contributor

@pmenzel pmenzel commented Apr 17, 2020

Describe your pull request here

update andi to 0.13

Please read the guidelines for Bioconda recipes before opening a pull request (PR).

  • If this PR adds or updates a recipe, use "Add" or "Update" appropriately as the first word in its title.
  • New recipes not directly relevant to the biological sciences need to be submitted to the conda-forge channel instead of Bioconda.
  • PRs require reviews prior to being merged. Once your PR is passing tests and ready to be merged, please issue the @BiocondaBot please add label command.
  • Please post questions on Gitter or ping @bioconda/core in a comment.
Please use the following BiocondaBot commands:

Everyone has access to the following BiocondaBot commands, which can be given in a comment:

@BiocondaBot please update Merge the master branch into a PR.
@BiocondaBot please add label Add the please review & merge label.
@BiocondaBot please fetch artifacts Post links to CI-built packages/containers.
You can use this to test packages locally.

For members of the Bioconda project, the following command is also available:

@BiocondaBot please merge Upload built packages/containers and merge a PR.
Someone must approve a PR first!
This reduces CI build time by reusing built artifacts.

Also, the bot watches for comments from non-members that include @bioconda/<team> and will automatically re-post them to notify the addressed <team>.

@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 17, 2020

@bioconda/core in this PR I intend to update andi to 0.13, and at the same time maybe fix a dependency issue, that I get with other packages. For example, I get

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

Package gsl conflicts for:
bioconda::mash=2.2.2 -> gsl[version='>=2.5,<2.6.0a0']
bioconda::andi=0.12 -> gsl[version='2.2.*|>=2.2.1,<2.3.0a0']
...

So it seems that andi 0.12 can have gsl not above 2.3.0. I am not sure where these version requirements for gsl are stored, I didn't see it in meta.yaml.

Now I added gsl >=2.2 as a dependency in the hopes that it will also accept higher versions, resolving the conflict.

@BiocondaBot
Copy link
Collaborator

Reposting to enable pings (courtesy of the BiocondaBot):

@bioconda/core: in this PR I intend to update andi to 0.13, and at the same time maybe fix a dependency issue, that I get with other packages. For example, I get

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

Package gsl conflicts for:
bioconda::mash=2.2.2 -> gsl[version='>=2.5,<2.6.0a0']
bioconda::andi=0.12 -> gsl[version='2.2.*|>=2.2.1,<2.3.0a0']
...

So it seems that andi 0.12 can have gsl not above 2.3.0. I am not sure where these version requirements for gsl are stored, I didn't see it in meta.yaml.

Now I added gsl >=2.2 as a dependency in the hopes that it will also accept higher versions, resolving the conflict.

@dpryan79
Copy link
Contributor

@bioconda-bot please fetch artifacts

@pmenzel Thanks, the GSL restriction comes from a global pinning file. I'm surprised the old version didn't get rebuilt when we updated the GSL pinning.

@BiocondaBot
Copy link
Collaborator

No artifacts found on the most recent CircleCI build. Either the build failed or the recipe was blacklisted/skipped.

@dpryan79
Copy link
Contributor

Ah, I bet the recipe is blacklisted due to compilation issues. That'd explain things.

@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 18, 2020

Thanks for looking into it, Devon.
The compiler error message is

17:34:49 BIOCONDA INFO (OUT) pfasta.c:39:10: fatal error: threads.h: No such file or directory
17:34:49 BIOCONDA INFO (OUT)  #include <threads.h>

Maybe the used gcc is too old not have C11 threads?

@dpryan79
Copy link
Contributor

It's gcc 7. I'm guess that we need to pass std=c11.

@dpryan79
Copy link
Contributor

Actually, glibc only added support in 2018 or so, so that'd be after the version we're using (HPCs don't exactly update frequently, we're building basically with centos 6).

@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 21, 2020

would it be helpful to ask the author for statically linked binaries, that could instead be used?

@dpryan79
Copy link
Contributor

That'd be one option

@kloetzl
Copy link

kloetzl commented Apr 21, 2020

Hi all,

andi (or to be precise, its FASTA parser pasta) can be compiled without threads.h. Newer C version set __STDC_NO_THREADS__ to indicate it is not available. Apparently, the converse is not true. Can you try to build with export CFLAGS="$CFLAGS -D__STDC_NO_THREADS__=1"?

Hope this helps,
Fabian

trying this: -D__STDC_NO_THREADS__=1
@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 21, 2020

hurray, it seems to have worked!

@kloetzl
Copy link

kloetzl commented Apr 21, 2020

Thanks for your effort, I will look for a patch upstream and integrate it in both andi and phylonium (the successor to andi). So the next time things should be easier again. 😄

@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 21, 2020

Thanks for your fast fix! :)

quick question: Would you recommend to use phylonium (once it is available in bioconda) over andi when only having a handful of genomes? My understanding was that phylonium is "just" faster, but not more accurate.

@kloetzl
Copy link

kloetzl commented Apr 21, 2020

One could say that phylonium is andi, but faster. As long as your genomes are closely related you should not see a big difference in the estimated substitution rates. Note that “faster” means 2× for small data sets and minutes instead of hours for thousands of bacterial genomes.

@pmenzel
Copy link
Contributor Author

pmenzel commented Apr 22, 2020

@BiocondaBot please merge

@BiocondaBot
Copy link
Collaborator

I will attempt to upload artifacts and merge this PR. This may take some time, please have patience.

@BiocondaBot
Copy link
Collaborator

Sorry, this PR cannot be merged at this time.

@dpryan79
Copy link
Contributor

@bioconda-bot please fetch artifacts

@BiocondaBot
Copy link
Collaborator

Package(s) built on CircleCI are ready for inspection:

Arch Package Repodata
linux-64 andi-0.13-h1e169f7_0.tar.bz2 repodata.json
osx-64 andi-0.13-h0d51cb5_0.tar.bz2 repodata.json

You may also use conda to install these:

  • For packages on linux-64:
conda install -c https://104738-42372094-gh.circle-artifacts.com/0/tmp/artifacts/packages <package name>
  • For packages on osx-64:
conda install -c https://104739-42372094-gh.circle-artifacts.com/0/tmp/artifacts/packages <package name>

Docker image(s) built:

Package Tag Install with docker
andi 0.13--h1e169f7_0
showcurl "https://104738-42372094-gh.circle-artifacts.com/0/tmp/artifacts/images/andi%3A0.13--h1e169f7_0.tar.gz" | gzip -dc | docker load

@dpryan79
Copy link
Contributor

@bioconda-bot please merge

@BiocondaBot
Copy link
Collaborator

I will attempt to upload artifacts and merge this PR. This may take some time, please have patience.

@BiocondaBot BiocondaBot merged commit afc5506 into bioconda:master Apr 22, 2020
@kloetzl
Copy link

kloetzl commented Apr 22, 2020

Thanks everyone for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants