conda-forge / gemmi-feedstock

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

gemmi v0.6.3 #58

Closed regro-cf-autotick-bot closed 10 months 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.

Closes: #55 Closes: #56

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 by source code inspection but not in the meta.yaml:

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/6110334237, 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.

dagewa commented 1 year ago

Hi! I don't understand what is wrong on the OSX checks, but I'd like to use gemmi 0.6.3 from conda in DIALS soon. So, I'll need to work this out.

wojdyr commented 1 year ago

I'm also looking into it.

wojdyr commented 1 year ago

I think the error has something to do with visibility and/or LTO flags. I had the same or similar error in gemmi CI builds in Github Actions. But it was only a few days ago, after the release. I just rebuilt v6.3.0 on macos in Github Actions, and I didn't get any warnings or errors. Also, I didn't change any build options between 0.6.2 and 0.6.3. So I actually don't know why these errors happened at that times. But since the warnings mention different visiblity settings, it could help if this argument was added to cmake call:

-D CMAKE_CXX_VISIBILITY_PRESET=hidden

Can it be done on top of this PR?

ndevenish commented 10 months ago

Marking draft as making a single commit re-requested review (for some reason) and I don't want to do that a hundred times

wojdyr commented 10 months ago

I don't think it's about inline symbols. Could you try to replace

-D CMAKE_VISIBILITY_INLINES_HIDDEN=OFF

with

-D CMAKE_CXX_VISIBILITY_PRESET=hidden
ndevenish commented 10 months ago

With some basic experimenting, removing that block (which I've just edited here) made the compile work on my local system, vs not working otherwise; which is why my intitial try was to replicate that and see if it fixed it here, at which point I would dig into the differences and explicitly what it was supposed to be doing.

I'll stop trying to touch the branch so that you can try whatever.

ndevenish commented 10 months ago

Can it be done on top of this PR?

Yes, because you are a maintainer of this feedstock you have full permissions to push to the autotickbot branches because image

I was asked to look at this as a favour because as I understood it there was no current maintainer. If it's a misunderstanding over repository permissions I'm happy to step back again, I absolutely don't want to tread on your toes or look like I was trying to impose.

wojdyr commented 10 months ago

With some basic experimenting, removing that block (which I've just edited here) made the compile work on my local system, vs not working otherwise; which is why my intitial try was to replicate that and see if it fixed it here, at which point I would dig into the differences and explicitly what it was supposed to be doing.

I don't see what block it was, probably because of the later force-push.

I was commenting that the earlier change that added -D CMAKE_VISIBILITY_INLINES_HIDDEN=OFF was unlikely to resolve the build problem. Did you try -D CMAKE_CXX_VISIBILITY_PRESET=hidden?

ndevenish commented 10 months ago

I was commenting that the earlier change that added -D CMAKE_VISIBILITY_INLINES_HIDDEN=OFF was unlikely to resolve the build problem. Did you try -D CMAKE_CXX_VISIBILITY_PRESET=hidden?

No, I reverted the branch without my initial fiddling so that you could try this directly, because it looked like you didn't realise you could edit this branch and dictating changes via me seems like a waste of time for both of us.

I don't think it's about inline symbols.

The error message I saw was an inline function that at LTO stage was having conflicts with visibility of what looked like another inline function, but don't precisely recall what the behaviour interaction is with hidden inline symbols and the normal ODR deduplication (I would well imagine having a publicly visible inline function in one file and a hidden one in another might fall afoul of some linking crosscheck).

I don't know why these (partial?) visibility controls were put in place, so I thought a good first step (in a short piece of spare time in my weekend to get the ball rolling) would be to remove some of the changes instead of trying to diagnose by adding more variables to the build. This doesn't seem an unreasonable first step to work out what is going on here - remember that I don't have the benefit of actually having written this code so have to approach it from scratch.

wojdyr commented 10 months ago

I had the same errors as here in gemmi CI builds. Adding -D CMAKE_CXX_VISIBILITY_PRESET=hidden resolved them, so that's why I proposed to add it. Just wanted to save you some time. Although I see that here it's not sufficient.