Configuration failed because libcurl was not found
Asked Answered
C

8

86

I am trying to pull some json data from a remote server using fromJSON:

> server <- 'http://111.111.000.00:3000'
> streams <- fromJSON(paste(server, '/output/streams', sep=""), flatten=TRUE)

Result:

Error: Required package curl not found. 
Please run: install.packages('curl')

So I tried to install it:

> install.packages("curl")
Installing package into ‘/home/lauxxx/R/x86_64-pc-linux-gnu-library/3.3’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/curl_2.3.tar.gz'
Content type 'application/x-gzip' length 400460 bytes (391 KB)
==================================================
downloaded 391 KB

* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/lauxxx/R/x86_64-pc-linux-gnu-library/3.3/curl’
Warning in install.packages :
  installation of package ‘curl’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpdoavNf/downloaded_packages’

Then I tried to install libcurl4-openssl-dev:

> install.packages("libcurl4-openssl-dev")
Installing package into ‘/home/lau/R/x86_64-pc-linux-gnu-library/3.3’
(as ‘lib’ is unspecified)
Warning in install.packages :
  package ‘libcurl4-openssl-dev’ is not available (for R version 3.3.1)

Why? What is going wrong? How can I fix it?

It was ok when I was on Xubuntu 16.04. But now I am on Kubuntu 16.10.

Any ideas?

Cutout answered 8/2, 2017 at 14:35 Comment(1)
I had the same problem and it was a confusing b/c downloading the libcurl4 library from ubuntu.com as a deb and installing via Eddy did not resolve my problem. However installing it via the console (as suggested in the accepted answer) did work. I guess I don't understand Linux enough to know why these might differ.Dario
H
156

libcurl4-openssl-dev is not a R package, but rather a linux library.

In a console type:

sudo apt-get install libcurl4-openssl-dev

Note: you need sudo powers.

Henryhenryetta answered 8/2, 2017 at 15:42 Comment(5)
People who are having trouble running R 3.5.2 on Ubuntu 18.04 and not able to install any packages which show error: "Error in install.packages : This version of R is not set up to install source packages If it was installed from an RPM, you may need the R-devel RPM" this is the same error. The main error is that installing r-base removes libcurl3 and installing libcurl3 removes r-base packages, which leads to above error. Do the command GGamba suggested and you should be fine. Thanks GGamba once again, I spent almost an hour troubleshooting this error.Illomened
@ParthPatel I am trying this with Travis CI (see here) - I have tried adding sudo apt-get install libcurl4-openssl-dev to .travis.yml and I can see in the build logs that it seems to run, but the original error persists. Any ideas?Prostomium
To install all tidyverse dependancies I also needed to install libssl, I'm running Ubuntu 20.04. So for that I typed: sudo apt-get install libssl-devDario
after install libssl-dev or libcurl14-openssl-dev I cannot install tidyverse: # Rscript -e 'install.packages(c("tidyverse"))' I got ERROR: R_HOME ('/usr/lib/R') not found Did somebody meet with that kind of error?Pollux
Thanks, this solved my problem resolving a curl dependency when installing httr, RCurl and plotly. My Ubuntu 18.04 was missing the dev version of the library. R version 4.2.2 Patched (2022-11-10 r83330) -- "Innocent and Trusting" and Ubuntu 20.04.5 LTSAstrosphere
T
29

The Linux release is: CentOS Linux release 7.3.1611 (Core)

In my case, I was trying to install R package: devtools

------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'

I checked $PATH, 'pkg-config' was in the PATH. But there is no libcurl.pc file in PKG_CONFIG_PATH (/usr/local/lib/pkgconfig/).

Here is how I solved the problem.

su
wget https://github.com/curl/curl/releases/download/curl-7_55_0/curl-7.55.0.tar.gz
./configure
make 
make install

After this, I saw libcurl.pc file in PKG_CONFIG_PATH (/usr/local/lib/pkgconfig/).

