You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by lf...@apache.org on 2021/07/02 09:40:07 UTC
[incubator-datalab] 03/03: [DATALAB-2448]: fixed R devtools
installation issues for dataproc
This is an automated email from the ASF dual-hosted git repository.
lfrolov pushed a commit to branch DATALAB-2448
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit 5fceef5aafbe0775e51589c4b2818c8f9e1e28dd
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Fri Jul 2 12:39:46 2021 +0300
[DATALAB-2448]: fixed R devtools installation issues for dataproc
---
infrastructure-provisioning/src/general/lib/os/fab.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/infrastructure-provisioning/src/general/lib/os/fab.py b/infrastructure-provisioning/src/general/lib/os/fab.py
index 9829cc4..5682832 100644
--- a/infrastructure-provisioning/src/general/lib/os/fab.py
+++ b/infrastructure-provisioning/src/general/lib/os/fab.py
@@ -536,10 +536,11 @@ def install_r_pkg(requisites):
if os.environ['conf_resource'] in ('dataengine-service'):
if os.environ['conf_cloud_provider'] in ('aws'):
manage_pkg('-y install', 'remote', 'libcurl libcurl-devel')
- elif os.environ['conf_cloud_provider'] in ('gcp'):
- # manage_pkg('-y build-dep', 'remote', 'libcurl4-gnutls-dev libxml2-dev')
- manage_pkg('-y install', 'remote', 'libxml2-dev libcurl4-openssl-dev')
- conn.sudo('R -e "install.packages(\'devtools\', repos = \'cloud.r-project.org\')"')
+ elif (os.environ['conf_cloud_provider'] in 'gcp') and ('-w-' in conn.sudo('hostname').stdout.replace('\n', '')):
+ #manage_pkg('-y build-dep', 'remote', 'libcurl4-gnutls-dev libxml2-dev')
+ manage_pkg('-y install', 'remote', 'libxml2-dev libcurl4-openssl-dev pkg-config')
+ conn.sudo('R -e ".libPaths(\'/usr/lib/R/site-library\')"')
+ conn.sudo('R -e "install.packages(\'devtools\', repos = \'cloud.r-project.org\'"')
for r_pkg in requisites:
name, vers = r_pkg
version = vers
@@ -552,7 +553,9 @@ def install_r_pkg(requisites):
'dependencies = NA)\' 2>&1 | tee /tmp/install_{0}.tmp; if ! grep -w -E "({2})" /tmp/install_{0}.tmp '
'> /tmp/install_{0}.log; then echo "" > /tmp/install_{0}.log;fi'.format(name, vers, error_parser))
else:
- conn.sudo('R -e \'devtools::install_version("{0}", version = {1}, repos = "https://cloud.r-project.org", dependencies = NA)\' 2>&1 | tee /tmp/install_{0}.tmp; if ! grep -w -E "({2})" /tmp/install_{0}.tmp > /tmp/install_{0}.log; then echo "" > /tmp/install_{0}.log;fi'.format(name, vers, error_parser))
+ conn.sudo('R -e \'devtools::install_version("{0}", version = {1}, repos = "https://cloud.r-project.org", '
+ 'dependencies = NA)\' 2>&1 | tee /tmp/install_{0}.tmp; if ! grep -w -E "({2})" /tmp/install_{0}.tmp > '
+ '/tmp/install_{0}.log; then echo "" > /tmp/install_{0}.log;fi'.format(name, vers, error_parser))
dep = conn.sudo('grep "(NA.*->". /tmp/install_' + name + '.tmp | awk \'{print $1}\'').stdout.replace('\n', ' ')
dep_ver = conn.sudo('grep "(NA.*->". /tmp/install_' + name + '.tmp | awk \'{print $4}\'').stdout.replace('\n', ' ').replace(')', '').split(' ')
if dep == '':
@@ -565,6 +568,7 @@ def install_r_pkg(requisites):
else:
dep[n] = '{} v.{}'.format(dep[n], dep_ver[n])
dep = [i for i in dep if i]
+ conn.sudo('hostname')
err = conn.sudo('cat /tmp/install_{0}.log'.format(name)).stdout.replace('"', "'").replace('\n', '')
conn.sudo('R -e \'installed.packages()[,c(3:4)]\' | if ! grep -w {0} > /tmp/install_{0}.list; then echo "" > /tmp/install_{0}.list;fi'.format(name))
res = conn.sudo('cat /tmp/install_{0}.list'.format(name)).stdout.replace('\n', '')
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org