conda-forge / cryptominisat-feedstock

A conda-smithy repository for cryptominisat.
BSD 3-Clause "New" or "Revised" License
0 stars 7 forks source link

Rebuild for libboost 1.86 #59

Open regro-cf-autotick-bot opened 1 month ago

regro-cf-autotick-bot commented 1 month ago

This PR has been triggered in an effort to update libboost186.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by - please use this URL for debugging.

conda-forge-webservices[bot] commented 1 month ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

h-vetinari commented 1 month ago

Seems this is missing an include:

[ 68%] Building CXX object cmsat5-src/CMakeFiles/cryptominisat5.dir/ccnr.cpp.o
In file included from /home/conda/feedstock_root/build_artifacts/cryptominisat_1726532163120/work/src/ccnr.cpp:23:
/home/conda/feedstock_root/build_artifacts/cryptominisat_1726532163120/work/src/ccnr.h:103:24: error: 'uint32_t' has not been declared
  103 |     void set_verbosity(uint32_t verb);
      |                        ^~~~~~~~
/home/conda/feedstock_root/build_artifacts/cryptominisat_1726532163120/work/src/ccnr.h:120:12: error: 'uint8_t' was not declared in this scope
  120 |     vector<uint8_t> _solution;
      |            ^~~~~~~
/home/conda/feedstock_root/build_artifacts/cryptominisat_1726532163120/work/src/ccnr.h:29:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   28 | #include "ccnr_mersenne.h"
  +++ |+#include <cstdint>
   29 |

But then, looking at the open PRs here, this feedstock is pretty dead...

msoos commented 1 month ago

Hi @h-vetinari,

Thanks so much! I have just fixed it and pushed to master. I have to say I am soooo confused about these conda things. I don't even understand what they are building and how, and how did it even end up here, and how can I manage this build. Can you maybe point me to some documentation so I can understand how I can debug, update, change etc. the build here? I am so lost, I don't really understand Python module building and especially not conda :S Just a few helpful links, and perhaps a few keywords would be helpful. I can dig myself out of a hole usually but this is so deep and so weird, I don't know where to start. Thank you so much in advance,

Mate

PS: now that I pushed to master, do I need to e.g. cut a new release for the build to kick off again? Or is it automatic?

h-vetinari commented 1 month ago

I don't even understand what they are building and how, and how did it even end up here, and how can I manage this build.

Don't worry, there's a lot to deal with. ;-)

In short: conda-forge builds and distributes other packages, and due to the way we do things (i.e. we use shared libraries instead of vendoring everything like what happens in wheels), we occasionally need to rebuild a package if an underlying library changes. That's the case here: cryptominisat depends on boost, we have a new boost version, so we rebuild cryptominisat.

Can you maybe point me to some documentation so I can understand how I can debug, update, change etc. the build here?

We have some docs for maintainers (and for users) that explain most things. If something is confusing, you can raise an issue (or better: PR) here.

PS: now that I pushed to master, do I need to e.g. cut a new release for the build to kick off again? Or is it automatic?

If you cut a new release, then the bot will open a PR to the feedstock within a few hours. We can then merge that, and rerun the boost migration. It'd also be possible to patch the build here directly though, and just "backporting" your fix to the feedstock. Tha way you don't need to always release new versions, especially as that might only be the first of several issues uncovered by boost 1.86. Of course, you can also test a build against boost 1.86 upstream directly, fix all the necessary things and then tag a release.