Tacy answered 12/8, 2017 at 10:10 Comment(6)
Installing libcurl4-openssl-dev works, but it cannot work simultaneously with nodejs, npm, etc. This method works with the mentioned applications.Thorny
This solved it for me. Ubuntu 18.04, inside a conda environment, libcurl4-openssl-dev was installed but somehow R was not finding it. Manually compiling libcurl solved the issue.Mohr
This worked for me too. But I kept getting the error Error in curl::new_handle() : An unknown option was passed in to libcurl when I tried retrieving data from a URL.Amide
This works as an interim solution, but library(RCurl) and library(curl) still identifies the older version of curl and not the new versions compiled from source using procedure above. See hereAmide
This solution works in Ubuntu 18.04. I downloaded curl 7.72.0 (last version as of September 8th 2020). I had to run make install with sudo powersSanctus
yum install libcurl-devel works fineValrievalry
H
10

Just ran into this issue when using GitHub actions to run a R script on a cron schedule.

Popping sudo apt-get install libcurl4-openssl-dev into system() within the R file works. Much easier then setting up the bash command on the runner separately.

system("sudo apt-get install libcurl4-openssl-dev")
Heliogravure answered 9/1, 2021 at 11:52 Comment(1)
In case anyone else finds this from a search engine, this is also what I needed for RStudio inside Azure Machine Learning.Slipcover
C
9

I got this error on Ubuntu Server 18.04, despite already having the libcurl4-openssl-dev apt package installed. I had to look up where the package installs libcurl.pc to figure out the command to use:

wget <curl-package-address>
R CMD INSTALL --configure-vars='LIB_DIR=/usr/lib/x86_64-linux-gnu/pkgconfig' <curl-file.gz>

(Check the messages above the "ANTICONF ERROR" for the right file to download and install. For the questioner it was https://cran.rstudio.com/src/contrib/curl_2.3.tar.gz; mine was https://cloud.r-project.org/src/contrib/curl_4.3.tar.gz.)

Compliance answered 27/3, 2020 at 0:20 Comment(3)
I noticed this as well. there is no libcurl.pc in any of the packages I installed for libcurl variants.Alston
Thanks, this is the only thing that worked for me on Ubuntu server 20.04. Seems like R can't find libcurl by itself after installation.Phenformin
I had the same issue for install.packages ('tidyverse'), R console showed the following message -- [ANTICONF] -- Try installing: * deb: libfreetype6-dev libharfbuzz-dev libfribidi-dev libjpeg-dev (Debian, Ubuntu, etc)' -- [ERROR MESSAGE] --` This was the error I got for Ubuntu 22.10 on MacBook Pro9.2. By installing ibharfbuzz-dev libfribidi-dev 'libjpeg-dev` libfreetype6-dev from the terminal (Ctrl+Alt+t). The key point is to look for what libs are missing from the ANTICONF message and install those.Alfaro
E
5
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
* rpm: libcurl-devel (Fedora, CentOS, RHEL)
* csw: libcurl_dev (Solaris)

I ran into this issue when install an R package in Fedora Workstation 33. Following the hints, be sure to install libcurl-devel for the appropriate architecture, in this case libcurl-devel.x86_64:

sudo dnf install openssl-dev libcurl-devel.x86_64
Endo answered 28/12, 2020 at 0:32 Comment(1)
in my case was openssl-devel but thanks!Junkman
S
0

In my case of Ubuntu 18, none of these solutions worked from within Rstudio.

When I finally decided to run R from the command line, success -- I couldn't tell you which 'solution' was the key because by this point I've already tried all of them.

Note that if I try to run Rstudio again, any attempt to install will still fail.

Thus there may be some issue with Rstudio not inferring the environment properly.

Squint answered 19/7, 2020 at 7:29 Comment(0)
L
0

If you are using conda environment, the following command will resolve the issue.

conda install -c conda-forge r-curl
Labialized answered 19/10, 2022 at 7:37 Comment(0)
S
0

In my case, I working in a HPC cluster, so I didn't have sudo rights to apply the aforementioned solutions. Instead I did

wget https://cran.r-project.org/src/contrib/curl_5.2.0.tar.gz
R CMD INSTALL --configure-vars='LIB_DIR=/usr/lib/x86_64-linux-gnu/pkgconfig' curl_5.2.0.tar.gz

Then I could install R packages as usual with install.packages

Sticktight answered 27/1 at 11:51 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.