Skip to content
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

chore: Update vendored sources to igraph/igraph@0f383457a13864b86a29eed4faf4efaade4c1254 #1299

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

krlmlr
Copy link
Contributor

@krlmlr krlmlr commented Mar 12, 2024

Update to the develop branch of igraph/C. @Antonov548: Can you please pick up from here?

Closes #1296.

Copy link
Contributor

aviator-app bot commented Mar 12, 2024

Current Aviator status

Aviator will automatically update this comment as the status of the PR changes.
Comment /aviator refresh to force Aviator to re-examine your PR (or learn about other /aviator commands).

This pull request is currently open (not queued).

How to merge

To merge this PR, comment /aviator merge or add the mergequeue label.


See the real-time status of this PR on the Aviator webapp.
Use the Aviator Chrome Extension to see the status of your PR within GitHub.

@krlmlr krlmlr marked this pull request as draft March 12, 2024 11:18
feat: added generic, algorithm-agnostic versions of igraph_count_automorphisms(), igraph_automorphism_group() and igraph_canonical_permutation()
refactor!: rename BLISS-specific isomorphism functions so they always have _bliss in the suffix - part 2
refactor!: rename BLISS-specific isomorphism functions so they always have _bliss in the suffix
Merge branch 'master' into develop
fix: fix segfault in GraphML reader
refactor: remove unneeded include
refactor: remove deprecated igraph_decompose_destroy()
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge pull request igraph/igraph#2470 from igraph/feat/is-biconnected
Merge branch 'master' into develop
Merge pull request igraph/igraph#2462 from igraph/feat/attribute-record-list
Merge branch 'master' into develop
fix: re-added missing master header in changelog
Merge branch 'master' into develop
Merge branch 'master' into develop
refactor: consistently use ARPACK_DEFAULTS as the default arpack options
chore: updated changelog
feat: include Texinfo docs in source tarball
fix: fix typo
fix: look for either docbook2x-texi or docbook2texi
fix: replace utf8 with utf-8 to prevent a warning when building texinfo docs
ci: make sure that the Texinfo docs are also built
Add target to build documentation in info format
docs: clarify that Infomap considers edge directions
fuzzer: update libxml2 to 2.12.3
fix: correct header includion in cliquer
chore(deps): bump github/codeql-action from 2 to 3
chore(deps): bump actions/upload-artifact from 3 to 4
doc: clarify the effect of loop edges in igraph_similarity_inverse_log_weighted(), closes igraph/igraph#2448
refactor: rename deprecated functions in generated interfaces
docs: fix typos
refactor: clean up dfs/bfs and their docs
refactor: replace void* with const igraph_vector_ptr_t* in attribute-related functions; more refactoring coming soon
refactor!: strvector now contains pointers to const
Merge branch 'master' into develop
refactor: rename igraph_i_attribute_gettype() to igraph_i_attribute_get_type() for sake of consistency
refactor: simplify attribute table init, copy and destroy methods
chore: post-release tasks
Merge branch 'master' into develop
fix: fix stimulus function spec
Merge branch 'master' into develop
fix: community_spinglass_single() now uses igraph_real_t for output parameters that return real values, fixes igraph/igraph#2435
Merge branch 'master' into develop
fix: fix jdm unit test and add rate-limited interruption to erdos_renyi_gnm_multi()
fix: fix Stimulus type specs
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
fix: fix Stimulus type specs
fix: allow interruption for multigaph case of G(n,m) generator
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
chore: fixed line endings and stale whitespace
fix!: NCOL and LGL readers now use a default weight of 1, closes igraph/igraph#2395
fix: EDGEWEIGHTS type parameter was renamed to EDGE_WEIGHTS earlier
Merge branch 'master' into develop
Merge branch 'master' into develop
refactor!: igraph_vector_swap() and igraph_matrix_swap() no longer return an error code
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Multi edge support for igraph_bipartite_game_gnm (igraph/igraph#2375)
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
correct number of erdos_renyi arguments in voronoi test
chore: fix mismerged changelog
refactor!: remove deprecated allocation macros
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
docs: clarify that usage of sub-headers is not supported closes igraph/igraph#2332
Merge branch 'master' into develop
refactor: more readable variable named in similarity code
Use two vertex selectors in Jaccard and Dice (igraph/igraph#2346)
Merge branch 'master' into develop
chore: update changelog, mentioning the the Pajek reader/writer now uses the 'name' attribute
docs: update Pajek docs, mentioning that the 'name' attribute is used
Merge pull request igraph/igraph#2276 from igraph/fix/pajek-names
Merge pull request igraph/igraph#2265 from VRajesh7649/feat/erdos_penyi_gnm_multiedges
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
refactor: fixed singular/plural issues with abstract types in types.yaml, now they are consistent
fix: fix typo in functions.yaml
refactor: rename igraph_delete_vertices_idx() to igraph_delete_vertices_map(), closes igraph/igraph#2310
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
chore: update changelog [skip ci]
refactor: igraph_rng_set_default() now returns old RNG, fixes igraph/igraph#2273
Merge branch 'master' into develop
Merge branch 'master' into develop
move community_fastgreedy example to tests
move community_edge_betweenness example to tests (igraph/igraph#2270)
Revert "move community_edge_betweenness example to tests"
move community_edge_betweenness example to tests
Merge branch 'master' into develop
refactor!: igraph_vector_shuffle() no longer returns an error code, closes igraph/igraph#2268
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
fix: standards-complient definition for igraph_allow_interruption()
refactor: replace IGRAPH_SUCCESS by false in IGRAPH_ALLOW_INTERRUPTION()
refactor!: interruption handlers now return igraph_bool_t
Merge branch 'master' into develop
refactor!: removed void* argument of interruption handlers
Merge branch 'master' into develop
refactor!: igraph_induced_subgraph_map() does not offset the vertex IDs in the mapping any more
refactor!: igraph_delete_vertices_idx() does not offset the vertex IDs in the mapping any more
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
add mode parameter to distances_johnson (igraph/igraph#2218)
Merge branch 'master' into develop
chore: added 'develop' section to changelog
Merge branch 'master' into develop
Merge branch 'master' into develop
refactor: remove unused 'destroy' field from heap data types; ABI-breaking change; refs igraph/igraph#2214
Copy link
Contributor

aviator-app bot commented Mar 12, 2024

This pull request failed to merge: this PR is in draft state. Remove the blocked label to re-queue.

Additional debug info: PR was marked as draft after queueing

@aviator-app aviator-app bot removed the mergequeue label Mar 12, 2024
Copy link
Contributor

aviator-app bot commented Mar 12, 2024

This pull request can't be queued because it's currently a draft.

@Antonov548
Copy link
Contributor

@krlmlr I couldn't get from where is version of igraph/C which is used in this pull request and why there so much difference with the current. For me it seems it's some old version.

@Antonov548
Copy link
Contributor

Antonov548 commented Mar 15, 2024

Was this line added on purpose?

git cherry-pick b6f576d25dc2c02dfeb2979716ef4809e4404c99 --no-edit

@krlmlr
Copy link
Contributor Author

krlmlr commented Mar 16, 2024

Have you seen #1296?

See https://github.com/igraph/rigraph/blame/6eeb6e4a575a8c0f718f0606cfc8805932b9e604/tools/update-cigraph.sh#L58 for where the line in question was added. True, this should have been a comment in the code.

@Antonov548
Copy link
Contributor

@szhorvat @ntamas
This is what I added manually to the C/igraph. There is missmutch of definition and declaration:

igraph_error_t igraph_canonical_permutation(
const igraph_t *graph, const igraph_vector_int_t *colors,
igraph_vector_int_t *labeling
) {

@ntamas
Copy link
Member

ntamas commented Mar 21, 2024

Thanks, fixed in igraph/igraph@44541b9ef

@krlmlr
Copy link
Contributor Author

krlmlr commented Mar 22, 2024

Thanks. So, now we can compile, but tests fail? Can we identify which, and then perhaps create a checklist?

@Antonov548
Copy link
Contributor

Thanks. So, now we can compile, but tests fail? Can we identify which, and then perhaps create a checklist?

Some tests are failing with stop of execution. Can you remind please how I can run without stop of execution? To see all failing tests.

@krlmlr
Copy link
Contributor Author

krlmlr commented Mar 22, 2024

TESTTHAT_PARALLEL=false R -q -e 'testthat::test_local(reporter = "location")

@krlmlr krlmlr self-assigned this Apr 9, 2024
@krlmlr krlmlr assigned Antonov548 and unassigned krlmlr Apr 13, 2024
@Antonov548
Copy link
Contributor

Antonov548 commented Apr 16, 2024

Tests are passing 👍
Examples are failing 👎

@szhorvat
Copy link
Member

szhorvat commented Apr 16, 2024

To make this work well, I suggest basing the upgrade on the changelog, not on the tests. Reading the changelog is an absolute must to be able to adapt not just functions, but also their documentation, appropriately. Expect some subtle changes that will be missed if you rely on tests only.

https://github.com/igraph/igraph/blob/develop/CHANGELOG.md

@szhorvat
Copy link
Member

In the meantime some more breaking changes were made on the C side.

@@ -2299,9 +2299,9 @@ igraph_error_t R_igraph_interrupt_handler(void *data) {
*/
if (R_ToplevelExec(checkInterruptFn, NULL) == FALSE) {
IGRAPH_FINALLY_FREE();
return IGRAPH_INTERRUPTED;
return 1;
Copy link
Member

Choose a reason for hiding this comment

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

It's a good idea to use true / false instead of 1 and 0. That way it's immediately clear that what's returned is a boolean, not an integer. The same goes for NULL vs 0.

@krlmlr
Copy link
Contributor Author

krlmlr commented Jul 18, 2024

@Antonov548: can you please refresh this PR, to see where we'll be at when upgrading the C core?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix builds with the develop branch of igraph/C
5 participants