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

bump pylibseq #11802

Closed
wants to merge 12 commits into from
Closed

bump pylibseq #11802

wants to merge 12 commits into from

Conversation

molpopgen
Copy link
Member

  • I have read the guidelines for bioconda recipes.
  • [x ] This PR adds a new recipe.
  • [] AFAIK, this recipe is directly relevant to the biological sciences (otherwise, please submit to the more general purpose conda-forge channel).
  • This PR updates an existing recipe.
  • This PR does something else (explain below).

@molpopgen
Copy link
Member Author

@bgruening It seems like something odd is happening here. There is a complaint about svgwrite and trying to install via setuptools. But, that doesn't seem write. svgwrite is a dependency of msprime, which is installed in the meta.yaml and svgwrite is in conda-forge. The recipe for msprime does show that svgwrite is a run dependency: https://github.com/conda-forge/msprime-feedstock/blob/master/recipe/meta.yaml

Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@molpopgen I don't even see where the svgwrite is coming from. Its not your tool that defines a dependency on it, isn't it?

# If this is a new build for the same version, increment the build
# number. If you do not include this key, it defaults to 0.
number: 2
number: 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be 0

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I'll change the build number.

svgwrite is a dependency of msprime, which is a listed dependency of my project.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bgruening This is the error being reported:

RuntimeError: Setuptools downloading is disabled in conda build. Be sure to add all dependencies in the meta.yaml  url=https://pypi.org/simple/svgwrite/

@molpopgen
Copy link
Member Author

@bgruening Sorry to be a bother, but the Circle CI seems to be running in, well, a circle....

@bgruening bgruening closed this Nov 8, 2018
@bgruening bgruening reopened this Nov 8, 2018
@bgruening
Copy link
Member

circles everywhere :)

@molpopgen
Copy link
Member Author

@bgruening @bioconda/core
Any ideas on how to debug this? The build system is claiming that I am attempting to install svgwrite via setuptools, which is not the case.

svgwrite is a dependency of msprime, which is in turn a dependency of pylibseq.

The relevant section of the meta.yaml for pylibseq is currently:

  host:
    - python
    - libsequence ==1.9.6
    - pybind11 >=2.2.3
    - msprime >=0.6.0
    - svgwrite # for msprime, but should not be needed


  run:
    - python
    - libsequence
    - msprime >=0.6.0

@bgruening
Copy link
Member

@molpopgen - svgwriteis missing from the run section of pylibseq as it seems.

@molpopgen
Copy link
Member Author

@molpopgen - svgwriteis missing from the run section of pylibseq as it seems.

Do you think that will matter? This error is occurring even if svgwrite is not listed as a build dependency (you can see previous build logs). svgwrite is being pulled in via marking msprime as a depdendency.

@bgruening
Copy link
Member

There is something fishy not in your repo but in msprime etc, this comment does not look good - svgwrite # for msprime, but should not be needed :) So I think we should fix that at first and hopefully your problem goes away with it as well.

@molpopgen
Copy link
Member Author

There is something fishy not in your repo but in msprime etc, this comment does not look good - svgwrite # for msprime, but should not be needed :) So I think we should fix that at first and hopefully your problem goes away with it as well.

@bgruening OK, so if I remove that, we will be back to a failing build. I'll ping the msprime author, who is also the maintainer of the conda-forge recipe.

@bgruening
Copy link
Member

@molpopgen you can also create a PR against the conda-forge one if you like.

@molpopgen
Copy link
Member Author

@molpopgen you can also create a PR against the conda-forge one if you like.

@bgruening I think I see the error. msprime lists svgwrite as "install_requires" in setup.py, but not in the "host" field at conda-forge.

@molpopgen
Copy link
Member Author

@bgruening I've been in contact with the msprime recipe maintainer, who thinks that some of the problem is due to a massive rebuild taking place on conda-forge. I seem unable to restart failed jobs. I tried following your instructions from here, but I do not have permission it seems?

@bgruening
Copy link
Member

I restarted the tests for you. You should have permissions. What do you see on top of circle-cI?

@molpopgen
Copy link
Member Author

I restarted the tests for you. You should have permissions. What do you see on top of circle-cI?

The "rerun workflow" button is grayed out and says "You need write permissions..." when I mouse over it.

When I click the "bioconda-workflow" link, I see nothing obvious about how to restart.

I am not logged in to Circle CI in any way--could that be the issue? I've never used it outside of these PRs.

@molpopgen
Copy link
Member Author

It does seem to be the logging in issue. I just logged in via GitHub and can now see the restart button is activated. Duh!

@molpopgen
Copy link
Member Author

@bgruening This is the puzzling thing from the build log. After building, there is another scan for dependencies. I'm unable to track down why this is happening. Shouldn't all dependency resolution have already happened? In fact, you can see in the CircleCI logs that everything has been installed, including the svgwrite that is being complained about.

Installed /opt/conda/conda-bld/pylibseq_1543365247619/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.5/site-packages/pylibseq-0.2.1-py3.5-linux-x86_64.egg

Processing dependencies for pylibseq==0.2.1

Searching for svgwrite

Traceback (most recent call last):

  File "setup.py", line 193, in <module>

    zip_safe=False,

  File "/opt/conda/conda-bld/pylibseq_1543365247619/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.5/site-packages/setuptools/__init__.py", line 140, in setup

@jeromekelleher
Copy link
Member

Just jumping in here --- this is really weird! Very hard to know why the already-installed svgwrite isn't being used.

One thing I'm wondering is, do you really need msprime as a build-time dependency? Unless you're compiling against it (which I don't think you can be?) then it should only be needed as a run time dep. Is it worth trying this?

I'm still trying to fully sort out the upstream openblas issue, this seems to be related to the interaction between the GSL and numpy dependencies.

@molpopgen
Copy link
Member Author

@jeromekelleher --Yes, I think I will try removing the build dependency.

Regarding openblas. Conda-forge made an odd decision, IMO. The compile GSL against openblas, but do so by deleting libgslcblas and using a symlink to openblas as a replacement. See here. This "works" but is not how GSL recommend using an alternate blas lib. We ran into issue with this when updating the minimum GSL in bioconda.

@jeromekelleher
Copy link
Member

jeromekelleher commented Nov 30, 2018

Regarding openblas. Conda-forge made an odd decision, IMO. The compile GSL against openblas, but do so by deleting libgslcblas and using a symlink to openblas as a replacement. See here. This "works" but is not how GSL recommend using an alternate blas lib. We ran into issue with this when updating the minimum GSL in bioconda.

This is what's blocking me on the updated msprime package:
conda-forge/gsl-feedstock#34

@molpopgen
Copy link
Member Author

@jeromekelleher unfortunately removing msprime as a build dependency did not solve the problem

@jeromekelleher
Copy link
Member

@jeromekelleher unfortunately removing msprime as a build dependency did not solve the problem

No idea what's going on here @molpopgen, sorry.

@molpopgen
Copy link
Member Author

molpopgen commented Dec 3, 2018 via email

@jeromekelleher
Copy link
Member

I think I may remove it as both build and run dependencies.

Sounds like a plan.

@molpopgen
Copy link
Member Author

Closing. To remove msprime as a dependency, setup.py needs fixing, so I need to push a new version to PyPi first and try again.

@molpopgen molpopgen closed this Dec 5, 2018
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.

3 participants