conda-forge / graph-tool-feedstock

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

[bot-automerge] graph-tool v2.57 #111

Closed regro-cf-autotick-bot closed 1 year ago

regro-cf-autotick-bot commented 1 year ago

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with code>@conda-forge-admin,</codeplease add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. 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.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
graph-tool 2.57 Anaconda-Server Badge
zstandard 0.21.0 Anaconda-Server Badge

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: false to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found in the meta.yaml but not found by source code inspection:

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 https://github.com/regro/cf-scripts/actions/runs/5418710910, please use this URL for debugging.

conda-forge-webservices[bot] commented 1 year 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) and found it was in an excellent condition.

count0 commented 1 year ago

@stuarteberg Apparently std::shared_mutex (a C++11 functionality) is not available in OSX earlier that 10.12, which causes some builds to fail (although not for arm64). I don't think it's a big deal to require only newer versions of that OS, since version 10.11 is quite old already. (I'm preparing some new new importat functionality of graph-tool that will require std::shared_mutex even more extensively.)

However, I don't know how we can restrict the build to MacOS 10.12 or newer. Do you?

github-actions[bot] commented 1 year ago

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

Thus the PR was passing and merged! Have a great day!

stuarteberg commented 1 year ago

Apparently std::shared_mutex (a C++11 functionality) is not available in OSX earlier that 10.12, which causes some builds to fail (although not for arm64)

The build error actually links to the conda-forge docs. Cool, I didn't realize they could do that!

In file included from src/graph/generation/graph_knn.cc:18:
src/graph/generation/graph_knn.hh:309:22: error: 'shared_mutex' is unavailable: introduced in macOS 10.12 - see https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk
    std::vector<std::shared_mutex> mutex(num_vertices(g));
                     ^
/Users/runner/miniforge3/conda-bld/graph-tool-suite_1688093901546/_build_env/bin/../include/c++/v1/shared_mutex:181:58: note: 'shared_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_mutex
                                                         ^
1 error generated.

The docs claim that the clang error doesn't apply in our case. Clang THINKS that symbol isn't available because our build uses MACOSX_DEPLOYMENT_TARGET=10.9, and clang just assumes we must be using the system's own libcxx. (BTW, as you can see there, the osx_arm64 builds use a newer target, which explains why they passed.)

In actual fact, we're using a newer libcxx provided by conda-forge which was nonetheless built to be compatible with old macOS versions. So the docs claim we can just add the following flag to skip the checks and trust that our libcxx has everything we need:

CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY"

...so I'm trying that now.


I don't know how we can restrict the build to MacOS 10.12 or newer. Do you?

If the above change doesn't work, then the conda-forge docs explain how to build with newer SDKs..

I suppose there must be some risk that the above change won't work. Otherwise, wouldn't the conda-forge folks have added it to CXXFLAGS by default? ¯\ (ツ)

github-actions[bot] commented 1 year ago

Hi! This is the friendly conda-forge automerge bot!

It appears that not all commits to this PR were made by the bot. Thus this PR is not being automatically merged. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!