Rolf Turner
2021-Aug-28 23:21 UTC
[R-sig-Debian] Configure error: checking if libcurl supports https... no
I asked this question a short while ago on the R-help list, and received an off-list reply from Ivan Krylov, suggesting that it would be better to ask on r-sig-debian. So here goes: to set the context, I'm running Ubuntu 20.04, with a Mate 1.24.0 desktop. The question is long and complicated; you will need a great deal of patience to plough through it. (Sorry 'bout that!) I'm getting results from a package (written by my very good self) which differ (rather mysteriously) from results that I got a few weeks ago, and the only thing that I can think of that's changed is the version of R (from 4.1.0 to 4.4.1). So I wanted to install 4.1.0 and play around with that, to see if that is indeed the explanation. (If that is so, a whole new set of questions would be raised, but let's not go there, for the moment.) I downloaded the tarball and set about installing 4.1.0 from source. But the configure step threw an error, as given in the subject line of this message. The error went on:> configure: error: libcurl >= 7.28.0 library and headers are required > with support for httpsA bit of web searching turned up the advice to re-install curl using sudo apt-get install curl but when I did that I was informed that:> curl is already the newest version (7.68.0-1ubuntu2.6).Prof. Krylov suggested in his off-list email that I should do: sudo apt install libcurl-dev So I did that (effectively; but see below) and what I did seemed to run without (too much) complaint, but the configure error persisted. When I tried "sudo apt install libcurl-dev" I got a message to the effect that "libcurl-dev" was ambiguous. Explicitly:> Package libcurl-dev is a virtual package provided by: > libcurl4-openssl-dev 7.68.0-1ubuntu2.6 > libcurl4-nss-dev 7.68.0-1ubuntu2.6 > libcurl4-gnutls-dev 7.68.0-1ubuntu2.6 > You should explicitly select one to install. >Hmmm. Which one? No idea, really, but the config.log file was full of stuff relating to errors from "openssl.c" (*way* beyond my pay grade!!!) so I thought I'd try the first one. As indicated above, sudo apt-get install libcurl4-openssl-dev seemed to run without complaint, although it said> The following packages will be REMOVED > libcurl4-gnutls-devwhich made me think that maybe I should have used "libcurl4-gnutls-dev". But I carried on, and the command ran (without --- further --- complaint). However, as I said, the configuration error persisted. So I then tried: sudo apt remove libcurl4-openssl-dev and got a whole lot of ominous warnings, starting:> dpkg: libcurl4-openssl-dev:amd64: dependency problems, but removing > anyway as you requested: > libdap-dev:amd64 depends on libcurl4-gnutls-dev | libcurl-dev; > however: Package libcurl4-gnutls-dev is not installed. > Package libcurl-dev is not installed. > Package libcurl4-openssl-dev:amd64 which provides libcurl-dev is to > be removed.(There was more ....) Having done that I crossed my fingers and tried: sudo apt-get install libcurl4-gnutls-dev and got> libcurl4-gnutls-dev is already the newest version (7.68.0-1ubuntu2.6). > libcurl4-gnutls-dev set to manually installed.So I then tried *removing* libcurl4-gnutls-dev (that seemed to work!) and then re-installing it. *That* seemed to work too, and there were no more messages about "manually installed". But the configure error *still* persisted!!! I am now out of ideas, at my wits' end, at the end of my tether, and a few other things. Can anyone suggest anything else that I might try? If so, can I very humbly exhort you to please (*please* *PLEASE*) present it in very simple terms if you can. (I am a Bear of Very Little Brain, and long words bother me.) A step-by-step recipe would be appreciated. As you can see from this long-winded question, I really have no idea at all what I am doing, and am basically issuing commands by rote, hammering and hoping. (With the hopes always being dashed. :-( ) Consequently any advice, that presupposes that I have *insight* into the processes that I am invoking, is unlikely to be of any use to me. cheers, Rolf Turner -- Honorary Research Fellow Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276
Dirk Eddelbuettel
2021-Aug-29 00:55 UTC
[R-sig-Debian] Configure error: checking if libcurl supports https... no
Rolf, Asking here is the Right Thing (TM) but I am in at this moment between two differen things (one of them being dinner...) so I have to come back to this but regarding> Package libcurl-dev is a virtual package provided by: > libcurl4-openssl-dev 7.68.0-1ubuntu2.6 > libcurl4-nss-dev 7.68.0-1ubuntu2.6 > libcurl4-gnutls-dev 7.68.0-1ubuntu2.6 > You should explicitly select one to install.I have also found that confusing. I somewhat recently helped a very motivated undergrad getting an R package working which required a (available for Ubuntu, good thing there) library which itself libcurl4-gnutls-dev. I happen to have libcurl4-openssl-dev installed and they don't coexist ... so I opted to doing that work with the undergrad in a Docker environment. Long story short, I would suggest trying to see if you can work with / can get what you need adjusted to libcurl4-openssl-dev. On my Ubuntu (21.04) system: edd at rob:~$ apt-cache rdepends libcurl4-openssl-dev | wc -l 22 edd at rob:~$ apt-cache rdepends libcurl4-gnutls-dev | wc -l 45 edd at rob:~$ So maybe my preference is on the wrong side of the tracks too. I don't fully understand why these cannot coexist... Dirk -- https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org