Error with shared library with RStudio Server - r

Centos 6.7 machine. Have followed these instructions to install R and RStudio Server:
https://www.rstudio.com/products/rstudio/download-server/
add EPEL
install R
install RStudio Server
However, when trying to start up RStudio I see the following in /var/log/messages:
Nov 24 07:39:35 myserver rserver[14346]: ERROR R shared library (/usr/local/lib64/R/lib/libR.so) not found. If this is a custom build of R, was it built with the --enable-R-shlib option?; LOGGED FROM: int main(int, char* const*) /root/rstudio/src/cpp/server/ServerMain.cpp:402
Nov 24 07:39:35 myserver init: rstudio-server main process (14346) terminated with status 1
Nov 24 07:39:35 myserver init: rstudio-server respawning too fast, stopped
From a completely fresh install on another machine where these same installation steps work and RStudio fires up without errors, /usr/local/lib64/R/ doesn't even exist, so I'm puzzled why RStudio on the problematic machine is even looking there for the shared libraries...
Stumped! Your suggests appreciated!
Dan

When I had the same problem in the past I remember that i yes had the folder:
/usr/lib64/R/lib
with the needed libs, so i create a simbolic link:
ln -s /usr/lib64/R /usr/local/lib64/R
And it worked well, maybe your case is the same

I finally figured this out. The problem was caused by an old version of R in another location which was also in my PATH, so starting up RStudio Server was referencing libraries and executables that didn't work, or were incorrect.
My older version of R was in /usr/local/bin and was probably not installed with Yum. All good now!

In my case I had three R versions available in my system R2.15.1 and R3.1.0 the third one was installed using alternative option /usr/local/R/3.1.0. I just copied /usr/lib64/R/lib/libR.so to /usr/local/R/3.1.0/lib64/R/lib/ and it worked.

Related

How do I fix the CondaHTTPError [duplicate]

I'd like to install the pymongo library but I'm getting the following error:
(C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3) C:\Users\xxxxxxx>
conda install -c anaconda pymongo
Fetching package metadata ...
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/a
naconda/win-64/repodata.json>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ConnectTimeout(MaxRetryError("HTTPSConnectionPool(host='conda.anaconda.org', por
t=443): Max retries exceeded with url: /anaconda/win-64/repodata.json (Caused by
ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x000
00000054D6128>, 'Connection to conda.anaconda.org timed out. (connect timeout=9.
15)'))",),)
Steps taken to resolve:
1. Update C:\Users\\xxxxxxx\.condarc file with the following:
channels:
- defaults
ssl_verify: false
proxy_servers:
http: http://sproxy.fg.xxx.com:1000
https: https://sproxy.fg.xxx.com:1000
2. (C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3) C:\Users\xxxxxxx>
conda config --set ssl_verify False
Additional Info:
(C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3) C:\Users\xxxxxxx>
conda info
Current conda install:
platform : win-64
conda version : 4.3.27
conda is private : False
conda-env version : 4.3.27
conda-build version : 3.0.22
python version : 3.6.2.final.0
requests version : 2.18.4
config file : C:\Users\xxxxxxx\.condarc
netrc file : None
offline mode : False
user-agent : conda/4.3.27 requests/2.18.4 CPython/3.6.2 Windows/7 W
indows/6.1.7601
administrator : False
A number of posts online simply reinstalled Anaconda, any other options apart from a fresh install?
This works a charm:-
Just copy these:-
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
from D:\Anaconda3\Library\bin to D:\Anaconda3\DLLs.
Execute the following command in the cmd prompt/terminal:
conda config --set ssl_verify no
I try to create a virtual env with python 2.7 with anaconda, the base env is python 3.7. I encounter the exactly same problem. It turns out that there isn't such problem with other virtual envs with python 3.7 or 3.6.
This post works perfectly to solve my problem on win7 with anaconda prompt.
It basically says you need to add the following directories into your user environment path in windows (go to Start and type in: View Advanced System Settings, then select Environmental Variables: then select Path and click Edit: finally you can click New and add a path):
C:\your_directory_to_anaconda3\Anaconda3\Scripts
C:\your_directory_to_anaconda3\Anaconda3\
C:\your_directory_to_anaconda3\Anaconda3\Library\bin -- This is the directory for openssl
If you added conda to your PATH variables, remove it and use the "Anaconda Prompt". This solved the problem for me.
See: https://github.com/conda/conda/issues/8046#issuecomment-450582208
I faced this issue when I tried to create environment. I solved it by first activating conda base environment by using:
conda activate base
then I created the environment
conda create -n myenv python=3.7
Check the proxy URL
Verify .condarc file
For me, the problem was with the indentation in the .condarc file.
proxy_servers:
http: http://testproxy:8080
https: https://testproxy:8080
My authenticated proxy server is configured with a domain whitelist for massive and repeated downloads so root or local sudoer doesn't need to be authenticated.
Adding conda.anaconda.org is not enough as this repo redirect its traffic to amazonaws.com.
In my case, adding ".amazonaws.com" to the whitelist solved the issue.
The issue was resolved by adding a username and password to file C:\Users\xxxxx.condarc
channels:
- defaults
ssl_verify: false
proxy_servers:
http: http://xxxxx:password#sproxy.fg.abc.com:yyyy
https: https://xxxxx:password#sproxy.fg.abc.com:yyyy
I had the same problem on Windows 10-64 bit and intuitively installed the 64-bit version of miniconda. However, it results in exactly the same error above. Installing 32 bit conda installer has resolved the issue
Before installing some package (pydicom) the installation run just fine. After
it I tried to install matplotlib, but I got the same error as yours.
I tried conda config --set ssl_verify no but it didn't solve the problem so I set it again to true.
Fortunately, I had a virtual environment where I installed my packages. I closed all Anaconda prompts and tried in a new test environment. Magically, the install worked. I came back to my original virtual env and run the install again, and it worked!.
It might be that I just had to wait for some time before I could use conda install again.
One other thing I could do is remove the package that caused the problem, but I didn't have the chance to try it. If it has anything to do with some virtual environments not being affected, then one possible way to guard against this is to clone the environment before installing any new package.
Edit: I tried the same solution but It did not work. But instead of showing the error immediately, it asks me whether I want to proceed. I deactivated the env, and re-opened anaconda prompt, then did the same steps as above and worked again.
I also had the Same Issue, I resolved by installing 32 bit Anaconda Installer.
Which resolved the CondaHTTPError: HTTP 000 CONNECTION, on Windows 64 bit.
I faced this issues after "conda clean -a" on win-64.
Activating and deactivating existing conda env resolved the issue.
You might need to upgrade your openssl installation
You can download it here (Try the latest version):
https://slproweb.com/products/Win32OpenSSL.html
Source:
https://github.com/ContinuumIO/anaconda-issues/issues/6424#issuecomment-464660808
My issue was simply not running the conda init command prior to attempting to create an environment.
Came across the CondaHTTP Connection error after installing Anaconda environment on a new Windows 10 computer. I tried virtually all the recommendations above unsuccessfully! Looking up the Anaconda archives ( https://repo.continuum.io/archive/ ), I downloaded the immediate previous release .... and on installation and rebooting my PC, all is now wellscreenshot of release
In short - installing Microsoft Visual C++ Redistributable for Visual Studio solved my problem.
In more detail: upon trying a suggested solution of installing a new version of OpenSSL, the installation process told me I was missing a dependency - the Visual Studio Redistributable package. The installer led me to a direct download page of the 2017 version. I can't find that page now, but the official release of 2019 can be found here, and should work as well (found under Other Tools and Frameworks).
Uninstalling and reinstalling anaconda for all users (instead, of current user only, requires admin privileges) and activating the option to add Anaconda to PATH during the installation process, fixed the issues for me.
Thank you everyone for your responses. In my case, I found out that my Kaspersky Internet Security was blocking it the whole time. The moment I quit the application all applications were downloaded. Please check your firewall settings before trying all the above options.
I tried all of these solutions and none worked for me. After running the command
conda config --remove-key channels
in the Anaconda Prompt, everything started working for me on my next attempt.
Adding that I had the same problem on ubuntu on WSL. None of the solutions worked for me, until I realized I was working on WSL version 1 (I thought I'd already upgraded). Upgrading from WSL 1 to WSL 2 solved the problem for me.
Running following these two commands worked for me.
conda config --remove-key proxy_servers
conda clean --source-cache
I'd tried all of the advice on this and many other webpages.
In the end I broadcast a "help me Obiwan Kenobi, you're my only hope message" to a large group of people at work and one of them who used python all the time was able to help me
The trick was to set several windows environmental variables
CURL_CA_BUNDLE
REQUESTS_CA_BUNDLE
SSL_CERT_FILE
To my company's root certificate (a .cer or .crt) which I had downloaded to a spot on my disk
You may also need to add (in my case)
C:\Users\kdalbey\Anaconda3\Scripts
(or your particular \Anaconda3\Scripts) to your path.
And then I set proxies just for good measure
note I previously copied libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, libssl-1_1-x64.pdb from anaconda3\Library\bin to anaconda3\DLLs so that could be part of the secret sauce
and it didn't work until I killed and restarted anaconda-navigator
Two steps to deal with this error.
The Anaconda prompt configures the path, to include all the necessary executable files (for instance Library\bin - On Windows, launch it with admin permission). So that you need to use it to execute conda :
Update conda with conda update conda
Exit my proxy software which solved the issue.
I would like summarize some of the proposed answers in this post and propose my experience on that. As it can be understood from the error explanation, the error is related to the connection and I strongly believe that no need to uninstall and reinstall anything if the real cause of the problem be known. My problem gone away after the system powered off and powered on again one day later. So, some possible causes and their solutions (these solutions could be tested in order based on the written bulleted order) could be as follows:
Crash in anaconda prompt:
Probable solutions:
Deactivating and activating the environment, without removing all packages or …, or
Closing/reopening the prompt (Michael Heidelberg) or
Using cmd.exe instead, perhaps
Non-responsiveness of the anaconda site:
Massive site traffics related probable issues, that could be the reason of non-responsiveness or to temporary block some IPs
Probable solutions:
Retying as recommended in the error: HTTP errors are often intermittent, and a simple retry will get you on your way. It solves my problem sometimes. or
Activate or deactivate VPNs or Proxies (like use in .condarc; see: Github sroder, Nandhan Thiravia, Vinod Sangale, Peter Lucas, Sunding Wei).
Try after a while if you have time
System firewall block the site:
That might be happened by activating and deactivating of VPNs, repeatedly or by some other works
Probable solutions:
Finding the issue in system firewall and allowing the connection in the firewall settings (ScienceJedi, Github)
Reboot, perhaps
If the aforementioned ways didn't solve the problem, testing the related answers in the following order:
Add ...\Anaconda3\Scripts, ...\Anaconda3\, and ...\Anaconda3\Library\bin to the path (talentcat, skerjj, Victor Ochieng, jankap), perhaps need a reboot after (lightarrow)
Copying libcrypto-1_1-x64.dll and libssl-1_1-x64.dll from D:\Anaconda3\Library\bin into D:\Anaconda3\DLLs (Swapnil)
I think it could be used in the first step because It is unlikely to be cause of any other problem. The reason I didn't mention this at the beginning is that the developers could placed these files in that directory during installation, too, in default, but they didn't; perhaps it had some reasons (Github).
Note: these files are for Python >3, and I didn't find them for Python 2. Perhaps they have another names.
It must be said that my problem didn't solve by this solution.
Keep your SSL stack up-to-date (kamal dua, Anaconda troubleshooting, update openssl, Abdulrahman Bres, Update to openssl 1.1.1)
I didn't recommend it at first because Its not a good idea to unset ssl verification unless you know what you are doing (Pratyush comment) and somewhere I read that it couldn't return to True again.
It must be said that my problem didn't solve by this solution, too.
conda config --set ssl_verify false
conda update openssl ca-certificates certifi

Can't install a Julia package through a proxy connection

I tried the following command in Julia to install FixedEffectModels, but I'm getting this error:
julia> Pkg.add("FixedEffectModels")
INFO: Initializing package repository /root/.julia/v0.4
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
ERROR: failed process: Process(`git clone -q -b metadata-v2 git://github.com/JuliaLang/METADATA.jl METADATA`, ProcessExited(128)) [128]
in anonymous at ./pkg/dir.jl:52
I'm using a proxy connection, is it related?
On Windows 7, it seemed to me the .gitconfig worked. But are you sure it's in the correct user home directory (C:/Users/Username by default) and that it is really .gitconfig and not .gitconfig.txt (like I managed to do on my first attempt)?
Your home is root??
Look at this discussion could be inspiring.
export https_proxy=... and Pkg.setprotocol!("https") could probably help?
I also propose to upgrade julia. Because you are using Ubuntu, you could add this ppa:
sudo add-apt-repository ppa:staticfloat/juliareleases
sudo apt-get update
and you could have julia 0.5.2 (unfortunately it was not updated after 0.6)
But if you trust packages on github then you could probably download julia 0.6.1 too. :)
Thegit config --global url."https://github.com/".insteadOf git://github.com/ solve momentarily but after a server reboot it didn't worked anymore, the best solution found in this discussion was installing Julia 0.6+ because it can use the environment variables, so the export take effects in Julia.

Using different version of R per user in Rstudio Server

I am using an Rstudio Server (0.98.490) on a CentOS machine, that uses the default installation in the machine which is an older version of R. I also have a newer version of R compiled elsewhere in the system. Can I, as a non-root user, tell Rstudio to use the new installation instead of the old one when I start a session?
I'm not sure if there are any peculiarities for CentOS, but I believe you should be able to change your ~/.profile or ~/.bash_profile file to include the following line: export RSTUDIO_WHICH_R=/path/to/desired/compiled/R.
You can see which version of R RStudio is currently running by entering which R into a terminal. the export command listed above should change it to your desired build.
These links might help:
https://support.rstudio.com/hc/en-us/articles/200486138-Using-Different-Versions-of-R
Running newer version of R from terminal when older version is invoked by default
Hope this helps
The first answer was relevant RStudio, not rstudio-server as the question asks. The question is addressed in the section "RStudio Desktop and RStudio Server Open-Source".
However, adding a line like export RSTUDIO_WHICH_R=/usr/local/bin/R to my ~/.profile and ~/.bash_profile does not actually seem to affect rstudio-server for me. So I am giving up for now. The Pro version seems to have other options, as listed here.
Starting in RStudio Server 1.3 (newest version is 1.4.1106, released February 22, 2021), a user’s preferred version of R can be specified in the rstudio-prefs.json file in the global-level /etc/rstudio folder or in the user-level ~/.config/rstudio folder.
See https://blog.rstudio.com/2020/02/18/rstudio-1-3-preview-configuration/ and https://docs.rstudio.com/ide/server-pro/session-user-settings.html for user setting options in newer versions of RStudio Server.
See https://support.rstudio.com/hc/en-us/articles/200716783-RStudio-Release-History for RStudio release history and https://www.rstudio.com/products/rstudio/download-server/redhat-centos/ for Red Hat downloads of the newest version of RStudio Server.

compilation error building an old version of R

In order to use a specific library that has not been updated for some time, I want to use an older version of R (2.3.1), under linux Mint 14.
I got the source file, installed the required library; checking with :
apt-cache showsrc r-base | grep Build-Depends
and issued, as indicated in the R-admin help page, the command:
./configue
that ended without error; then
make
that terminated with the following error message:
In file included from datetime.c:95:0:
Rstrptime.h:201:12: erreur: conflicting types for ‘wcsncasecmp’
In file included from ../../src/include/Defn.h:928:0,
from datetime.c:58:
/usr/include/wchar.h:172:12: note: previous declaration of ‘wcsncasecmp’ was here
Does anyone know what trigered that error (conflicting type between files datetime.c and wchar.h, if I understand well), and how I could keep compiling past this error.
Thanks in advance for your help.
The problem is that R 2.3.1 is very old, and was developed with the old C libraries in mind. With a recent linux install, you have the new C libraries which might not work well with your old R version. What you could do:
Install an old version of linux from around the time of the R version, for example in a virtual machine.
Port the package to the new version of R yourself.
The second option takes more time, but will make the work you base on the package more future proof.

Problem loading rJava

Yesterday I removed R2.11 from my system (Win7, 64bit), since I´m working on R2.13.
Since then i get an error message:
> require(rJava)
Lade nötiges Paket: rJava
Error : .onLoad in loadNamespace() fehlgechlagen, Details:
Aufruf: rJava
Fehler: inDL(x, as.logical(local), as.logical(now), ...)
I tried specifying PATH, since I found on the internet that it might have something to do with jvm.dll:
c:\Rtools\bin;
c:\Rtools\perl\bin;
c:\Rtools\MinGW\bin;
c:\Rtools\MinGW64\bin;
C:\Windows\system32;
%R_HOME%\bin;
C:\Program Files\R\R-2.13.0\bin;
C:\Program Files\Java\jre6\bin\server
However I could not solve the problem...
I also can´t run R from the win command line (just type "R"?)
Any suggestions?
Here is some quick advice on how to get up and running with R + rJava on Windows 7 64bit. There are several possibilities, but most have fatal flaws. Here is what worked for me:
Add jvm.dll to your PATH
rJava, the R<->Java bridge, will need jvm.dll, but R will have trouble finding that DLL. It resides in a folder like
C:\Program Files\Java\jdk1.6.0_25\jre\bin\server
or
C:\Program Files\Java\jre6\jre\bin\client
Wherever yours is, add that directory to your windows PATH variable. (Windows -> "Path" -> "Edit environment variables to for your account" -> PATH -> edit the value.)
You may already have Java on your PATH. If so you should find the client/server directory in the same Java "home" dir as the one already on your PATH.
To be safe, make sure your architectures match.If you have Java in Program Files, it is 64-bit, so you ought to run R64. If you have Java in Program Files (x86), that's 32-bit, so you use plain 32-bit R.
Re-launch R from the Windows Menu
If R is running, quit.
From the Start Menu , Start R / RGUI, RStudio. This is very important, to make R pick up your PATH changes.
Install rJava 0.9.2.
Earlier versions do not work! Mirrors are not up-to-date, so go to the source at www.rforge.net: http://www.rforge.net/rJava/files/. Note the advice there
“Please use
`install.packages('rJava',,'http://www.rforge.net/')`
to install.”
That is almost correct. This actually works:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Watch the punctuation! The mysterious “.libPaths()[1],” just tells R to install the package in the primary library directory. For some reason, leaving the value blank doesn’t work, even though it should default.
I finally solved the problem:
It seems that rJava searches for jvm.dll in ~\Java\jre6\bin\client.
However this folder didn´t exist on my system (jvm.dll was in ~\bin\server).
So I just made a copy of jvm.dll in a folder ~\bin\client\ and added this to the path.
Now everything works fine!
My problem was solved by
install.packages("SqlRender",INSTALL_opts="--no-multiarch")
It was a package that depends on rJava and all advices were telling me to fix Java installation. But the solution was to use install option that simply forgets about i386 architecture. (also works with drat library and packages not from CRAN)
This may be due to a conflict between RStudio and Java versions. If you have installed 64 bit java and RStudio is running in 32 bit mode, you may experience problems like this. As a solution, you can change the 32-64 bit selection in the Tools-> Global Options-> General section in RStudio.
You can find detailed information here.
In my case installing proper version of Java solved my problem.
I installed 64x bit java, cause I use 64x bit R version.
I solved it by following these steps
setting my environment Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre6')
Manually installing rJava package from install package (even this should work:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/'))
library(rJava)
I solved this problem as follows. I've been trying for 2 days.
Windows 7 users do not write ... \ bin \ x64 in environment variables.
Instead, define the path as follows.
JAVA_HOME "C: \ Program Files \ Java \ jre1.8.0_251"
R_HOME C: \ Program Files \ R \ R-3.5.3
In RStudio type .LibPaths()
This will give you an path in you windows system where your library’s are located
Go there and delete rJava. If it is being used by applications of Java, kill all Java programs in the Task Manager.
Go to computer and properties, click on change environment variables
Edit JAVA_HOME and all Java related paths to the path where your newest installation of Java is located and save.

Resources