Hirlam / obsmon

Tool for observation monitoring in the Harmonie-Arome NWP system
https://hirlam.github.io/obsmon/
MIT License
3 stars 8 forks source link

Installation of obsmon fails on Fedora 35 #19

Closed BertvanUlft closed 2 years ago

BertvanUlft commented 2 years ago

When installing obsmon 4.1.0 & 4.2.0 on Fedora 35 it fails with errors like:

Progress 7%, installing R-lib 12/157: stringi (== 1.7.3) ... * installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
** using staged installation
sh: line 1: NA: command not found
Warning in system(cmd) : error in running command
ERROR: configuration failed for package ‘stringi’
* removing ‘/swrepos/free_fedora35/installed/obsmon-4.2.0/.installer_local_R-libs/R-libs/stringi’

Error: installation of package ‘stringi’ had non-zero exit status
Error in file(con, "r") : cannot open the connection
Calls: install ... tryCatchOne -> <Anonymous> -> tryCatch -> readLines -> file
In addition: Warning message:
In file(con, "r") :
  cannot open file 'stringi.out': No such file or directory

Installing the package stringi in R manually in the directory where obsmon expects it works fine. After then tar.gzipping it in obsmon-4.2.0/.installer_local_R-lib/compiled_binaries/x86_64-redhat-linux-gnu-Fedora-35/R_4.1 and updating the .installer_pkg_versions.txt it goes a bit further until it crashes in some next package. Having repeated this procedure till a 157 have been installed it seems to work well. I then expected that I could easily re-install obsmon-4.2.0 on another Fedora 35 machine using the modified .installer_pkg_versions.txt file, but it crashes in the same manner in the stringi installation (now 1.7.6). Note the NA: command not found error. Any ideas what could be causing this?

paulovcmedeiros commented 2 years ago

Hi!

I've finally had time to look into this. This was a bug in the install script, thanks for reporting. It should now be fixed (v4.3.0). See https://github.com/Hirlam/obsmon/commit/8d8f55dba7b5130d41d06fc43d42deaa64b29fbf.

I'll close the issue but feel free to make a new report should you continue to face this issue.

BertvanUlft commented 2 years ago

Thanks Paulo, had to update versions of three packages, but after that installation ran smoothly!

paulovcmedeiros commented 2 years ago

What do you mean? Did you need to update packages after this update? You shouldn't in principle need to do this after this update, but, if you did, which packages were those and why did you need to update them?

BertvanUlft commented 2 years ago

Compilation of three packages failed with the list in git. I changed these to more recent changes, that I also used in my dodgy obsmom-4.2.0 installation:

isoband  == 0.2.4  --> 0.2.5
RcppTOML == 0.1.3  --> 0.1.7
testthat == 3.0.2  --> 3.1.1

I haven't stored the errors it gave.

paulovcmedeiros commented 2 years ago

Would you be able to run the install again with the original packages (ans using the --live option )? It would be good for me to understand why they failed for you, because in my (limited) test environments the install worked fine. I may even update these packages in the repo if I see that it's a general issue.

For context: The reason I fixed these pkg versions is that they are updated quite frequently on CRAN and then things can often start to misbehave as a result. And that's something I don't have control over.

BertvanUlft commented 2 years ago

Great, didn't know the --live option. I tried it on a different Fedora 35 system, it gave the same errors (see below, click to expand). Is there a good method to find a consistent, non-conflicting set of package versions?

