Skip to content

networkx 3.2.1, igraph 0.10.8, python_igraph 0.11.3 #36750

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 26, 2023

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Nov 22, 2023

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 26, 2023

On gentoo (https://github.com/sagemath/sage/actions/runs/6961820497/job/18944262177?pr=36750#step:11:6562):

hecking whether SageMath should install SPKG igraph...
checking whether any of glpk openblas gmp is installed as or will be installed as SPKG... no
checking for IGRAPH... yes
configure: will use system package and not install SPKG igraph

.....

File "src/sage/graphs/digraph.py", line 447, in sage.graphs.digraph.DiGraph
Failed example:
    import igraph                                  # optional - python_igraph
Exception raised:
    Traceback (most recent call last):
      File "/sage/src/sage/doctest/forker.py", line 709, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/sage/src/sage/doctest/forker.py", line 1144, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.graphs.digraph.DiGraph[23]>", line 1, in <module>
        import igraph                                  # optional - python_igraph
        ^^^^^^^^^^^^^
      File "/sage/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/igraph/__init__.py", line 25, in <module>
        from igraph._igraph import (
    ImportError: /sage/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/igraph/_igraph.abi3.so: undefined symbol: igraph_biadjacency
**********************************************************************

@szhorvat
Copy link
Contributor

This is because python-igraph 0.11.3 requires C/igraph 0.10.8. Gentoo has an outdated version of C/igraph, 0.10.4.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 26, 2023

This is because python-igraph 0.11.3 requires C/igraph 0.10.8

Thanks for confirming this, that's the lower bound I set in c7c7eb9. Is there an upper bound that I should be setting?

@szhorvat
Copy link
Contributor

szhorvat commented Nov 27, 2023

< 0.11 is definitely an upper bound, as 0.11 won't be compatible.

However, the accurate answer is that each python-igraph release is only guaranteed to be compatible with the same C/igraph that it bundles. If you want bullet-proof, then compile python-igraph with the bundled version of the C core.

The reason for the incompatibilities are: (1) newly added functions, as it happened in this case (2) experimental functions that are changed.

igraph has "experimental functions" which are excluded from API compatibility guarantees. We reserve the right to change them even across bugfix releases, although we do try to get the design right the first time and avoid such changes. python-igraph does use a few of these experimental functions, so in principle, the current version of python-igraph may become incompatible with a future 0.10.x release of C/igraph.

Copy link

Documentation preview for this PR (built with commit 9d9d420; changes) is ready! 🎉

Copy link
Contributor

@dcoudert dcoudert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on Fedora 39 and macOS 12.7.1 (M1).

LGTM.

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 21, 2023
sagemathgh-36750: `networkx` 3.2.1, `igraph` 0.10.8, `python_igraph` 0.11.3
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

- https://networkx.org/documentation/stable/release/release_3.2.html -
in particular adds Python 3.12 support
- https://networkx.org/documentation/stable/release/release_3.2.1.html
- https://igraph.org/news.html

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36750
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
sagemathgh-36750: `networkx` 3.2.1, `igraph` 0.10.8, `python_igraph` 0.11.3
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

- https://networkx.org/documentation/stable/release/release_3.2.html -
in particular adds Python 3.12 support
- https://networkx.org/documentation/stable/release/release_3.2.1.html
- https://igraph.org/news.html

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36750
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
sagemathgh-36750: `networkx` 3.2.1, `igraph` 0.10.8, `python_igraph` 0.11.3
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

- https://networkx.org/documentation/stable/release/release_3.2.html -
in particular adds Python 3.12 support
- https://networkx.org/documentation/stable/release/release_3.2.1.html
- https://igraph.org/news.html

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36750
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
sagemathgh-36750: `networkx` 3.2.1, `igraph` 0.10.8, `python_igraph` 0.11.3
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

- https://networkx.org/documentation/stable/release/release_3.2.html -
in particular adds Python 3.12 support
- https://networkx.org/documentation/stable/release/release_3.2.1.html
- https://igraph.org/news.html

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36750
Reported by: Matthias Köppe
Reviewer(s): David Coudert
@vbraun vbraun merged commit 1aca3a8 into sagemath:develop Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants