I am trying to access R packages which were installed under a user's account from opencpu. I can see that the package is installed when I start R as that user:
> installed.packages()
Package LibPath
RLIM "RLIM" "/limdata/ali/R/x86_64-pc-linux-gnu-library/3.0"
...
> system('whoami');
ali
However, when I try to access the library from opencpu, I get errors indicating the package was not found:
$ curl -L http://<my.server>/ocpu/user/ali/library/RLIM
there is no package called 'RLIM'
In call:
find.package(pkgname, lib.loc = lib.loc)
# from same server, to confirm opencpu is running...
$ curl -L http://<my.server>/ocpu/library
base
bitops
boot
brew
...
Any help would be greatly appreciated!
Platform info:
It seems like your home library is not in the default location of /home/ali/
. Therefore some additional steps are needed to access your packages.
First of all, the default security profile won't allow OpenCPU to access /limdata/
. To verify that this is indeed the problem, have a look at /var/log/kern.log
and search for lines containing APPARMOR
and DENIED
. Please read the section titled Customizing the security profile in the PDF server manual.
To add your home library to the security profile, edit /etc/apparmor.d/opencpu.d/custom
and add these lines:
/limdata/ r,
/limdata/** mrix,
Afterwards, restart apparmor and opencpu:
sudo service apparmor restart
sudo service opencpu restart
That should take care of the security restrictions. I hope that will do it; honestly I haven't tested a scenario where the home directory is outside of /home
but I think if your R_LIBS_USER
environment variable is properly configured, it should work. If not let me know :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With