curl is not working on Ubuntu 18.04 LTS

64,081

Solution 1

This problem is common in multiple packages in ubuntu recent LTS. Preinstalled packages have a possible error in version convention because "18.04" and other strings referencing repo are considering as part of the package version and not reference to the repo.
The workaround is uninstall preinstalled dependency and then reinstall. After that, you can install cURL.

apt remove -y libcurl4
apt install -y libcurl4 curl

Other packages with that problem are okular and libsdl2, and the solution is the same, track problematic dependencies, remove and reinstall.

Also, you can use apt downgrade mechanism (thus, is not necessary to uninstall packages that depend of libcurl4).

apt install -y libcurl4=7.58.0-2ubuntu3
apt install -y curl

Solution 2

Try to use

sudo apt install libcurl4-openssl-dev

If you get any errors, try the commands below and then the above command again.

sudo apt update
sudo apt remove libcurl4

Solution 3

Install curl from source. That worked for me.

git clone https://github.com/curl/curl.git
cd curl
./buildconf
./configure
make
make test # optional
sudo make install

Solution 4

To start a clean slate first clean you packages:

sudo apt autoremove
sudo apt remove libcurl4

Then you install libcurl4 and curl

apt install -y libcurl4 curl
Share:
64,081

Related videos on Youtube

Joseph-L-S
Author by

Joseph-L-S

Updated on September 18, 2022

Comments

  • Joseph-L-S
    Joseph-L-S over 1 year

    I can't fetch content from the web using `curl. I tried to install it and got the output below:

    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies.
     curl : Depends: libcurl4 (= 7.58.0-2ubuntu3) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
    

    I've checked for held packages both with sudo apt-mark showheld and dpkg -l | grep ^h, but I get no results either way.

    Also, when I attempt to install libcurl4, it almost breaks my system, since it attempts to remove these packages:

    libcurl3 mongodb-enterprise mongodb-enterprise-server mongodb-enterprise-tools msodbcsql msodbcsql17 mssql-tools php7.1-curl r-base r-base-core
      r-base-dev r-base-html r-cran-boot r-cran-class r-cran-codetools r-cran-foreign r-cran-getopt r-cran-kernsmooth r-cran-lattice r-cran-littler
      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 slack-desktop
      virtualbox-5.2
    

    Edit

    This is the output of cat /etc/apt/sources.list:

    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution. deb http://gb.archive.ubuntu.com/ubuntu/ bionic main restricted deb-src
    http://gb.archive.ubuntu.com/ubuntu/ bionic main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution. deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates main restricted deb-src
    http://gb.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team. deb http://gb.archive.ubuntu.com/ubuntu/ bionic universe deb-src
    http://gb.archive.ubuntu.com/ubuntu/ bionic universe
    
    deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates universe
    deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
    ## team, and may not be under a free licence. Please satisfy yourself as to 
    ## your rights to use the software. Also, please note that software in 
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team. deb http://gb.archive.ubuntu.com/ubuntu/ bionic multiverse deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic
    multiverse
    
    deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
    deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    # deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu bionic partner deb-src
    http://archive.canonical.com/ubuntu bionic partner
    
    deb http://security.ubuntu.com/ubuntu bionic-security main restricted
    deb-src http://security.ubuntu.com/ubuntu bionic-security main
    restricted
    
    deb http://security.ubuntu.com/ubuntu bionic-security universe deb-src
    http://security.ubuntu.com/ubuntu bionic-security universe
    
    deb http://security.ubuntu.com/ubuntu bionic-security multiverse
    deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
    
    deb http://gb.archive.ubuntu.com/ubuntu/ bionic-proposed main
    multiverse universe restricted #Not for humans during development
    stage of release bionic
    # ded-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted ui=niverse
    
    deb http://gb.archive.ubuntu.com/ubuntu/ bionic-backports main
    restricted multiverse universe
    
    • Hee Jin
      Hee Jin about 6 years
      First do sudo apt-get update and then execute this command: dpkg -l | grep ^..r and add the output to your question
    • Joseph-L-S
      Joseph-L-S about 6 years
      The update runs well but still no output for dpkg -l | grep ^..r
    • Hee Jin
      Hee Jin about 6 years
      Try sudo apt-get -s -o Debug::pkgProblemResolver=yes install libcurl4 and add the output to your question
    • Hee Jin
      Hee Jin about 6 years
      Also please edit your question to include the output of cat /etc/apt/sources.list
    • Joseph-L-S
      Joseph-L-S about 6 years
      sudo apt-get -s -o Debug::pkgProblemResolver=yes install libcurl4 runs with no failures and indicates that libcurl4 is already the newest version(7.58.0-2ubuntu3). That's because I made some changes to the system. I found out that it is really specific packages that require an earlier version of libcurl e.g. 3. Ubuntu 18.04 LTS automatically installs php7.2 which comes with libcurl4. But with libcurl3 installed, I can't have curl installed. So, I ended up backing-up some data, let go of whatever wasn't really relevant and then reinstalled the packages with libcurl4 & curl.
    • Phil
      Phil almost 6 years
      Slack, amongst others, depends on libcurl3, while curl depends on libcurl4 and libcurl3 and libcurl4 cannot coexist it seems. :-(
    • Felipe
      Felipe almost 6 years
      for the problem with slack, I decided to install that one using snap, otherwise, virtualbox wasn't going to coexist
    • JTheDev
      JTheDev almost 6 years
      @Joseph-L-S: Can you make sure the php-curl module is enabled? You can see by echo-ing phpinfo();
    • Ken Sharp
      Ken Sharp almost 6 years
      Where did you get slack-desktop from? No such package exists in the archives.
  • SatyamChaudhary
    SatyamChaudhary about 4 years
    Thanks, Now working fine