luukvdmeer / sfnetworks

Tidy Geospatial Networks in R
https://luukvdmeer.github.io/sfnetworks/
Other
338 stars 20 forks source link

GraphML example can not be executed on MacOS #194

Open luukvdmeer opened 2 years ago

luukvdmeer commented 2 years ago

Email from CRAN:

Dear maintainer,

Please see the problems shown on https://cran.r-project.org/web/checks/check_results_sfnetworks.html.

Please correct before 2021-12-19 to safely retain your package on CRAN.

Do remember to look at the 'Additional issues'.

The CRAN Team

You are using a optional feature of igraph, one that the igraph maintainer has broken the detection of on macOS. So this needs to be used conditionally in your package as even if it is corrected in igraph, it may not be present.

To me quite an unclear message, especially since the changelogs of igraph don't mention anything in this regard. But looking at the warning messages in the CRAN checks it seems to be that you cannot import GraphML on MacOS anymore. We only use this in an example in the vignette.

loreabad6 commented 2 years ago

I found this installation guide within the igraph documentation. Mainly this line is of interest:

Check the output carefully, and ensure that all features you need are enabled. If CMake could not find certain libraries, some features such as GraphML support may have been automatically disabled.

So I would say, the library that gives GraphML support is not included on the Mac versions of CRAN and hence --disable-graphml is passed to ./configure (as explained here https://github.com/igraph/rigraph/issues/382#issuecomment-605290746) and therefore the CRAN message.

I have no clear idea how to change this yet. Maybe we use a different driver to give the example in the vignette?

luukvdmeer commented 2 years ago

If we find a good example dataset. Not sure if there are ways to conditionally run chuncks based on the OS, but probably that either way is too much to do for only one example (although I do think the example is really nice..). Also, from the email I get that "the igraph maintainer has broken the detection", which 1) I don't know what it means (maybe @Robinlovelace you have a clue?) and 2) it seems to suggest this is a delibarate choice of igraph and not something that is only a result of a missing dependency on the CRAN server.. :confused: (but again I cannot find anything in igraphs changelogs that mentions this)

agila5 commented 2 years ago

This is probably too much for just one example, but we could also pre-compute all vignettes and entirely skip that stage of R CMD CHECK. The main downside is that we also skip all "tests" implicitly written in the vignettes.

luukvdmeer commented 2 years ago

I asked the igraph maintainers about it: https://igraph.discourse.group/t/graphml-support-on-macos/1040 It is not intended and they will look into it. For the meantime however I will remove the example from the vignette such that sfnetworks remains on CRAN.