conda-forge / python-igraph-feedstock

A conda-smithy repository for python-igraph.
BSD 3-Clause "New" or "Revised" License
4 stars 11 forks source link

Rebuild for glpk50 #59

Closed regro-cf-autotick-bot closed 2 years ago

regro-cf-autotick-bot commented 2 years ago

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

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

conda-forge-linter commented 2 years 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.

conda-forge-linter commented 2 years ago

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

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

conda-forge-linter commented 2 years 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.

vtraag commented 2 years ago

I have been trying to get this to build, but for some reason zlib cannot be find by ld for the aarch64 and ppce64 architectures for cpython. Note that zlib is not a direct dependency of igraph, but only a transitive dependency through libxml2.

I've tried to identify where zlib is located, and it can be found in the following locations:

/opt/conda/lib/libz.so
/opt/conda/pkgs/zlib-1.2.12-h166bdaf_2/lib/libz.so
/home/conda/feedstock_root/build_artifacts/pkg_cache/zlib-1.2.12-h166bdaf_3/lib/libz.so
$BUILD_PREFIX/lib/libz.so

When adding $BUILD_PREFIX/lib/ to the library path, however, we run into the following problem:

aarch64-conda-linux-gnu/bin/ld: skipping incompatible _build_env/lib/libz.so when searching for -lz
aarch64-conda-linux-gnu/bin/ld: skipping incompatible _build_env/lib/libz.a when searching for -lz
aarch64-conda-linux-gnu/bin/ld: cannot find -lz
aarch64-conda-linux-gnu/bin/ld: skipping incompatible _build_env/lib/libz.so when searching for -lz

@isuruf, do you perhaps have any idea? Or perhaps you know somebody else who would know more about this?

szhorvat commented 2 years ago

@vtraag Is it actually necessary to link to libz explicitly? See what I wrote in the igraph chat. This -lz comes from the pkg-config file that C/igaph generates, and then python-igraph parses to figure out linking flags. I think this -lz is in fact incorrect.

isuruf commented 2 years ago

@szhorvat, if zlib is not used directly, then it shouldn't be in Libs, rather in Libs.private which is used when linking igraph and libxml2 statically.

isuruf commented 2 years ago

@conda-forge-admin, rerender

vtraag commented 2 years ago

Thanks @isuruf!

vtraag commented 2 years ago

@szhorvat, it seems that the build errors in ppc64le occur around cliques. Any idea what might be the specific problem? There is little information to go on in the logs right now though.

szhorvat commented 2 years ago

No idea. I tried to reproduce this on a PPC machine we have here (before you wrote your message), but the software on that computer is so outdated that I cannot compile python-igraph. Also, the machine does not have direct access to the outside internet, which complicates things (no pip install). C/igraph works fine, and we test it on ppc64le through Travis.

vtraag commented 2 years ago

OK, thanks! I'll try to look further.

szhorvat commented 2 years ago

This is not a build error, but a test failure, right? There are some other tests that fail too, such as testMultiplesLoops, testEigenvectorCentrality, and there's an error in testBipartiteProjection. Something is severely broken on that platform.

szhorvat commented 2 years ago

@vtraag What exactly is in this PR? The title says that it updates GLPK to 5.0 and that cannot possibly cause this issue. But there's this change:

https://github.com/conda-forge/python-igraph-feedstock/pull/59/files#diff-0106e69796f759c42caea2a45327d675a1cd65e7e9c3a0cc4a67e8726fa8cb0aL18

- - quay.io/condaforge/linux-anvil-ppc64le
+ - quay.io/condaforge/linux-anvil-cos7-x86_64

What is cos7-x86_64? This is running in an emulator, right? Could the emulator be broken?

It seems doubtful that this problem has to do with igraph (and not the Conda Forge setup).

Anyway, this is still python-igraph 0.9, right? Is it worth still bothering with 0.9?

vtraag commented 2 years ago

This is not a build error, but a test failure, right?

Yes, indeed, it is a test failure.

There are some other tests that fail too,

Yes, indeed, but the multiple failures around the cliques triggered me to look into that first.

What exactly is in this PR?

An attempt to update the build to use GLPK 5.0.

Indeed, it might be that there is a problem with the build system. AFAIK it is indeed run in an emulator, not natively.

vtraag commented 2 years ago

Anyway, this is still python-igraph 0.9, right? Is it worth still bothering with 0.9?

Yes, indeed, this is still 0.9. I can checkout the 0.10 PRs, but they are likely to going to hit similar issues.

vtraag commented 2 years ago

@szhorvat, good point about the building platform! I've now switched it to a native build on Travis, this does work correctly for ppc64le. I'll merge this PR later, when I find some time.

@isuruf, perhaps this is also a larger point about the Azure ppc64le cross-compilation being broken. Do you want me to open an issue for this somewhere else?