Gentoo Archives: gentoo-science

From: Benda Xu <heroxbd@g.o>
To: gentoo-science@l.g.o
Subject: Re: [gentoo-science] Errors installing Rcpp using R_Overlay
Date: Fri, 23 Mar 2018 00:00:17
Message-Id: 87lgejpssi.fsf@gentoo.org
In Reply to: Re: [gentoo-science] Errors installing Rcpp using R_Overlay by Neil Shephard
1 Hi Neil,
2
3 Thank you!
4
5 Neil Shephard <nshephard@×××××.com> writes:
6
7 > Thanks for taking the time to resolve this, that has worked nicely and
8 > Rcpp now emerges.
9 >
10 > I continued trying to replace all the packages I have installed
11 > directly through R with emerges from R_Overlay and opted to emerge the
12 > meta-package tidyverse which pulls in a ton of packages as well as
13 > more explicit packages that aren't pulled in. In doing so I've
14 > encountered three problems....
15 >
16 > 1. Some ebuilds try to pull in old versions.
17
18 > 2. Some ebuilds from R_Overlay require "USE=minimal dev-lang/R" whilst
19 > others require "USE=-minimal dev-lang/R" which makes it difficult to
20 > emerge things.
21
22 > 3. I found one package that is on CRAN but for which there is no ebuild.
23 >
24 > 1. Old Versions
25 > ============
26 >
27 > I found the following old version were pulled in....
28 >
29 > | Package | R_Overlay Version | CRAN version |
30 > |-----------|-------------------|---------------|
31 > | xml2 | 0.1.2 | 1.2.0 |
32 > | lubridate | 1.7.0 | 1.7.3 |
33
34 This is because the parser fails on the new version. Taking xml2 for
35 example, the "system requirements" field on CRAN is:
36
37 libxml2: libxml2-dev (deb), libxml2-devel (rpm)
38
39 The parser did not know "(deb)" this maps to dev-libs/libxml2, nor it
40 could match 'libxml2-devel'.
41
42
43 Before I had to fix these cornor cases manually. I am thinking of
44 exposing the configuration file so that users can contribute to the new
45 parsing rules.
46
47 > 2. dev-lang/R [-]minimal conflicts
48 > ==========================
49 >
50 > Tried emerging a bundle of packages and get conflicts relating to the
51 > USE=minimal, also resulted in some slot conflicts that I couldn't
52 > see. Its mostly the 'virtual/[pkg]' that require -minimal....
53 >
54 > emerge -av ggridges ggraph ggrepel ggnetwork ggmosaic gglasso ggimage
55 > ggforce gge ggalt ggROC ggHorizon ggExtra ggbeeswarm lme4 glmnet rpart
56 > caret survival Hmisc rms epitools pwr TrialSize longpower simglm
57 > clusterPower samplesize PowerTOST blockrand bookdown ...
58 >
59 > !!! Multiple package instances within a single package slot have been pulled
60 > !!! into the dependency graph, resulting in a slot conflict:
61 >
62 > dev-lang/R:0
63 >
64 > The following USE changes are necessary to proceed:
65 > (see "package.use" in the portage(5) man page for more details)
66 > # required by sci-CRAN/survival-2.41.3::R_Overlay
67 > # required by sci-CRAN/multcomp-1.4.8::R_Overlay
68 > # required by sci-CRAN/rms-5.1.2::R_Overlay
69 > # required by rms (argument)
70 >>=dev-lang/R-3.4.4 minimal
71 >
72 > Strangely virtual/rpart is listed as requiring USE=-minimal but the
73 > rpart package itself requires USE=minimal.
74
75 The short answer is, reinstall R with USE=minimal.
76
77 Long story: dev-lang/R[-minimal] installs a set of R-recommended packages,
78
79 https://cran.r-project.org/src/contrib/3.3.3/Recommended/
80
81 The packages are bundled with R. Then some package foo in R_Overlay,
82 depends on Matrix-1.4. It is not a problem for R, because it does not
83 track files and Matrix-1.4 overwrites the bundled Matrix-1.2.8. Portage
84 is strict on file collisions. Therefore, we have introduced the
85 virtuals. If you read the virtual ebuilds, e.g. matrix, it speaks for
86 itself
87
88 DESCRIPTION="Virtual of a R recommended package"
89 RDEPEND="
90 || (
91 dev-lang/R[-minimal]
92 sci-CRAN/Matrix
93 )"
94
95 > 3. Missing ebuild for one package
96 > ==========================
97 >
98 > I was going to try emergeing the blogdown package (https://cran.r-project.org/web/packages/blogdown/) but there is no ebuild for it in
99 > R_Overlay...
100 >
101 > # emerge -av blogdown
102 >
103 > emerge: there are no ebuilds to satisfy "blogdown".
104 >
105 > emerge: searching for similar names...
106 > emerge: Maybe you meant any of these: sci-CRAN/bookdown,
107 > sci-BIOC/ballgown, app-admin/logmon?
108
109 Reading CRAN blogdown
110
111 SystemRequirements: Hugo (<https://gohugo.io>) and Pandoc
112 (<http://pandoc.org>)
113
114 The parser will not know it is hugo (not yet packaged in Gentoo) and
115 app-text/pandoc.
116
117 > One minor caeveat is that I'm using a locally bumped version of R as
118 > the bugreport I've filed for bumping in portage
119 > (https://bugs.gentoo.org/632364) hasn't been addressed yet. I'm
120 > currently using =dev-lang/R-3.4.4
121
122 Thanks for the bug report.
123
124 > I'm unsure how the ebuilds in R_Overlay are generated, is it
125 > automatically based on available builds?
126
127 Yes, it has been a Google summer of code project by André Erdmann
128 mentored by calchan:
129
130 https://blogs.gentoo.org/calchan/2015/04/05/why-we-do-not-have-nor-want-r-packages-in-the-tree/
131
132 Now I find myself the only one left to do the server maintenance with
133 our infra team.
134
135 > Thanks for yours and others work on this, having R packages managed by
136 > portage is a real boon, as it removes the need to update.packages(ask
137 > = FALSE) so regularly.
138
139 You're welcome. I myself is an active user of it.
140
141 > If there is something I can do to help please let me know.
142
143 Keep on discussion.
144
145 If you have a connection with R development team, can we talk to them to
146 impose a machine-readable format on the "SystemRequirements:"?
147
148 Cheers,
149 Benda

Replies

Subject Author
Re: [gentoo-science] Errors installing Rcpp using R_Overlay Neil Shephard <nshephard@×××××.com>