Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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 
like image 436
small_lebowski Avatar asked Apr 29 '18 05:04

small_lebowski


2 Answers

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.

like image 111
Ralf Stubner Avatar answered Nov 19 '22 16:11

Ralf Stubner


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")

like image 31
HAVB Avatar answered Nov 19 '22 16:11

HAVB