role-model / roleR

R package implementing the RoLE model
https://role-model.github.io/roleR
GNU General Public License v3.0
1 stars 2 forks source link

Distribution/install strategy #64

Open diazrenata opened 1 year ago

diazrenata commented 1 year ago
jidec commented 1 year ago

we may want to consider Runiverse: https://r-universe.dev/builds/ for hosting compiled beta versions of the package

diazrenata commented 1 year ago

Installing from RUniverse to a Mac seems to still require compilation? See:

> install.packages('roleR', 
+                  repos = c('https://role-model.r-universe.dev',
+                            'https://cloud.r-project.org'))
Package which is only available in source form, and may need compilation of C/C++/Fortran:
  ‘roleR’
Do you want to attempt to install these from sources? (Yes/no/cancel) Yes
diazrenata commented 1 year ago

Current suggestion:

diazrenata commented 1 year ago

CF (on an M1 mac) was unable to install a binary generated by RMD (on an M1 mac) with:

Error: package or namespace load failed for ‘roleR’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so':
  dlopen(/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so, 0x0006): tried: '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (no such file), '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

Generally this appears to relate to architecture on M1 macs.

diazrenata commented 1 year ago

IO suggests VirtualBox with Ubuntu install.

This would be a step towards sending folks home with a working/portable install (more so than plugging them in to, e.g., bobolink)

On May 10, 2023, at 2:01 PM, Renata Diaz @.***> wrote:

CF (on an M1 mac) was unable to install a binary generated by RMD (on an M1 mac) with:

Error: package or namespace load failed for ‘roleR’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so': dlopen(/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so, 0x0006): tried: '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (no such file), '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/roleR/libs/roleR.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')) Generally this appears to relate to architecture on M1 macs.

— Reply to this email directly, view it on GitHub https://github.com/role-model/roleR/issues/64#issuecomment-1542600812, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEH6DNYGS4AS3GBBYAO3LPTXFPJV7ANCNFSM6AAAAAAVVUM24Y. You are receiving this because you are subscribed to this thread.

diazrenata commented 1 year ago

Another option may be docker/rocker

https://rocker-project.org/use/extending.html

From https://journal.r-project.org/archive/2017/RJ-2017-065/RJ-2017-065.pdf:

Another common use case is to access a container with support for particular options such as using gcc or clang compiler sanitizers (Eddelbuettel, 2014). These require R itself be built with specialized settings that may not be not available or familiar to many R users on their native system, but can be easily deployed by pulling the Rocker images rocker/r-devel-san or rocker/r-devel-ubsan-clang.

Docker is free for education

Docker containers can run on any OS