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 libxml2212 #84

Closed regro-cf-autotick-bot closed 11 months ago

regro-cf-autotick-bot commented 11 months ago

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

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/cf-scripts/actions/runs/7048156883, please use this URL for debugging.

conda-forge-webservices[bot] commented 11 months 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.

xylar commented 11 months ago

Hmm, clang is unhappy with the type of a function pointer:

  /Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/_build_env/bin/x86_64-apple-darwin13.4.0-clang -DIGRAPH_STATIC -DIGRAPH_VERIFY_FINALLY_STACK=0 -DNCOMPLEX -DPRPACK_IGRAPH_SUPPORT=1 -D_POSIX_C_SOURCE=200809L -DIGRAPH_FILE_BASENAME=\"src/io/graphml.c\" -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/include -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/build/igraph/include -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/build/igraph/src -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/src -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/vendor -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/vendor/plfit -I/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/libxml2 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work=/usr/local/src/conda/python-igraph-0.11.3 -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place=/usr/local/src/conda-prefix -O3 -DNDEBUG -std=gnu99 -flto=thin -isysroot /Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.9 -fPIC -fvisibility=hidden -Wall -Wextra -pedantic -Wstrict-prototypes -Wno-unused-function -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-sign-compare -Wno-constant-logical-operand -Wno-unknown-warning-option -MD -MT src/CMakeFiles/igraph.dir/io/graphml.c.o -MF src/CMakeFiles/igraph.dir/io/graphml.c.o.d -o src/CMakeFiles/igraph.dir/io/graphml.c.o -c /Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/src/io/graphml.c
  /Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/work/vendor/source/igraph/src/io/graphml.c:1613:39: error: incompatible function pointer types passing 'void (*)(void *, xmlErrorPtr)' (aka 'void (*)(void *, struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-pointer-types]
      xmlSetStructuredErrorFunc(&state, &igraph_i_libxml_structured_error_handler);
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /Users/runner/miniforge3/conda-bld/python-igraph_1701361377382/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/libxml2/libxml/xmlerror.h:898:29: note: passing argument to parameter 'handler' here
                                   xmlStructuredErrorFunc handler);
                                                          ^
vtraag commented 11 months ago

Seems to be a result of more stricter checks by clang. I'm looking into it here: https://github.com/conda-forge/igraph-feedstock/pull/63. It's a bit easier to correct it there instead of here, since less builds are triggered. Once that passes, I'll also push the patch to here, and push it upstream to the igraph repo.

vtraag commented 11 months ago

Sorry, the change is actually part of the upgrade to libxml2 2.12. In https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.0 they indeed state that

To prepare for future improvements, some API functions now expect or return a const xmlError struct.

It's just noticed by clang because of the stricter checks.

xylar commented 11 months ago

Sounds very sensible.

vtraag commented 11 months ago

I've now pushed a patch here as well, and I think it should be good. However, we should wait for CI to pass. I have to go now though, feel free to merge @xylar, if all is good and you happen to get around to it before I do.