GrossSBM / missSBM

An R package for adjusting Stochastic Block Models from networks data sampled under various missing data conditions
http://grosssbm.github.io/missSBM
GNU General Public License v3.0
12 stars 2 forks source link

Fixing Linux installation issue undefined symbol: dstedc_ #44

Closed astamm closed 2 years ago

astamm commented 2 years ago

Updated GH action CI scripts to newer versions to see if error persists and simplified the Makevars file for now. If error persists, it might be related to the fact that the template for Makevars{.win} when using RcppArmadillo are supposed to look like: https://stat.ethz.ch/pipermail/r-sig-debian/2020-October/003258.html. However, you seem to use a slightly different one.

astamm commented 2 years ago

What does R-Hub Linux platform checks say about it?

jchiquet commented 2 years ago

R-hub:

Winbuilder

astamm commented 2 years ago

For R-Hub Ubuntu, the relevant part is:

``` #> Skipping nloptr, it is already being installed 7045#> Running `R CMD build`... 7046#> * checking for file ‘/tmp/RtmpwPkDp5/remotes17e1417e66e/missSBM/DESCRIPTION’ ... OK 7047#> * preparing ‘missSBM’: 7048#> * checking DESCRIPTION meta-information ... OK 7049#> * cleaning src 7050#> * installing the package to process help pages 7051#> ----------------------------------- 7052#> ERROR: dependency ‘nloptr’ is not available for package ‘missSBM’ 7053#> * removing ‘/tmp/Rtmp5y6QHk/Rinst3ca82a99a4b3/missSBM’ 7054#> ----------------------------------- 7055#> ERROR: package installation failed ```

which complains about not finding nloptr.

For Fedora:

``` #> ----------------------------------- 6984#> ERROR: dependency ‘nloptr’ is not available for package ‘missSBM’ 6985#> * removing ‘/tmp/RtmpQfF8kS/Rinst2bb0567547e7/missSBM’ 6986#> ----------------------------------- 6987#> ERROR: package installation failed ```

which complains about not finding nloptr too.

For Debian:

``` #> ----------------------------------- 7597#> ERROR: dependencies ‘Rcpp’, ‘nloptr’, ‘sbm’, ‘RcppArmadillo’ are not available for package ‘missSBM’ 7598#> * removing ‘/tmp/Rtmp2rdxuv/Rinst3c8a3edf7747/missSBM’ 7599#> ----------------------------------- 7600#> ERROR: package installation failed ```

which complains about not finding Rcpp, nloptr, sbm, RcppArmadillo.

It could be that cmake has to be configured properly in your GH action workflow for nloptr to build properly in the absence of a suitable system build of NLopt. You can see for instance: https://github.com/astamm/nloptr/blob/3da87d968a6466394bb19b909a482b1587282a6d/.github/workflows/check-standard.yaml

astamm commented 2 years ago

All I could think of seems irrelevant. But like Dirk, I cannot reproduce the error from your CI, so I cannot investigate further.

jchiquet commented 2 years ago

I found the problem: (there were two competing issue). You corrected one with your first PR. But another linking problem was due to the use of the function arma::eigs_sym from armadillo which does not seems to be correctly linked. I am at the moment replacing this function by RSpectra::eigs_sym. This should correct the second pb.

astamm commented 2 years ago

That's great. If that solves it, we should probably close this PR full of nonsense trials :).