molgenis / molgenis-service-armadillo

Armadillo; a DataSHIELD implementation, part of the MOLGENIS suite
https://molgenis.github.io/molgenis-service-armadillo/
GNU Lesser General Public License v3.0
7 stars 10 forks source link

Armadillo doesn't work with rserver with R 4.2 or higher #440

Closed marikaris closed 7 months ago

marikaris commented 1 year ago

How to reproduce

Start Armadillo in dev mode Open your terminal and type:

docker pull datashield/armadillo-rserver_habitat-zenith:draft

Now open localhost:8080 in your browser and go to the profiles page. Add profiles zenith: datashield/armadillo-rserver_habitat-zenith:draft and uniform : datashield/armadillo-rserver_caravan-uniform:1.0.1 Start both profiles. Open Docker desktop Open first the terminal in uniform Type: R Execute the following code:

library("magrittr")
to_df <- function(lst) {
  tibble::as_tibble(lapply(lst, function(x) t(tibble::as_tibble(x))))
}

read_datashield_inst <- function(package) {
file <- system.file("DATASHIELD", package = package$Package)
if (file == "") package
else {
  from_file <- as.list(unlist(tibble::as_tibble(read.dcf(file))))
  result <- append(as.list(package), as.list(from_file))
  result[!is.na(result)]
  }

This works fine, now do the same with the zenith container.

Expected

It works, just as with uniform

Observed

Error in file == "" : 
  comparison (==) is possible only for atomic and list types
timcadman commented 7 months ago

Fixed because we switched to Rock