The crash for isoband: ``` Progress 37%, installing R-lib 58/154: isoband (== 0.2.4) ... No pre-compiled binary for package "isoband (== 0.2.4)". Building... * installing *source* package ‘isoband’ ... ** package ‘isoband’ successfully unpacked and MD5 sums checked ** using staged installation ** libs g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c clip-lines.cpp -o clip-lines.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c init.cpp -o init.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c isoband.cpp -o isoband.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c polygon.cpp -o polygon.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c separate-polygons.cpp -o separate-polygons.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c test-clip-lines.cpp -o test-clip-lines.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -Itestthat -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c test-runner.cpp -o test-runner.o In file included from /usr/include/signal.h:328, from testthat/vendor/catch.h:6472, from testthat/testthat.h:65, from test-runner.cpp:8: testthat/vendor/catch.h:6495:33: error: size of array ‘altStackMem’ is not an integral constant-expression 6495 | static char altStackMem[SIGSTKSZ]; | ^~~~~~~~ testthat/vendor/catch.h:6546:45: error: size of array ‘altStackMem’ is not an integral constant-expression 6546 | char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; | ^~~~~~~~ make: *** [/usr/lib64/R/etc/Makeconf:177: test-runner.o] Error 1 ERROR: compilation failed for package ‘isoband’ * removing ‘/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/isoband’ Error: installation of package ‘isoband’ had non-zero exit status Execution halted ```
The crash for RcppTOML: ``` Progress 93%, installing R-lib 144/154: RcppTOML (== 0.1.3) ... No pre-compiled binary for package "RcppTOML (== 0.1.3)". Building... * installing *source* package ‘RcppTOML’ ... ** package ‘RcppTOML’ successfully unpacked and MD5 sums checked ** using staged installation ** libs g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -I../inst/include/ -DCPPTOML_USE_MAP -I'/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/Rcpp/include' -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c RcppExports.cpp -o RcppExports.o gcc -m64 -I"/usr/include/R" -DNDEBUG -I../inst/include/ -DCPPTOML_USE_MAP -I'/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/Rcpp/include' -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c init.c -o init.o g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG -I../inst/include/ -DCPPTOML_USE_MAP -I'/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/Rcpp/include' -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c parse.cpp -o parse.o In file included from parse.cpp:22: ../inst/include/cpptoml.h: In static member function ‘static cpptoml::value_traits::value) && std::is_signed::type>::value)>::type>::value_type cpptoml::value_traits::value) && std::is_signed::type>::value)>::type>::construct(T&&)’: ../inst/include/cpptoml.h:341:24: error: ‘numeric_limits’ is not a member of ‘std’ 341 | if (val < std::numeric_limits::min()) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:341:46: error: expected primary-expression before ‘>’ token 341 | if (val < std::numeric_limits::min()) | ^ ../inst/include/cpptoml.h:341:49: error: ‘::min’ has not been declared; did you mean ‘std::min’? 341 | if (val < std::numeric_limits::min()) | ^~~ | std::min In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ In file included from parse.cpp:22: ../inst/include/cpptoml.h:346:24: error: ‘numeric_limits’ is not a member of ‘std’ 346 | if (val > std::numeric_limits::max()) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:346:46: error: expected primary-expression before ‘>’ token 346 | if (val > std::numeric_limits::max()) | ^ ../inst/include/cpptoml.h:346:49: error: ‘::max’ has not been declared; did you mean ‘std::max’? 346 | if (val > std::numeric_limits::max()) | ^~~ | std::max In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ In file included from parse.cpp:22: ../inst/include/cpptoml.h: In static member function ‘static cpptoml::value_traits::value) && std::is_unsigned::type>::value)>::type>::value_type cpptoml::value_traits::value) && std::is_unsigned::type>::value)>::type>::construct(T&&)’: ../inst/include/cpptoml.h:367:46: error: ‘numeric_limits’ is not a member of ‘std’ 367 | if (val > static_cast(std::numeric_limits::max())) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:367:68: error: expected primary-expression before ‘>’ token 367 | if (val > static_cast(std::numeric_limits::max())) | ^ ../inst/include/cpptoml.h:367:71: error: ‘::max’ has not been declared; did you mean ‘std::max’? 367 | if (val > static_cast(std::numeric_limits::max())) | ^~~ | std::max In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ In file included from parse.cpp:22: ../inst/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_floating_point<_Tp>::value) && std::is_signed<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: ../inst/include/cpptoml.h:1006:29: error: ‘numeric_limits’ is not a member of ‘std’ 1006 | if (v->get() < std::numeric_limits::min()) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:1006:45: error: expected primary-expression before ‘>’ token 1006 | if (v->get() < std::numeric_limits::min()) | ^ ../inst/include/cpptoml.h:1006:48: error: ‘::min’ has not been declared; did you mean ‘std::min’? 1006 | if (v->get() < std::numeric_limits::min()) | ^~~ | std::min In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ In file included from parse.cpp:22: ../inst/include/cpptoml.h:1010:29: error: ‘numeric_limits’ is not a member of ‘std’ 1010 | if (v->get() > std::numeric_limits::max()) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:1010:45: error: expected primary-expression before ‘>’ token 1010 | if (v->get() > std::numeric_limits::max()) | ^ ../inst/include/cpptoml.h:1010:48: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1010 | if (v->get() > std::numeric_limits::max()) | ^~~ | std::max In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ In file included from parse.cpp:22: ../inst/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_same::value) && std::is_unsigned<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: ../inst/include/cpptoml.h:1033:52: error: ‘numeric_limits’ is not a member of ‘std’ 1033 | if (static_cast(v->get()) > std::numeric_limits::max()) | ^~~~~~~~~~~~~~ ../inst/include/cpptoml.h:1033:68: error: expected primary-expression before ‘>’ token 1033 | if (static_cast(v->get()) > std::numeric_limits::max()) | ^ ../inst/include/cpptoml.h:1033:71: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1033 | if (static_cast(v->get()) > std::numeric_limits::max()) | ^~~ | std::max In file included from /usr/include/c++/11/algorithm:62, from ../inst/include/cpptoml.h:10, from parse.cpp:22: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ make: *** [/usr/lib64/R/etc/Makeconf:177: parse.o] Error 1 ERROR: compilation failed for package ‘RcppTOML’ * removing ‘/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/RcppTOML’ Error: installation of package ‘RcppTOML’ had non-zero exit status Execution halted ```
testthat errors: ``` Progress 98%, installing R-lib 152/154: testthat (== 3.0.2) ... No pre-compiled binary for package "testthat (== 3.0.2)". Building... * installing *source* package ‘testthat’ ... ** package ‘testthat’ successfully unpacked and MD5 sums checked ** using staged installation ** libs gcc -m64 -I"/usr/include/R" -DNDEBUG -I../inst/include -DCOMPILING_TESTTHAT -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c init.c -o init.o gcc -m64 -I"/usr/include/R" -DNDEBUG -I../inst/include -DCOMPILING_TESTTHAT -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c reassign.c -o reassign.o g++ -m64 -std=gnu++14 -I"/usr/include/R" -DNDEBUG -I../inst/include -DCOMPILING_TESTTHAT -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c test-catch.cpp -o test-catch.o g++ -m64 -std=gnu++14 -I"/usr/include/R" -DNDEBUG -I../inst/include -DCOMPILING_TESTTHAT -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c test-example.cpp -o test-example.o g++ -m64 -std=gnu++14 -I"/usr/include/R" -DNDEBUG -I../inst/include -DCOMPILING_TESTTHAT -I/usr/local/include -fpic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c test-runner.cpp -o test-runner.o In file included from /usr/include/signal.h:328, from ../inst/include/testthat/vendor/catch.h:6472, from ../inst/include/testthat/testthat.h:65, from ../inst/include/testthat.h:1, from test-runner.cpp:7: ../inst/include/testthat/vendor/catch.h:6495:33: error: size of array ‘altStackMem’ is not an integral constant-expression 6495 | static char altStackMem[SIGSTKSZ]; | ^~~~~~~~ ../inst/include/testthat/vendor/catch.h:6546:45: error: size of array ‘altStackMem’ is not an integral constant-expression 6546 | char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; | ^~~~~~~~ make: *** [/usr/lib64/R/etc/Makeconf:177: test-runner.o] Error 1 ERROR: compilation failed for package ‘testthat’ * removing ‘/home/ulft/source/obsmon-4.3.0/.installer_local_R-libs/R-libs/testthat’ Error: installation of package ‘testthat’ had non-zero exit status Execution halted ```

