rhub icon indicating copy to clipboard operation
rhub copied to clipboard

Update GLPK version in windows-x86_64-release

Open ntamas opened this issue 3 years ago • 8 comments
trafficstars

The windows-x86_64-release image contains a copy of GLPK 4.47, which is more than 10 years old now. Would it be possible to update it to a more recent version? The new version of igraph depends on GLPK 4.57 or later because it uses glp_at_error() and this was added in GLPK 4.57 only (which is also more than 6 years old). If GLPK 4.47 is installed in the image because it matches the version used in the CRAN build environment, then are there any plans to update the CRAN build environment to a newer version in the foreseeable future?

Note that other builders seem to use more recent GLPK versions (4.65 or so), and apparently rtools-packages also contains GLPK 4.65. The commit message even mentions that glpk was added because of igraph, but it seems like this version is not installed in windows-x86_64-release by default.

ntamas avatar Mar 29 '22 11:03 ntamas

I don't know how R-Hub processes the SystemRequirements field in the package metadata, but it seems like GLPK is missing from https://github.com/r-hub/sysreqsdb/tree/master/sysreqs for Windows. RStudio's database adds an entry for GLPK: https://github.com/rstudio/r-system-requirements/tree/master/rules

ntamas avatar Mar 29 '22 11:03 ntamas

What version of GLPK does CRAN's Windows have?

R-hub does not use SystemRequirements on Windows.

gaborcsardi avatar Mar 29 '22 11:03 gaborcsardi

It seems that the last version of the glpkAPI package was built with GLPK 4.47, so most likely that is indeed the version available on CRAN.

I can't speak for CRAN, but I would think that it will not be updated.

gaborcsardi avatar Mar 29 '22 11:03 gaborcsardi

Can we use a vendored GLPK then when compiling igraph, or is that against CRAN policy? We vendor GLPK 5.0 in C-igraph and it has been patched to get rid of abort() and printf() calls.

ntamas avatar Mar 29 '22 11:03 ntamas

AFAIK it is against policy. OTOH some packages do this already. Other packages download static libs from https://github.com/rwinlib

gaborcsardi avatar Mar 29 '22 11:03 gaborcsardi

OK, how about newer R versions then -- is R-devel going to have a newer GLPK version? If it will, I probably won't bother with vendoring GLPK and just work around the issue by disabling the branch that uses glp_at_error(). I'm asking because igraph builds successfully in win-builder with R-devel so it seems like there's a newer version of GLPK there.

ntamas avatar Mar 29 '22 11:03 ntamas

The coming R 4.2.0 will use a newer version: https://svn.r-project.org/R-dev-web/trunk/WindowsBuilds/winutf8/ucrt3/toolchain_libs/mxe/src/glpk.mk

Or this unofficial mirror is easier to browse: https://github.com/r-devel/r-dev-web/tree/master/WindowsBuilds/winutf8/ucrt3/toolchain_libs/mxe/src

gaborcsardi avatar Mar 29 '22 11:03 gaborcsardi

Thanks for the info; I'll just probably work around the older GLPK version then for the time being and looking forward to R-devel.

ntamas avatar Mar 29 '22 11:03 ntamas