[Rd] Matrix 1.6.2+ versus Matrix 1.6.2-

Balasubramanian Narasimhan n@r@@ @end|ng |rom @t@n|ord@edu
Wed Nov 22 23:10:04 CET 2023


Thanks Mikael.

[I too wondered if this topic was appropriate for the list and in the 
end thought it might be. We can probably take this offline after this 
exchange and summarize if appropriate.]

The actual source of the package is here: 
https://download.mosek.com/R/10.1/src/contrib/Rmosek_10.1.14.tar.gz

and requires a download of the optimizer first using an academic 
license: https://www.mosek.com/products/academic-licenses/

The optimizer typically installs under ~/mosek.

Then one installs Rmosek from CRAN as usual and follows the instructions 
it emits as it is loaded. The installation needs to know the Mosek bin 
directory: on a mac it is "~/mosek/10.1/tools/platform/osx64x86/bin". 
That begins the source installation process.

-Naras


On 11/22/23 1:14 PM, Mikael Jagan wrote:
> Naras,
>
> Thanks.  I'm a bit confused, because Rmosek does not declare Matrix as a
> dependency:
>
>     > tools::package_dependencies("Rmosek", which = "all")[[1L]]
>     [1] "pkgbuild"
>
> nor does it contain code needing compilation:
>
>     > packageDescription("Rmosek", fields="NeedsCompilation")
>     [1] "no"
>
> Can you explain the nature of the dependency and how I can reproduce your
> output?  Is an _external_ library somehow linking Matrix ... ?
>
> Note that the 3 removed entry points were unused by all reverse LinkingTo
> on CRAN and BioC at the time that Matrix 1.6-2 was released.  We can
> suggest replacements (probably off list; I don't know that R-devel is the
> right forum) but only if we are able to see the code being compiled ...
>
> Mikael
>
> > Package Rmosek compiles fine using Matrix versions 1.6.2- but not with
> > anything beyond Matrix 1.6.2.  (FYI, Rmosek provides R interfaces to 
> the
> > excellent MOSEK solver; academic licenses are free.)
> >
> > Here is the error message:
> >
> >     rmsk_obj_matrices.cc:50:9: error: use of undeclared identifier 
> 'Matrix_isclass_Csparse'
> >         50 |     if (Matrix_isclass_Csparse(val)) {
> >            |         ^
> >     rmsk_obj_matrices.cc:171:9: error: use of undeclared identifier 
> 'Matrix_isclass_triplet'
> >        171 |     if (Matrix_isclass_triplet(val)) {
> >            |         ^
> >     rmsk_obj_matrices.cc:225:24: error: use of undeclared identifier 
> 'M_chm_triplet_to_SEXP'
> >        225 | matrixhandle.protect(M_chm_triplet_to_SEXP(tmp, 0, 0, 
> 0, NULL, R_NilValue));
> >
> > These API entry points are no longer in the recent headers. My quick
> > examination shows that the first two seem like mostly R API stuff 
> and so
> > can be copied over to Rmosek easily but the last one looks more 
> involved
> > in my cursory examination.
> >
> > I was going to let the author of Rmosek know, but I do not see any
> > mention of these API entries going away in the NEWS for Matrix.
> >
> > Would be good to point the author to a suggested approach or even
> > provide the beginnings of a fix. Any thoughts, particularly by Matrix
> > authors (Martin, Mikael)?
> >
> > Thanks in advance.
> >
> > -Naras



More information about the R-devel mailing list