When running obsmon, and selecting things in the browser, obsmon prints messages like:

Warning in mccollect(jobs = jobs, wait = TRUE) :
  1 parallel job did not deliver a result
ERROR [2022-02-10 12:13:25] Error: Failed to retrieve the result of MulticoreFuture (<none>) from the forked worker (on localhost; PID 549786). Post-mortem diagnostic: No process exists with this PID, i.e. the forked localhost worker is no longer alive.

Unhandled promise error: Failed to retrieve the result of MulticoreFuture (<none>) from the forked worker (on localhost; PID 549786). Post-mortem diagnostic: No process exists with this PID, i.e. the forked localhost worker is no longer alive.

Could that be related to these changed versions?

khintz commented 2 years ago

I am facing the same issue as @BertvanUlft on Ubuntu 22.04, when I'll try to deploy obsmon with ansible. I am checking out version 4.3.0, but I still see the error:

Progress 15%, installing R-lib 24/154: stringi (== 1.7.3) ...
"stderr": "Error: installation of package ‘stringi’ had non-zero exit status
Error in file(con, \"r\") : cannot open the connection
Calls: install ... tryCatchOne -> <Anonymous> -> tryCatch -> readLines -> file
In addition: Warning message:
In file(con, \"r\") 
cannot open file 'stringi.out': No such file or directory\nExecution halted"

I have tried installing stringi=1.7.3 using devtools before installing obsmon, which succeeds, but the obsmon install script still gives the same error.

For reference I give my R related ansible steps below:

Ansible steps ```ansible - name: Add key for CRAN-R repository apt_key: url: https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc state: present - name: Add CRAN-R repository apt_repository: repo: "deb https://cloud.r-project.org/bin/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }}-cran40/" state: present update_cache: yes - name: Install r-base apt: name: - r-base=4.2.1-1.2204.0 state: present update_cache: yes - name: Install the necessary CRAN devtools package shell: R -e "install.packages('devtools', repos='http://cran.rstudio.com/')" args: warn: yes - name: Install shiny shell: R -e "require(devtools); install_version('shiny', version = '1.7.1', repos = 'http://cran.us.r-project.org')" args: warn: yes - name: Get and install shiny-server shell: | wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.18.987-amd64.deb gdebi --non-interactive shiny-server-1.5.18.987-amd64.deb ufw allow 3838 args: warn: yes - name: Install rmarkdown shell: R -e "require(devtools); install_version('rmarkdown', version = '2.14', repos = 'http://cran.us.r-project.org')" args: warn: yes - name: Install tidyverse required by obsmon shell: R -e "require(devtools); install_version('tidyverse', version = '1.3.1', repos = 'http://cran.us.r-project.org')" args: warn: yes ##################### # Fetch and install obsmon ##################### - name: Git checkout obsmon ansible.builtin.git: repo: "{{ obsmon_repo }}" dest: /srv/checkout version: "{{ obsmon_tag }}" - name: Install stringi required by obsmon shell: R -e "require(devtools); install_version('stringi', version = '1.7.3', repos = 'http://cran.us.r-project.org')" args: warn: yes # #status stringi fails - name: Install obsmon frontend shell: cd /srv/checkout/ && ./install args: warn: yes ```