Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for Debian 11/12 (possible for a first time contributer?) #21

Closed
camelusminimus opened this issue Nov 13, 2023 · 6 comments · Fixed by #22
Closed

Adding support for Debian 11/12 (possible for a first time contributer?) #21

camelusminimus opened this issue Nov 13, 2023 · 6 comments · Fixed by #22

Comments

@camelusminimus
Copy link

Since the posit seems to have enabled Debian 11/12 Support for the package repository, would it be possible to enable support in rspm for this? There should not be much difference to the existing Ubuntu support or?

(If it is just enabling it by integrating checks in the code, I would be happy to (try) to create a corresponding pull request, but I thought I would ask first, to verify there were not some more complicated blockers...

@Enchufa2
Copy link
Member

It shouldn't be hard, but it's not trivial either. There are a number of knobs to adjust and things to test carefully. I'll handle it, thanks.

@camelusminimus
Copy link
Author

If I can aid you in any way, please let me know!

Enchufa2 added a commit that referenced this issue Nov 14, 2023
@Enchufa2
Copy link
Member

Could you please check if the commit above works for you? You can install it with

remotes::install_github("cran4linux/rspm@debian")

Enchufa2 added a commit that referenced this issue Nov 14, 2023
@camelusminimus
Copy link
Author

It generally seems to work (also with renv), but I ran into trouble when trying to install a package that I know has unmet (system-)dependencies...I do not know if the problem is related...

Restarting R session...

- Project '~/temp/rspm-test' loaded. [renv 1.0.3]
- The project is out-of-sync -- use `renv::status()` for details.
Tracing function "install.packages" in package "shims"
Tracing function "update.packages" in package "shims"
> options(renv.settings.use.cache = FALSE)
> install.packages(c('concaveman'))
# Downloading packages -------------------------------------------------------
- Downloading concaveman from RSPM ...          OK [file is up to date]
- Downloading V8 from RSPM ...                  OK [file is up to date]
- Downloading Rcpp from RSPM ...                OK [file is up to date]
- Downloading curl from RSPM ...                OK [file is up to date]
- Downloading sf from RSPM ...                  OK [file is up to date]
- Downloading classInt from RSPM ...            OK [file is up to date]
- Downloading e1071 from RSPM ...               OK [file is up to date]
- Downloading proxy from RSPM ...               OK [file is up to date]
- Downloading DBI from RSPM ...                 OK [file is up to date]
- Downloading s2 from RSPM ...                  OK [file is up to date]
- Downloading wk from RSPM ...                  OK [file is up to date]
- Downloading units from RSPM ...               OK [file is up to date]
- Downloading dplyr from RSPM ...               OK [file is up to date]
- Downloading generics from RSPM ...            OK [file is up to date]
- Downloading pillar from RSPM ...              OK [file is up to date]
- Downloading fansi from RSPM ...               OK [file is up to date]
- Downloading utf8 from RSPM ...                OK [file is up to date]
- Downloading tibble from RSPM ...              OK [file is up to date]
- Downloading pkgconfig from RSPM ...           OK [file is up to date]
- Downloading tidyselect from RSPM ...          OK [file is up to date]
- Downloading withr from RSPM ...               OK [file is up to date]
Successfully downloaded 21 packages in 27 seconds.

The following package(s) will be installed:
- classInt   [0.4-10]
- concaveman [1.1.0]
- curl       [5.1.0]
- DBI        [1.1.3]
- dplyr      [1.1.3]
- e1071      [1.7-13]
- fansi      [1.0.5]
- generics   [0.1.3]
- pillar     [1.9.0]
- pkgconfig  [2.0.3]
- proxy      [0.4-27]
- Rcpp       [1.0.11]
- s2         [1.1.4]
- sf         [1.0-14]
- tibble     [3.2.1]
- tidyselect [1.2.0]
- units      [0.8-4]
- utf8       [1.2.4]
- V8         [4.4.0]
- withr      [2.5.2]
- wk         [0.9.0]
These packages will be installed into "~/temp/rspm-test/renv/library/R-4.3/x86_64-pc-linux-gnu".

Do you want to proceed? [Y/n]: y

# Installing packages --------------------------------------------------------
- Installing Rcpp ...                           OK [installed binary in 1.1s]
- Installing curl ...                           OK [installed binary in 0.53s]
- Installing V8 ...                             OK [installed binary in 0.64s]
- Installing proxy ...                          OK [installed binary in 0.45s]
- Installing e1071 ...                          OK [installed binary in 0.47s]
- Installing classInt ...                       OK [installed binary in 0.51s]
- Installing DBI ...                            OK [installed binary in 0.57s]
- Installing wk ...                             OK [installed binary in 0.56s]
- Installing s2 ...                             OK [installed binary in 0.68s]
- Installing units ...                          FAILED
/usr/lib/R/bin/R --vanilla -s -f '/tmp/RtmpdZ2U6V/renv-install-c809c54ebed91.R'
===============================================================================

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/jkraemer/temp/rspm-test/renv/staging/1/units/libs/units.so':
  libudunits2.so.0: cannot open shared object file: No such file or directory
Calls: loadNamespace -> library.dynam -> dyn.load
Execution halted

Error: error testing if 'units' can be loaded [error code 1]
Traceback (most recent calls last):
14: install.packages(c("concaveman"))
13: install(pkgs)
12: renv_install_impl(records)
11: renv_install_staged(records)
10: renv_install_default(records)
 9: handler(package, renv_install_package(record))
 8: renv_install_package(record)
 7: withCallingHandlers(renv_install_package_impl(record), error = function(e) writef("FAILED"))
 6: renv_install_package_impl(record)
 5: withCallingHandlers(if (isbin) renv_install_test(package), error = function(err) unlink(installpath, 
        recursive = TRUE))
 4: renv_install_test(package)
 3: renv_system_exec(command = R(), args = c("--vanilla", "-s", "-f", 
        renv_shell_path(script)), action = sprintf("testing if '%s' can be loaded", 
        package))
 2: abort(sprintf("error %s [error code %i]", action, status), body = renv_system_exec_details(command, 
        args, output))
 1: stop(fallback)

I will try without the renv, and report.

@camelusminimus
Copy link
Author

It is a problem with (my?) renv.
Using rspm on its own, I could install it.

So works for me(tm)...mostly ;-)

@Enchufa2
Copy link
Member

Thanks, I'll merge and release an update soon.

Enchufa2 added a commit that referenced this issue Nov 25, 2023
* add support for debian, closes #21

* some fixes for #21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants