TwitteR r package: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found
Asked Answered
C

2

7

I have updated my OS to Ubuntu 18.04 recently and twitteR R package is not working anymore.

I am having the following error message during setup_twitter_oauth.

> setup_twitter_oauth(api_key,api_secret)
[1] "Using browser based authentication"
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/my-laptop/R/x86_64-pc-linux-gnu-library/3.4/curl/libs/curl.so':
  /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /home/my-laptop/R/x86_64-pc-linux-gnu-library/3.4/curl/libs/curl.so)

I was trying to install libcurl3. But the installation process wants to remove my r installation as well as libcurl4. This is what I get,

my-laptop:~$ sudo apt-get install libcurl3
[sudo] password for my-laptop: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  cdbs dh-translations fonts-mathjax intltool jq libblas-dev libc-ares2
  libhttp-parser2.7.1 libjq1 libjs-bootstrap libjs-highlight.js
  libjs-jquery-datatables libjs-jquery-metadata libjs-jquery-tablesorter
  libjs-mathjax libjs-twitter-bootstrap liblapack-dev libncurses5-dev
  libnlopt0 libonig4 libquantlib0v5 libreadline-dev libtinfo-dev libuv1
  node-highlight.js nodejs nodejs-doc python3-scour r-doc-html scour
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libcurl4 r-base r-base-core r-base-dev r-base-html r-cran-boot r-cran-class
  r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth
  r-cran-lattice r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet
  r-cran-rpart r-cran-spatial r-cran-survival r-recommended
The following NEW packages will be installed:
  libcurl3
0 upgraded, 1 newly installed, 21 to remove and 1 not upgraded.
Need to get 0 B/214 kB of archives.
After this operation, 60,0 MB disk space will be freed.
Do you want to continue? [Y/n] 

Any idea how to solve this problem?

My session.info() is as follows,

> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=de_DE.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=de_DE.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] twitteR_1.1.9

loaded via a namespace (and not attached):
 [1] bit_1.1-12     httr_1.3.1     compiler_3.4.4 rjson_0.2.15   R6_2.2.2       DBI_0.8        tools_3.4.4   
 [8] yaml_2.1.18    bit64_0.9-7    openssl_1.0.1 
Chronoscope answered 29/4, 2018 at 5:59 Comment(2)
Have you tried to reinstall the R package curl?Dola
Yes. I removed the curl package, reinstall libcurl14-openssl-dev and then installed those two again. It works now. Could you please add your advice as an answer? I will mark it as the solution.Chronoscope
D
11

The R package curl was compiled against libcurl3, which is no longer installed. If you reinstall the curl package, it compiles against the installed libcurl4, provided the necessary development packages are installed. Alternatively you can use the pre-compiled package.

Dola answered 29/4, 2018 at 9:34 Comment(0)
M
6

I had a similar error when trying to publish HTML from RStudio to RPubs.

Reinstalling curl didn't solve the issue for me, but this did the trick:

install.packages("RCurl")

Maremma answered 30/4, 2018 at 1:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.