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 bx-python to 0.12, fix pypi url #49231

Merged
merged 7 commits into from
Jul 15, 2024
Merged

Bump bx-python to 0.12, fix pypi url #49231

merged 7 commits into from
Jul 15, 2024

Conversation

corneliusroemer
Copy link
Member

@corneliusroemer corneliusroemer commented Jul 14, 2024

Autobump didn't work because of changed pypi source file path, see #48971

For reviewers

I disabled python 3.8 builds because the build errored with python 3.8

You can see the failing build here: https://app.circleci.com/pipelines/github/bioconda/bioconda-recipes/122485/workflows/1586943a-0729-439c-9c87-1c2bc52eecbd/jobs/196844?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-checks-link&utm_content=summary

As the recipe has no maintainers (volunteers come forward please!) I requested reviews from bx-python contributors who are also members of bioconda. Maybe you know how to get 0.12 to work with py38.


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

General instructions

  • 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.

Instructions for avoiding API, ABI, and CLI breakage issues

Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify run_exports (see here for the rationale and comprehensive explanation).
Add a run_exports section like this:

build:
  run_exports:
    - ...

with ... being one of:

Case run_exports statement
semantic versioning {{ pin_subpackage("myrecipe", max_pin="x") }}
semantic versioning (0.x.x) {{ pin_subpackage("myrecipe", max_pin="x.x") }}
known breakage in minor versions {{ pin_subpackage("myrecipe", max_pin="x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
known breakage in patch versions {{ pin_subpackage("myrecipe", max_pin="x.x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
calendar versioning {{ pin_subpackage("myrecipe", max_pin=None) }}

while replacing "myrecipe" with either name if a name|lower variable is defined in your recipe or with the lowercase name of the package in quotes.

Bot commands for PR management

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.

Note that the @BiocondaBot please merge command is now depreciated. Please just squash and merge instead.

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

@corneliusroemer corneliusroemer changed the title Bump bx-python to 0.12, fix pypi url Bump bx-python to 0.12, fix pypi url, don't build for py38 anymore Jul 14, 2024
@corneliusroemer
Copy link
Member Author

corneliusroemer commented Jul 14, 2024

Unclear why osx fails - nothing useful in logs - maybe OOM?

12:36:30 BIOCONDA INFO (OUT) compiling .pyc files...
12:36:30 BIOCONDA INFO (OUT) number of files: 357
12:36:30 BIOCONDA INFO (ERR)     post_process_shared_lib(m, f, prefix_files, host_prefix)
12:36:30 BIOCONDA INFO (ERR)   File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib
12:36:30 BIOCONDA INFO (ERR)     mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths)
12:36:30 BIOCONDA INFO (ERR)   File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 470, in mk_relative_osx
12:36:30 BIOCONDA INFO (ERR)     names = macho.otool(path, prefix)
12:36:30 BIOCONDA INFO (ERR)   File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 221, in otool
12:36:30 BIOCONDA INFO (ERR)     lines = check_output([otool, "-l", path], stderr=STDOUT).decode("utf-8")
12:36:30 BIOCONDA INFO (ERR)   File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 421, in check_output
12:36:30 BIOCONDA INFO (ERR)     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
12:36:30 BIOCONDA INFO (ERR)   File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 526, in run
12:36:30 BIOCONDA INFO (ERR)     raise CalledProcessError(retcode, process.args,
12:36:30 BIOCONDA INFO (ERR) subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/bx-python_1720960284274/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/bx-python_1720960284274/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/bx/intervals/cluster.cpython-312-darwin.so']' died with <Signals.SIGABRT: 6>.
12:36:38 BIOCONDA ERROR COMMAND FAILED (exited with 1): /opt/mambaforge/envs/bioconda/bin/conda-build --override-channels --no-anaconda-upload -c conda-forge -c bioconda -e /opt/mambaforge/envs/bioconda/conda_build_config.yaml -e /opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/bioconda_utils/bioconda_utils-conda_build_config.yaml recipes/bx-python/meta.yaml

12:36:38 BIOCONDA ERROR BUILD FAILED recipes/bx-python
12:36:38 BIOCONDA INFO (COMMAND) conda build purge



⠋ running (0:00:00.00)
                       
12:36:40 BIOCONDA ERROR BUILD SUMMARY: of 1 recipes, 1 failed and 0 were skipped. Details of recipes and environments follow.
12:36:40 BIOCONDA ERROR BUILD SUMMARY: FAILED recipe recipes/bx-python

##[error]Bash exited with code '1'.
Finishing: Test

https://dev.azure.com/bioconda/bioconda-recipes/_build/results?buildId=63809&view=logs&jobId=1b052f1d-4456-52f0-9d43-71c4c5bd734d&j=1b052f1d-4456-52f0-9d43-71c4c5bd734d&t=34540139-28f3-5244-2e84-5ff07800d4d9

I just reran and then it worked.

@nsoranzo
Copy link
Contributor

Happy to be added as maintainer. I can have a look when I am back at my laptop.

@nsoranzo nsoranzo force-pushed the bump-bx branch 3 times, most recently from 9d4efcc to d6fcbe9 Compare July 15, 2024 00:15
Copy link
Contributor

@nsoranzo nsoranzo left a comment

Choose a reason for hiding this comment

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

Found a way to build it also for Python 3.8.
The bx_python-0.12.0.tar.gz sdist from PyPI contains C files built with Cython and numpy 2.0, so it's possible to install it with numpy >=1.25 (the oldest numpy release to support Python 3.9).
When using an older numpy (as in the Python 3.8 builds), gcc will consider -Wimplicit-function-declaration and -Wint-conversion as warnings and install bx-python 0.12.0 fine, while clang>=16 considers them errors and fails the build.
The solution is to force-rebuild the C files with Cython when building for Python <3.9.

@nsoranzo nsoranzo changed the title Bump bx-python to 0.12, fix pypi url, don't build for py38 anymore Bump bx-python to 0.12, fix pypi url Jul 15, 2024
@nsoranzo nsoranzo removed the request for review from jxtx July 15, 2024 01:42
@nsoranzo nsoranzo merged commit d88107a into master Jul 15, 2024
6 checks passed
@nsoranzo nsoranzo deleted the bump-bx branch July 15, 2024 01:43
@nsoranzo
Copy link
Contributor

Thanks @corneliusroemer !

@corneliusroemer
Copy link
Member Author

Great job - thanks @nsoranzo!

tcezard pushed a commit to tcezard/bioconda-recipes that referenced this pull request Sep 12, 2024
* f bx-python

* reset build number to 0

* fix deps

* disable py38 build

* [skip ci] add nsoranzo to maintainer list

* Drop unnecessary wheel host requirement

* Try to restore py38 build

---------

Co-authored-by: Nicola Soranzo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants