On 05/02/2019 09:43, Loris Bennett wrote:
Hi,
I have been trying to add extra R packages as suggested. However, with
the following:
easyblock = 'Bundle'
name = 'R'
version = '3.5.1'
versionsuffix='-zedat_extras'
rver = '3.5.1'
homepage = 'http://www.r-project.org/'
description = """R is a free software environment for statistical computing and
graphics."""
toolchain = {'name': 'foss', 'version': '2018b'}
# these are extensions for R
exts_defaultclass = 'RPackage'
exts_filter = ("R -q --no-save", "library(%(ext_name)s)")
dependencies = [
('R', '3.5.1'),
]
name_tmpl = '%(name)s_%(version)s.tar.gz'
ext_options = {
'source_urls': [
'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package
archive
'http://cran.r-project.org/src/contrib/', # current version of
packages
],
'source_tmpl': name_tmpl,
}
# !! order of packages is important !!
# packages updated on 22nd January 2019
exts_list = [
('StanHeaders', '2.18.1', ext_options),
('inline', '0.3.15', ext_options),
('rstan', '2.17.2', ext_options),
]
moduleclass = 'lang'
I get the error:
== FAILED: Installation ended unsuccessfully (build directory:
/trinity/shared/easybuild/build/R/3.5.1/foss-2018b-zedat_extras): build failed
(first 300 chars): Sanity check failed: no (non-empty) directory found at 'bin'
in /trinity/shared/easybuild/software/R/3.5.1-foss-2018b-zedat_extras
no (non-empty) directory found at 'lib' or 'lib64' in
/trinity/shared/easybuild/software/R/3.5.1-foss-2018b-zedat_extras
extensions sanity check failed for 3 extensions:
If I remove the explicit sanity checks with
sanity_check_paths = {
'files': [],
'dirs': [],
}
I get
== FAILED: Installation ended unsuccessfully (build directory:
/trinity/shared/easybuild/build/R/3.5.1/foss-2018b-zedat_extras): build failed
(first 300 chars): Sanity check failed: extensions sanity check failed for 3
extensions: StanHeaders, inline, rstan
failing sanity check for 'StanHeaders' extension: command "R -q --no-save" (stdin:
"library(StanHeaders)") failed; output:
> library(StanHeaders)
Error in library(StanHeaders) : there is no package calle
The problem seems to be that the packages are installed successfully under
/trinity/shared/easybuild/software/R/3.5.1-foss-2018b-zedat_extras
but because this directory is not in the library path, the default R
sanity check of loading the packages fails.
What I am missing?
This, to update $R_LIBS so R knows where to find the additional packages:
modextrapaths = {'R_LIBS': ''}
You also need a custom sanity_check_paths, this one is typical for a
bundle of R packages:
sanity_check_paths = {
'files': [],
'dirs': [name],
}
You can make(/should?) make it a bit more specific of course...
regards,
Kenneth
Cheers,
Loris
"Dey, John F" <[email protected]> writes:
To customize R to your site create a separate EasyConfig using easyblock =
'Bundle' and exts_defaultclass = 'RPackage'. Depend the "Published" R from the
official EasyBuild/EasyConfig repo. Create a new exts_list with packages local
to your site that are not in the base R easyconfig. You will also be able to
add BioConductor packages to your new custom build of R.
Please look at an example; I add the suffix "fh1" for Fred Hutch".
https://github.com/FredHutch/easybuild-life-sciences/blob/master/fh_easyconfigs/R-3.5.1-foss-2018b-fh1.eb
John Dey
On 1/18/19, 4:05 AM, "[email protected] on behalf of Loris Bennett"
<[email protected] on behalf of [email protected]> wrote:
Hi,
I'm installing R and see that a whole bunch of R packages are also
being installed via exts_list. However, if I need additional packages,
do I just make a copy of the original easyconfig and just add to
exts_list? Or is there some way of having a list of only the additional
packages which could somehow be included by the current and all future
standard R easyconfigs?
Cheers,
Loris
--
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin Email [email protected]
--
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin Email [email protected]