After last updated libcurl3 on libcurl4, some apps are removed.

Bug #1754294 reported by Igor Mokrushin
714
This bug affects 161 people
Affects Status Importance Assigned to Milestone
curl (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Opinion
Undecided
Unassigned

Bug Description

Hi!

After last updated libcurl3 on libcurl4, system (Kubuntu 18.04 bionic) deleted such applications as:
virtualbox-5.2
opera-stable
slack-desktop
mongodb

I really need these applications, I installed them with broken dependencies, but they are deleted after each update. Is it possible to make the dependence of the libcurl3 in libcurl4, and not remove it altogether from system?

Tags: indeed
Igor Mokrushin (mcmcc)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in curl (Ubuntu):
status: New → Confirmed
Revision history for this message
Scott Stensland (scottstensland) wrote :

uname -m && uname -r && cat /etc/*release
x86_64
4.15.0-10-generic
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic

 dpkg -l|grep libcurl
ii libcurl3-gnutls:amd64 7.58.0-2ubuntu2 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libcurl4:amd64 7.58.0-2ubuntu2 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libcurl4-gnutls-dev:amd64 7.58.0-2ubuntu2 amd64 development files and documentation for libcurl (GnuTLS flavour)

Here is attempt to install opera browser

 sudo dpkg -i opera-stable_51.0.2830.55_amd64.deb
Selecting previously unselected package opera-stable.
(Reading database ... 228694 files and directories currently installed.)
Preparing to unpack opera-stable_51.0.2830.55_amd64.deb ...
Unpacking opera-stable (51.0.2830.55) ...
dpkg: dependency problems prevent configuration of opera-stable:
 opera-stable depends on libcurl3 (>= 7.16.2); however:
  Package libcurl3 is not installed.

dpkg: error processing package opera-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-11ubuntu1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-1) ...
Processing triggers for shared-mime-info (1.9-2) ...

Errors were encountered while processing:
 opera-stable

here is install libcurl3 ...

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libcurl3 : Conflicts: libcurl4 but 7.58.0-2ubuntu2 is to be installed
 libcurl4 : Conflicts: libcurl3 but 7.58.0-2ubuntu2 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

 sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  opera-stable

Revision history for this message
Brian Murray (brian-murray) wrote :

None of the packages which you are having an issue with are ones from the official Ubuntu archive, subsequently there is nothing we (the developers of Ubuntu) can do about this. You'll need to take up the issue with the people who develop these packages.

Changed in curl (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
Marcos Jacoby (marcosjacoby) wrote :

1007/5000
Truth?
I mean that a library like libcurl4 that is not available separately as it does with libcurl3 and that is threaded down the user forcing the removal of lbcurl3 and all related applications being that you are the developers and not your problem?
Are you Microsoft employees by any chance?
Because it's looking alike.
The same arrogant attitude of fucking the customer that I do what I want and he'll have to swallow me.
The problem is in curl that forces this break and jeopardizes the whole system.
I even understand using a new library with new functions, leaner and so on, but do you need to screw with the whole system or with other applications?
I'm going to have a chat with the Debian people to do the same thing and make Ubuntu impractical and give the same excuse.
Then we will see if you are developers or are like Bill Gates, thief of ideas of others, putting their own name and blaming the mistakes on others.

Revision history for this message
Igor Mokrushin (mcmcc) wrote :

When trying to solve the dependence with libcurl3 there is a problem with the removal of official Ubuntu packages...

igor@mcmcc-GL553VE:~$ LANG=C sudo apt-get install libcurl3
[sudo] password for igor:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libboost-context1.65.1 python-cffi python-pycparser python3-cffi python3-ply python3-pycparser
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libcurl4-gnutls-dev opera-stable slack-desktop virtualbox-5.2
The following packages will be REMOVED:
  cmake cmake-curses-gui cmake-qt-gui curl djvulibre-bin kde-config-whoopsie kicad libafflib0v5 libcurl4 libcurl4-openssl-dev libtsk13
  pdf2djvu sleuthkit transmission-remote-gtk uget whoopsie
The following NEW packages will be installed:
  libcurl3 libcurl4-gnutls-dev
The following packages will be upgraded:
  opera-stable slack-desktop virtualbox-5.2
3 upgraded, 2 newly installed, 16 to remove and 68 not upgraded.
Need to get 182 MB of archives.
After this operation, 79.4 MB disk space will be freed.
Do you want to continue? [Y/n]

How to be? Are you offering to stay without them?

Revision history for this message
Marcos Jacoby (marcosjacoby) wrote :

The libcurl4 package was not showing up for me in Ubuntu Package Search and a few minutes ago it appeared!
What I can suggest is a workaround that applies to users of Ubuntu Bionic Beaver that is still in beta.
Download the files libcurl3_7.58.0-2ubuntu2_amd64.deb and libcurl4_7.58.0-2ubuntu2_amd64.deb.
Unpack the contents of each one at a time into a folder and modify the control file in the DEBIAN folder by removing the constraint in the conflict and replace fields.
Repackage the files and install them with dpkg with the --force-all option as they modify some common files.
Take a hold on these packages with apt-mark and dpkg selections.
I gave the following commands to hold:
sudo apt-mark hold libcurl3 libcurl4
echo "libcurl3 hold" | sudo dpkg --set-selections
echo "libcurl4 hold" | sudo dpkg --set-selections

Recalling that this is a workaround only applicable to version 18.04 since these versions of libcurl3 and 4 only exist in it and version 18.04 is still in development.
Remembering that this workaround is to allow the installation and operation not only of the applications mentioned, but also curl and uget but that side effects not yet observed can manifest themselves.
Use at your own risk!

Revision history for this message
Igor Mokrushin (mcmcc) wrote :

I manually edited file /var/lib/dpkg/status, it replaced libсurl3 (>= 7.16.2) to libcurl4 (>= 7.16.2) and libcurl3 to libcurl4, in those places where there is no version checking. Almost all the packages that require libcurl3 work without problems, except for the virtualbox, for it we had to take libcurl.so.4 from the libcurl3 package and put it in the /usr/lib/virtualbox directory...

This workaround makes it possible updates all the packages except those for which the changes have been made with the libcurl3 dependencies. It's better than marking packages as hold...

Revision history for this message
Bernhard M (bmaehr) wrote :

I have the same problem with Kopano packeges and php 7.0.

In fact I even don't know why there is a conflict and a problem to solve this. libсurl3 should install /usr/lib/x86_64-linux-gnu/libcurl.so.3 and libcurl4 /usr/lib/x86_64-linux-gnu/libcurl.so.4

Revision history for this message
Nikolai Försterling (thefoster) wrote :

I don't understand the conflict between libcurl3 and libcurl4 too, why can't they coexist?
Still wondering how to handle that while keeping opera.

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

The reason they conflict, is that both bundle libcurl.so.3 and libcurl.so.4, which are in fact just symlinks to the actual library.

The best would be to release a new version of libcurl3 that does NOT have a libcurl.so.4 symlink, ONLY the libcurl.so.3 one.
And then provide a version of libcurl4 that ONLY has libcurl.so.4, and states that it only conflicts with the libcurl3 versions without the change above.

@Brian Murray would it be possible to provide such a solution, to allow graceful upgrades? otherwise I'd expect a lot of similar reports when users upgrade to Bionic, with popular applications like Spotify depending on libcurl3, and that Debian still uses the libcurl3 in their repositories, only their 'experimental' has switched to the libcurl4 naming.

Revision history for this message
Igor Mokrushin (mcmcc) wrote :

The problem is that, in libcurl3 used libcurl.so.4, and not libcurl.so.3...

Revision history for this message
Igor Mokrushin (mcmcc) wrote :

igor@mcmcc-GL553VE:~$ ldd /usr/lib/x86_64-linux-gnu/opera/opera | grep libcurl
        libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f5e8cb3c000)

or

igor@mcmcc-GL553VE:/usr/lib/virtualbox$ sudo ldd /usr/lib/virtualbox/VBoxRT.so | grep libcurl
        libcurl.so.4 => /usr/lib/virtualbox/libcurl.so.4 (0x00007f62b1a1e000)

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

Yes, but, it are symlinks that could trivially be changed:

ls -al /usr/lib/x86_64-linux-gnu/libcurl.so.*
lrwxrwxrwx 1 root root 12 jan 25 10:19 /usr/lib/x86_64-linux-gnu/libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx 1 root root 16 jan 25 10:19 /usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.5.0
-rw-r--r-- 1 root root 518600 jan 25 10:19 /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.05.0

cat /var/lib/dpkg/info/libcurl3\:amd64.list
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0
/usr/share
/usr/share/doc
/usr/share/doc/libcurl3
/usr/share/doc/libcurl3/NEWS.Debian.gz
/usr/share/doc/libcurl3/changelog.Debian.gz
/usr/share/doc/libcurl3/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libcurl3
/usr/lib/x86_64-linux-gnu/libcurl.so.3
/usr/lib/x86_64-linux-gnu/libcurl.so.4

Revision history for this message
Igor Mokrushin (mcmcc) wrote :

My all problematic applications use libcurl.so.4 from libcurl3 and none of which does not use libcurl.so.3, I do not understand how symlink to unused library will solve this problem?

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

If they were compiled against libcurl.so.4 I assume they would be compiled against abi-4 of libcurl, right?
AFAIK the supplying of libcurl.so.4 by libcurl3 was a trick by Debian by keeping the same exposed symbols, which kept abi-3 and abi-4 the same.
So I'd assume even though those packages specifying a dependency on libcurl3, in fact they did depend on libcurl.so.4 which should no problem to be provided by the new libcurl4.

I see btw same ldd result on Spotify:
ldd /usr/bin/spotify | grep libcurl
 libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007feea6b5a000)

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

Ok, Igor you are right about them being linked to libcurl.so.4 while assuming abi-3; this is a very unpleasant situation that indeed cannot even be resolved with adjusting the symlinks :-/

Revision history for this message
Rocko (rockorequin) wrote :

@Brian Murray: I think that it is incorrect to mark this bug as invalid - at the very least it should be kept as confirmed against the 18.04 release notes so they can include a warning against upgrading to Ubuntu 18.04 because it may not be compatible with a number of popular third-party applications.

zyrorl (zyrorl)
Changed in curl (Ubuntu):
status: Invalid → Confirmed
Revision history for this message
Rocko (rockorequin) wrote :

FWIW, I got opera-stable and viber to install with libcurl4 by extracting their debs, manually editing their control file to say libcurl3|libcurl4, recreating the deb using the "ar -r" command, and then using dpkg -i to reinstall. They run fine but of course I haven't been able to test all their functionality.

Revision history for this message
Yuan (rmafort) wrote :

@Rocko method worked for slack-desktop 3.1 too. Installed without issues after dependency edited on control and remade .deb

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

For spotify this trick doesn't work, it complains about the changed CURLOPT_SSL_CTX_FUNCTION symbol when starting the application.

Revision history for this message
Rocko (rockorequin) wrote :

@Maarten: Maybe spotify will install and work from its flatpak? It's the second flatpak app listed here: https://www.omgubuntu.co.uk/2017/07/7-flatpak-apps-can-install-right-now-flathub

Revision history for this message
Maarten Fonville (maarten-fonville) wrote :

Thanks for the hint, I use their snap-package as workaround, as hinted by their developer:
https://community.spotify.com/t5/Desktop-Linux/libcurl4/m-p/4411011#M15902

Revision history for this message
Daniele Besana (WP-OK) (daniele-wpok) wrote :

I installed Slack ignoring the dependency and works:
dpkg --ignore-depends libcurl3 -i slack-desktop-3.1.0-amd64.deb

but now every apt operation tell me there's the broken dependency.

Revision history for this message
Manel R. Doménech (manelio) wrote :

This is a very big problem.

A lot of packages from external repos are still using libcurl3.

In my opinion libcurl3 and libcurl4 should be able to coexist.

I tried the workaround proposed by @marcosjacoby, but I get errors like:

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

or

curl: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by curl)

It depends on the last libcurl version I installed.

Revision history for this message
Tim De Pauw (timdepauw) wrote :

Confirming that this seems to fix slack-desktop for now:

$ wget https://downloads.slack-edge.com/linux_releases/slack-desktop-3.1.0-amd64.deb
$ dpkg-deb -R slack-desktop-3.0.1-amd64.deb slack
$ vim slack/DEBIAN/control # and replace libcurl3 with libcurl4
$ dpkg-deb -b slack slack.deb
$ sudo dpkg -i slack.deb

which also means that the Slack team should be able to put out a new version pretty quickly.

Still, if there's a way for libcurl3 and libcurl4 to coexist, that'll also solve a bunch of issues.

Revision history for this message
Kirill Romanov (djaler1) wrote : Re: [Bug 1754294] Re: After last updated libcurl3 on libcurl4, some apps are removed.

This method doesn't work with Insomnia, for example

ср, 28 мар. 2018 г., 16:20 Tim De Pauw <email address hidden>:

> Confirming that this seems to fix slack-desktop for now:
>
> $ wget
> https://downloads.slack-edge.com/linux_releases/slack-desktop-3.1.0-amd64.deb
> $ dpkg-deb -R slack-desktop-3.0.1-amd64.deb slack
> $ vim slack/DEBIAN/control # and replace libcurl3 with libcurl4
> $ dpkg-deb -b slack slack.deb
> $ sudo dpkg -i slack.deb
>
> which also means that the Slack team should be able to put out a new
> version pretty quickly.
>
> Still, if there's a way for libcurl3 and libcurl4 to coexist, that'll
> also solve a bunch of issues.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1754294
>
> Title:
> After last updated libcurl3 on libcurl4, some apps are removed.
>
> Status in curl package in Ubuntu:
> Confirmed
>
> Bug description:
> Hi!
>
> After last updated libcurl3 on libcurl4, system (Kubuntu 18.04 bionic)
> deleted such applications as:
> virtualbox-5.2
> opera-stable
> slack-desktop
>
> I really need these applications, I installed them with broken
> dependencies, but they are deleted after each update. Is it possible
> to make the dependence of the libcurl3 in libcurl4, and not remove it
> altogether from system?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294/+subscriptions
>

Revision history for this message
Dylan Borg (borgdylan) wrote :

This is causing havoc! People installing .NET Core which depends on libcurl3 cannot install cmake that is depending on libcurl4. The nomenclature of these packages implies that they should be installable side by side.

Revision history for this message
Manel R. Doménech (manelio) wrote :

I agree with @borgdylan. I'm thinking of leaving Ubuntu just for this reason. Too much time without this problem being fixed.

Revision history for this message
Zac Collier (zacacollier) wrote :

@djaler1 I was able to use the method detailed by @timdepauw to get both Slack and Insomnia working - for Insomnia I just grabbed the raw deb from here

https://builds.insomnia.rest/downloads/ubuntu/latest

Revision history for this message
Kirill Romanov (djaler1) wrote :

Insomnia now can work without libcurl as dependency. It now statically
linked

ср, 25 апр. 2018 г., 19:40 Zac Collier <email address hidden>:

> @djaler1 I was able to use the method detailed by @timdepauw to get both
> Slack and Insomnia working - for Insomnia I just grabbed the raw deb
> from here
>
> https://builds.insomnia.rest/downloads/ubuntu/latest
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1754294
>
> Title:
> After last updated libcurl3 on libcurl4, some apps are removed.
>
> Status in curl package in Ubuntu:
> Confirmed
>
> Bug description:
> Hi!
>
> After last updated libcurl3 on libcurl4, system (Kubuntu 18.04 bionic)
> deleted such applications as:
> virtualbox-5.2
> opera-stable
> slack-desktop
>
> I really need these applications, I installed them with broken
> dependencies, but they are deleted after each update. Is it possible
> to make the dependence of the libcurl3 in libcurl4, and not remove it
> altogether from system?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294/+subscriptions
>

Revision history for this message
Corey Seliger (seliger) wrote :

This also creates a conflict with r-core-base. I can have curl installed or R installed, but not both at the same time. Ubuntu 18.04.

Revision history for this message
Toomas (toomaskaevand) wrote :

I have the same problem with Slack 3.1.1, R (r-core-base) and curl. Either I have installed curl and r-core-base or Slack (also there were problems with Spotify). If I install Slack which depends on libcurl3 then I have to remove curl and r-core-base. Very annoying.

Revision history for this message
Justin Nichols (jnichols21) wrote :

I do not understand how this did not hold up the release of Ubuntu 18.04. Many apps now conflict because of this issue.

Revision history for this message
Evgeny Brazgin (xapienz) wrote :

Another solution for this problem is downloading sources for libcurl4 package (apt-get source libcurl4), modifying "control" file by adding "Provides: libcurl3 (= ${binary:Version})" to libcurl4 section and rebuilding the package. It may also be necessary to add the new version to "changelog", in my case apt couldn't install the new deb right.
After that, everything mostly works well, except some apps (like virtualbox-5.2), which complain like "version `CURL_OPENSSL_3' not found", but for virtualbox-5.2 it is solved by installing the package virtualbox.

Revision history for this message
Dave English (sandersw) wrote :

My workaround for slack-desktop was to install using snap:

sudo snap install slack --classic

Revision history for this message
MasterCATZ (mastercatz) wrote :

slimjet is another victim

root@aio:/home/aio/Downloads# dpkg -i slimjet_amd64.deb
Selecting previously unselected package slimjet.
(Reading database ... 682186 files and directories currently installed.)
Preparing to unpack slimjet_amd64.deb ...
Unpacking slimjet (18.0.5.0) ...
dpkg: dependency problems prevent configuration of slimjet:
 slimjet depends on libcurl3; however:
  Package libcurl3 is not installed.

dpkg: error processing package slimjet (--install):
 dependency problems - leaving unconfigured
Processing triggers for menu (2.1.47ubuntu2) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.23-1ubuntu3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for man-db (2.8.3-2) ...
Errors were encountered while processing:
 slimjet
root@aio:/home/aio/Downloads# apt install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  slimjet
0 to upgrade, 0 to newly install, 1 to remove and 20 not to upgrade.
1 not fully installed or removed.
After this operation, 260 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
root@aio:/home/aio/Downloads# apt install libcurl3
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libcurl3 : Conflicts: libcurl4 but 7.58.0-2ubuntu3 is to be installed
 libcurl4 : Conflicts: libcurl3 but 7.58.0-2ubuntu2 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
root@aio:/home/aio/Downloads# apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  slimjet
0 to upgrade, 0 to newly install, 1 to remove and 20 not to upgrade.
1 not fully installed or removed.
After this operation, 260 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
root@aio:/home/aio/Downloads# uname -a
Linux aio 4.15.10-041510-generic #201803152130 SMP Thu Mar 15 21:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@aio:/home/aio/Downloads#

Revision history for this message
noabody (noabody) wrote :

I'm re-posting this comment I made on the ngemu forums as it is related.

These strings are present in compiled epsxe_x64 (hex-edit).
```
libcurl.so.4.curl_easy_init.curl_easy_setopt.curl_easy_cleanup.curl_easy_perform.CURL_OPENSSL_3
```

It lists the expected soname (libcurl.so.4) along with the symbol version (CURL_OPENSSL_3).

Installed libcurl4_7.58.0-2ubuntu3_amd64.deb:
```
readelf -Ws /usr/lib/x86_64-linux-gnu/libcurl.so.4 | grep curl_version
  397: 0000000000024980 172 FUNC GLOBAL DEFAULT 13 curl_version_info@@CURL_OPENSSL_4
  405: 0000000000024800 372 FUNC GLOBAL DEFAULT 13 curl_version@@CURL_OPENSSL_4
```

Conflicting libcurl3 package libcurl3_7.58.0-2ubuntu2_amd64.deb:
```
readelf -Ws libcurl.so.4 | grep curl_version
  389: 0000000000024700 172 FUNC GLOBAL DEFAULT 13 curl_version_info@@CURL_OPENSSL_3
  397: 0000000000024580 372 FUNC GLOBAL DEFAULT 13 curl_version@@CURL_OPENSSL_3
```

A work-around would be to extract libcurl.so.4.5.0 (from libcurl3_7.58.0-2ubuntu2_amd64.deb) into the same folder as epsxe_x64, sym-link or rename it to libcurl.so.4, then run epsxe from a terminal with command:
```
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./epsxe_x64
```

I toyed with other solutions but didn't want to mess up system libraries when ldconfig eventually caches the symbols.

Could also use ldd to get same info as hex-editor.
```
ldd epsxe_x64 | grep -i curl
./epsxe_x64: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by ./epsxe_x64)
    libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fee19108000)
```

Revision history for this message
Adriano Varoli Piazza (adrianovaroli) wrote :

>None of the packages which you are having an issue with are ones from the official Ubuntu archive, subsequently there is nothing we (the developers of Ubuntu) can do about this. You'll need to take up the issue with the people who develop these packages.

Maybe considering whether to break Slack and Virtualbox is a nice idea when updating libraries for an LTS. Just a thought.

Revision history for this message
Dylan Borg (borgdylan) wrote :

Can't canonical turn libcurl3 into a transitional package for libcurl4? When I did so manually I got stuff to work fine. Most 3rd party binaries use dot target libcurl3 as there was no libcurl4 package when in fact they'd work fine against libcurl4 since the ABI did nto change between curl 3 and 4, only the headers got changed. Please have this fixed. An LTS should be reliable in every aspect including the fact that it should not break installs.

Revision history for this message
Antonio Pérez (skarcha) wrote :

What a shame! In this situations I always remember Linus Torvalds words: never break user experience.

https://felipec.wordpress.com/2013/10/07/the-linux-way/
https://unix.stackexchange.com/a/235532

Revision history for this message
Pascal Normand (noorm) wrote :

After updating to 18.04, curl is gone! When trying to install it want to remove virtualbox (libcurl3, libcurl4 issue).

No... way.

At the moment, the simplest solution is to move the VM to another computer (windows) and after that I can experiment with this... disaster.

Revision history for this message
Valters (valters) wrote :

Also not possible to install MySQL Workbench (mysql-workbench-community-6.3.10-1ubuntu17.10-amd64.deb) because it has dependency on libcurl3 which libcurl4 disallows. It is not a solution to require all 3rd party packages to move to libcurl4.

If the curl library did not break ABI between 3 and 4, and if it is completely possible to have libcurl3 transitional package hanging around, it would allow all those applications install and work.

Currently Ubuntu has centrally broken this for everyone, and the retoric on ticket #1754294 is very frustrating.

Revision history for this message
Valters (valters) wrote :

Sorry, I meant the comments on ticket 1754686

Revision history for this message
César Bento Freire (cfreire) wrote :

It also affects Portuguese Citizen card software (Aplicação do Cartão de Cidadão) - pteid-mw_ubuntu16_amd64.deb

 pteid-mw : Depende: libcurl3 (>= 7.16.2) mas não vai ser instalado
            Depende: libxerces-c3.1 mas não é instalável
E: Não foi possível corrigir problemas, você tem pacotes mantidos (hold) estragados.

Revision history for this message
Alfred Krohmer (devkid) wrote :

For Slack, this seems to be fixed with the latest release 3.2.0.

Revision history for this message
Evgeny Brazgin (xapienz) wrote :

Hello all,
I spent some time and modified deb building scripts to do the following two things:
1. Make libcurl4 provide libcurl3 (Provides: libcurl3 in deb)
2. Add versioned aliases for exported symbols (both curl_XXX@@CURL_OPENSSL_4 and curl_XXX@CURL_OPENSSL_3 exist at the same time).

Seems to work well for all apps that I tested (nixnote, virtualbox-5.2, viber), but I am not 100% sure about complete binary compatibility :)
Also I am not sure that this is the best solution to the existing problem.

I have put the stuff which is necessary to build the debs here: https://github.com/xapienz/curl-debian-scripts/
You may run `apt-get source libcurl4`, then clone the repo, copy its contents to `debian` subfolder and rebuild the package using command like `debuild -nc -uc -us`. After that, you will get working debs.

Also, I created a ppa with these debs here: https://launchpad.net/~xapienz/+archive/ubuntu/curl34

I cannot promise that I will frequently support this ppa with updates, because I think that Canonical should work on making this problem fixed. Also I'm not sure that it will not break any other apps. But at least this solution can be used for transitional period, until the problem is resolved.

Revision history for this message
César Bento Freire (cfreire) wrote :

Hello Evgeny Brazgin
I want to thank for your time and support to this issue, as I'm sure we all do.
Never the less, I have installed you ppa and tried to install pteid-mw_ubuntu16_amd64.deb, witch is Portuguese Citizen Software and gives the followin error:

$ sudo apt install ./pteid-mw_ubuntu16_amd64.deb

Os pacotes a seguir têm dependências não satisfeitas:
 pteid-mw : Depende: libxerces-c3.1 mas não é instalável

I don't know if you can help in this case, because this also depends on libxerces-c3.1.
The default on ubuntu 18.04 is libxerces-c3.2.
Any Ideas?

Revision history for this message
Evgeny Brazgin (xapienz) wrote :

Hello César Bento Freire,
This is not related to libcurl.

But I would suggest you to download libxerces-c3.1 from ubuntu 17.10 repository and try to install it: https://packages.ubuntu.com/artful/libxerces-c3.1

amd64: http://mirrors.kernel.org/ubuntu/pool/universe/x/xerces-c/libxerces-c3.1_3.1.4+debian-2_amd64.deb
i386: http://mirrors.kernel.org/ubuntu/pool/universe/x/xerces-c/libxerces-c3.1_3.1.4+debian-2_i386.deb

This may require you to install further additional dependencies from ubuntu 17.10, or it may just work.

Revision history for this message
Jorge Gustavo (jgr) wrote :

Hello César Bento Freire,

I've wrote a small tutorial about installing Portuguese Citizen Smartcard Software, at
https://blog.geomaster.pt/cartao-de-cidadao-no-ubuntu-18-04/

You can install manually libxerces-c3.1 as Evgeny Brazgin explained.

It also depends on libcurl3. To install Evgeny Brazgin packages, please do:

sudo add-apt-repository ppa:xapienz/curl34
sudo apt policy curl
sudo apt remove curl libcurl4
sudo apt install curl=7.58.0-2ubuntu3ppa2 libcurl4=7.58.0-2ubuntu3ppa2

Evgeny Brazgin: thank you for providing the packages! Well done!

Revision history for this message
garf (gareth20) wrote :

This also affects adobe brackets, as referenced here: https://github.com/adobe/brackets/issues/14171

Revision history for this message
flo5783 (florent-bouchy) wrote :

Still not solved, even after the official release of Ubuntu 18.04 LTS?
I was using Slimjet as my browser, and now I cannot anymore because of its dependency to libcurl3... and I cannot just replace libcurl4 by libcurl3 because many other applications depend on libcurl4.
What can I do?!

Revision history for this message
Ned Hedrick (nhedrick) wrote :

On my system, the Slimjet browser is broken by this mess. It is non-functional after the update to libcurl4 and it cannot be re-installed successfully.

Revision history for this message
William Jojo (w-jojo) wrote :

We are in the process of migrating our Apache web servers from 14.04 to 18.04. Seems this will be impossible since the libcurl problem makes Shibboleth authentication in Apache non-existent.

All of the dependencies are Universe packages (not 3rd party). Essentially, anyone wanting SAML2 SSO access controls in Apache has to fall back to 16.04. Bionic is effectively broken.

root@webdev:/etc/apache2/sites-available# apt install libapache2-mod-shib2
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
 libapache2-mod-shib2 : Depends: libshibsp-plugins (= 2.6.1+dfsg1-2) but it is not going to be installed
                        Depends: shibboleth-sp2-utils (>= 2.6) but it is not going to be installed
                        Depends: libshibsp7 but it is not going to be installed
                        Depends: libxmltooling7 (>= 1.6.0-5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@webdev:/etc/apache2/sites-available#

Revision history for this message
flo5783 (florent-bouchy) wrote :

I managed to make it work with slimjet after using an idea from:
https://github.com/getinsomnia/insomnia/issues/805

*Here's my dirty "workaround".*

Short version: modify the .deb package to control for libcurl version 3 *OR 4*.

Detailed version: in a terminal, change directory to the folder containing slimjet's .deb package, then:
 sudo mkdir tmp
 sudo dpkg-deb -R slimjet_amd64.deb tmp
# now edit the "control" file to replace "libcurl3" by "libcurl3|libcurl4", then save
 sudo dpkg-deb -b tmp slimjet_amd64_fixed.deb

Finally, execute the new "slimjet_amd64_fixed.deb" package to install slimjet.

Hope this solution will suffice until the real problem is fixed.

Revision history for this message
Evgeny Brazgin (xapienz) wrote :

I think Canonical should implement some solution like in #47 to support both ABIs and keep it supported for some time, because all other apps need some time to upgrade to libcurl4 (18.04 is LTS, so it looks like it shouldn't have been upgraded to libcurl4 until 18.10).

Revision history for this message
vicho (vichoca9) wrote :

I tried the PPA solution of #47, with and old Assaultcube and ePSXe binaries. At the moment, everything seems fine, so I will update in case something fails or don't work.

Revision history for this message
aka2006 (153568795-b) wrote :

Same issue.
When I used git clone, it shows:
git-remote-https: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by git-remote-https)
But when I installed libcurl3, it shows:
The following packages will be REMOVED:
  libcurl4 virtualbox-5.2
From the above comments, I don't get satisfied solution.
Will Ubuntu release the patch?

Revision history for this message
Shriram (shriram-pheonix) wrote :

I have got the same issue. cURL and MongoDB cannot be installed at the same time due to libcurl3 and libcurl4 conflicts.

Revision history for this message
Roger Bergling (roger-bergling) wrote :

Adding this and downgrade the curl worked for me. https://launchpad.net/~xapienz/+archive/ubuntu/curl34

My application that was the problem was sky from tel.red

Revision history for this message
Petr Sedlacek (piit79) wrote :

At first I was annoyed by this strange choice by Cannonical. I mainly do not understand why libcurl3 and libcurl4 cannot be installed at the same time as is usual with libraries of different major version.
Then I got to accept that the problem actually needs to be fixed in the dependent programs - they need to switch from libcurl3 to libcurl4 which is now the default in Ubuntu 18.04. VirtualBox and Slack already have and I'm sure the rest will follow quickly. If not complain to them.
I expect this "issue" will not be fixed.

Revision history for this message
Neil Hoggarth (neil-hoggarth) wrote :

I have the same problem as William Jojo (w-jojo) reported in #54.

The Shibboleth authentication package (libapache2-mod-shib2) in Bionic Universe depends on libcurl3 (via libxmltooling7). I'm told in bug #1776489 that this is because upstream Shibboleth hasn't yet released a version that works with OpenSSL 1.1, so it genuinely needs libcurl3/libssl1.0.0.

Even when Shibboleth 3 is released by upstream, presumably it will not appear in Bionic, except perhaps as a backport?

So we need a solution for proper libcurl3 / libcurl4 co-existence in Bionic, if the Shibboleth SSO stack is going to work in the current LTS cycle.

Revision history for this message
aka2006 (153568795-b) wrote :

It seems because of my git version.
When I used ubuntu 16.04, the git version is lower than I need, then I installed new version manually.
After upgrade to 18.04, the new git version is higher than the former one and it uses libcurl3, then the problem happened.
Now use the latest git version, it's ok.
So, maybe more and more softwares switch to libcurl4, it's not a big deal.

Revision history for this message
William Jojo (w-jojo) wrote :

I have done much packaging back in my days in AIX. This looks to be a simple case of one dependency to break them all - libxmltooling7 (see #54 & #62, above). However looks can be deceiving.

For the complexity, see:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828607#49

The details for libxmltooling supporting OpenSSL 1.1 appears to be fixed below.
https://issues.shibboleth.net/jira/browse/CPPXT-110

There is still the issue of release.

However, there are other pieces that need to fall in line.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859829
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859831

I do not envy the ladies and gents that have to make this library soup palatable to all, it is often exhausting, seemingly thankless and involves much waiting on others.

Yes, it is broken, but not because of Canonical. In a way, I blame myself a bit since a release upgrade test of 16.04 or clean install of a shib-ed web server using the beta release during implementation of libcurl4 (prior to Bionic's official release) would have revealed breaking of Shib2 SP and this could have been posted to the release notes.

Of course, like most, my hindsight is rather sharp.

Revision history for this message
Dylan Borg (borgdylan) wrote :

This is simple to fix, by changiong control file and rebuilding the packages. What is holding canonical from releasing an unbroken version?

description: updated
Revision history for this message
Nick (nforced) wrote :

Oh, come on, I can't have Viber (and a lot more) because of PHP7, really?! This is July 2018, please do something about it!

Revision history for this message
Evgeniy (ev-ev) wrote :

+1 to #66

Revision history for this message
Jochem Blok (jochem.blok) wrote :

Geachte heer/mevrouw,

Bedankt voor uw e-mail!

Op maandag ben ik niet aan het werk. Mijn werkdagen zijn dinsdag tot en met vrijdag. Ik zal uw mail dan in behandeling nemen.

   Met vriendelijke groet,

   Jochem Blok
   Programmeur

      E: <email address hidden>

      T: +31 (0) 164 210 240

      Faster Forward | Stationsstraat 14
      4611 CC Bergen op Zoom | www.fasterforward.nl

   Op deze e-mail is een disclaimer van toepassing, ga naar www.fasterforward.nl/e-mail-disclaimer
   A disclaimer is applicable to this email, please refer to www.fasterforward.nl/e-mail-disclaimer

Van: Evgeniy (<email address hidden>)Datum: 09-07-2018 01:45Aan: <email address hidden> (<email address hidden>)Onderwerp: [bug 1754294] Re: After last updated libcurl3 on libcurl4, some apps are removed.
+1 to #66

--
You received this bug notification because you are subscribed to
the bug
report.
https://bugs.launchpad.net/bugs/1754294

Title:
After last updated libcurl3 on libcurl4, some apps are
removed.

Status in curl package in Ubuntu:
Confirmed

Bug description:
Hi!

After last updated libcurl3 on libcurl4, system (Kubuntu 18.04
bionic) deleted such applications as:
virtualbox-5.2
opera-stable
slack-desktop
mongodb

I really need these applications, I installed them with
broken
dependencies, but they are deleted after each update. Is it
possible
to make the dependence of the libcurl3 in libcurl4, and not remove
it
altogether from system?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294/+subscriptions

Revision history for this message
und3ath (peto-z) wrote :

Mysql Workbench is also affected and removed after updating to curl4 from curl3

Revision history for this message
Mark Daku (markdaku) wrote :

Can this not be done?

Create new meta package libcurl
libcurl depends on libcurl3 >= newversion with fix
libcurl depends on libcurl4 >= newversion with fix

libcurl3 removes the hack of having libcurl.so.4
libcurl4 contains a proper libcurl.so.4

They should be able to co-exist at this point. Well actually they need to co-exist because there is zero chance everyone will upgrade all at once and pass testing etc.

-----------------

OR Just plain Nuke libcurl4 all together and do a version jump up to libcurl5. And merge all libcurl4 code into the libcurl3 package.

Revision history for this message
Mark Daku (markdaku) wrote :

Or can this be done.

Change libcurl3 into a meta package that depends on libcurl3-4.
Change libcurl4 into a meta package that depends on libcurl3-4.

libcurl3-4 is unified package of 3 and 4 code.

Note: Someone will have to work with upstream in order to bump libcurl to version5. So that libcurl3 code can be depricated. This version 5 code in reality is libcurl 4 code only. But the lib would be a new version.

Again:
Both lib3 and lib4 must be able to co-exist on a system. If they don't way to much stuff breaks.

Revision history for this message
Evgeny Brazgin (xapienz) wrote :

Hi Mark,
The problem is a little more complex.

For example, let's take package virtualbox-5.2 from official virtualbox repo (https://download.virtualbox.org/virtualbox/debian/).
1. Deb package depends on libcurl3.
2. Its binary is linked to library with name 'libcurl.so.4'.
3. Its binary requires existence of versioned symbols with names like 'curl_version_info@@CURL_OPENSSL_3'.

2 and 3 together don't allow simply solve the problem, because there are apps, which read library of version 4 and use API of version 3.

Revision history for this message
Mazy (mazy) wrote :

same with mongodborg - depends on libcurl3

Revision history for this message
Donjan Rodic (bryonak) wrote :

Upgraded from 16.04 to 18.04.1 expecting stability. Now I can't have cmake and google earth installed simultaneously without tedious manual package patching at every update?!

$ sudo apt install cmake libcurl3
[...]
 libcurl3 : Conflicts: libcurl4 but 7.58.0-2ubuntu3.2 is to be installed
 libcurl4 : Conflicts: libcurl3 but 7.58.0-2ubuntu2 is to be installed

Revision history for this message
William Jojo (w-jojo) wrote :

Sharing some other details and help in case it can benefit anyone.

# Workaround for the dependency
https://depts.washington.edu/bitblog/2018/06/libcurl3-libcurl4-shibboleth-php-curl-ubuntu-18-04/

# Official xmltooling dependency bug that breaks libapache2-mod-shib2
https://bugs.launchpad.net/ubuntu/+source/xmltooling/+bug/1776489

Bill

Revision history for this message
Juan David Alvarez Cano (judalvarezca) wrote :

mssql-server is another fallen one... depends on libcurl3, and force me to uninstall KiCAD, libcurl4, libcurl4-openssl-dev, cmake and curl...
How can a mess like this one make it to a LTS release...
And also #3 answer is just awful, how can you just wash your hands like that.

Revision history for this message
John McLane (z3r0cool) wrote :

Can anyone from maintainers work on this bug, Please ? As said in comment #3, is there anyone who can at least point me on where to solve this issue. I know things get frustrating when maintainers get comments like #4. Now would you guys please let go and solve this bug. It will help folks like me. Thanks

Revision history for this message
John McLane (z3r0cool) wrote :

As said in comment #3 I opened an issue #2944 on github. Here is the link https://github.com/curl/curl/issues/2944.

Revision history for this message
Jeremy Akers (irwinr12) wrote :

So it's September 2018. 18.04 was released in April 2018. And we still can't have "curl" and "VirtualBox" installed simultaneously? You have got to be freaking kidding me.

All because someone at Canonical decided this was "not their problem" to ensure that libcurl3 and libcurl4 could be installed side by side? Apparently every app in the literal Linux universe needs to update to libcurl4 the instant Ubuntu decides to upgrade otherwise it can't be installed on the latest version of Ubuntu?

Revision history for this message
Gerben Wijnja (gerben-7) wrote :

And here's another one... I'm in Ubuntu 18.04, and Apache 2.4 and cURL can not be installed at the same time.

apache2-bin depends on libcurl3
curl depends on libcurl4

:-(

Revision history for this message
Nick (nforced) wrote :

Any solution to the problem will be highly appreciated at this point ~(;

Revision history for this message
untoreh (untoreh) wrote :
Revision history for this message
David Dombrowsky (davek) wrote :

Here's what I did to "solve" it on 18.04

{{{
git clone https://github.com/curl/curl.git
cd curl
git checkout curl-7_58_0
autoreconf -i
sudo mkdir /opt/curl
./configure --prefix=/opt/curl
make
sudo make install
ln -s /opt/curl/bin/curl* /usr/local/bin/
}}}

Of course, that doesn't really fix anything, but it gets a compatible version of curl on to this system.

Revision history for this message
John McLane (z3r0cool) wrote :

Seriously is there anyone working on this bug?? Please help us by solving this bug. This is driving crazy to lots of people

Revision history for this message
cljk (marcel-pokrandt) wrote :

I´m having a problem with this issue too. I´m using a DEV-System on Ubuntu 18.04 with multiple installed PHP-versions (by ondrej) connected to Apache2 with FPM-modules. I cannot install "php-curl (7.1)" (by ondrej) because it depends on "libcurl4" ... and installing libcurl4 would result in deinstalling apache2 (and several other packages) which is dependent on libcurl3.

So my problem is not on pure Ubuntu - but I personally would need both lib versions at same time.

Revision history for this message
Duane Ellis (duanesd) wrote :

for an Explanation of the problem, and a work around see:

https://github.com/GitTools/GitVersion/issues/1508

the problem started with libcurl3 having an incorrect symlink named: 'libcurl.so.4'

Revision history for this message
heytimc (heytimc) wrote :

 Thanks for the solution :)
Tim

    On Friday, 19 October 2018, 02:06:26 GMT+1, Duane Ellis <email address hidden> wrote:

 for an Explanation of the problem, and a work around see:

https://github.com/GitTools/GitVersion/issues/1508

the problem started with libcurl3 having an incorrect symlink named:
'libcurl.so.4'

** Bug watch added: github.com/GitTools/GitVersion/issues #1508
  https://github.com/GitTools/GitVersion/issues/1508

--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1754294

Title:
  After last updated libcurl3 on libcurl4, some apps are removed.

Status in curl package in Ubuntu:
  Confirmed

Bug description:
  Hi!

  After last updated libcurl3 on libcurl4, system (Kubuntu 18.04 bionic) deleted such applications as:
  virtualbox-5.2
  opera-stable
  slack-desktop
  mongodb

  I really need these applications, I installed them with broken
  dependencies, but they are deleted after each update. Is it possible
  to make the dependence of the libcurl3 in libcurl4, and not remove it
  altogether from system?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294/+subscriptions

Revision history for this message
John A Ramirez (mrcantaloupe) wrote :

I recently encountered this problem in 18.04 trying to play a game I recently purchased, Prime Mover. Upon startup it immediately aborts with the error

./PrimeMover: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by ./PrimeMover)

I realize it's not as vital as document databases or web browsers or version controllers, but I'm a bit shocked that the problem is this widespread.

Is there any news on this? Who maintains libcurl? This problem was reported eight months ago, and still no one is assigned to it?

Revision history for this message
David Dombrowsky (davek) wrote :

So basically the state of this bug is we still need 2 systems:
* 1 with libcurl3 and everything that depends on it, like virtualbox and slack
* another with libcurl4 and everything that depends on it, like kicad

Is there no work-around?

Revision history for this message
Petr Sedlacek (piit79) wrote :

@davek I'm not saying this bug isn't bad but virtualbox-5.2 and slack-desktop have been fixed a long time ago. virtualbox-5.2 depends on libcurl4 and slack-desktop even better on "libcurl3 | libcurl4".

Revision history for this message
David Dombrowsky (davek) wrote :

AH HA!

@petr-sedlacek I thought the problem was: the oracle provided version of virtualbox depends on libcurl3, and the canonical provided version is 5.0 doesn't have 64-bit support (or at least, it doesn't work yet).

Whelll....

Turns out I was downloading the wrong version from Oracle. There is a "xenial" version of 5.2_5.2.22-126460, and a "bionic" version. That's right, two different versions of the same version. EXCELLENT! Install the copy of virtualbox for bionic and all is right with the world.

I apologize for my annoyance :)

Dave Chiluk (chiluk)
tags: added: indeed
Revision history for this message
László Zsolt Nagy (nagylzs) wrote :

I have installed Ubuntu 18.04 because I thought it must already be stable. Then I had to find out that it is impossible to run node js 11 and mongodb 4 on the same system, just because node js 11 depends on libcurl4 and mongodb-org 4 depends on libcurl3, and they cannot coexist. Come on, this bug has been here for more than 6 months now! I don't have a choice but to select a different distribution. :-(

Revision history for this message
Claire Lynn (lemmaprism) wrote :

I am also affected by this problem.
Made a workaround by downloading curl3 and passing it manually to anything that needs it. (Replace the original with a shell script that calls this.)
`LD_LIBRARY_PATH=$HOME/mylib/curl3:$LD_LIBRARY_PATH application_name`

Revision history for this message
Nick (nforced) wrote :

Btw I made an alias to update my laptop taking care of some of the annoying stuff regarding this issue. Modify to fit your needs (:

alias distup='apt -y --fix-broken install && apt update && apt upgrade && apt -y autoremove && dpkg --ignore-depends libcurl3 -i ~/viber.deb'

Revision history for this message
John McLane (z3r0cool) wrote :

Hellooooo Anyone from maintainers is this bug ever going to be fixed ? If not then atleast close this bug. It freaks me out to come here every week and only confirmed tag. Please do something about this.

Revision history for this message
Alex Fedorov (sannek8552) wrote :

Just solved this issue on Debian 9.
After upgrade from previous version I had old sources.list. That was my issue.
Just set correct version of sources.list and ran sudo apt-get update && sudo apt-get upgrade
And after that I found that curl library now require libcurl3 instead of libcurl4. Maybe this can help someone...

Revision history for this message
James Howe (jameshowe) wrote :

> None of the packages which you are having an issue with are ones from the official Ubuntu archive

What about these? Why is libcurl3 even in Bionic as a conflicting package if nothing was supposed to use it?

$ apt-cache rdepends libcurl3
libcurl3
Reverse Depends:
  libcurl-openssl1.0-dev
  |flashplugin-installer
  libxmltooling7
  ruby-ethon

Revision history for this message
Christi Thomas (1rf2rookie) wrote :

I tried installing 3 different libcurl3_7.52.1-5 flavours like gnut_ls, nss..etc and it still says libcurl3 not installed.what should i do?

Revision history for this message
Adrianvg (adrianvg) wrote :

Dev issued me a ticket as he needed php7.0-curl on a server (using Shibd for user authentication) running Ubuntu 18.04 LTS, so I obliged.
Dependency libcurl4 was needed too, but had to stop there as the package shibboleth-sp2-common was to be removed. The shibboleth-sp2-common contains the shib daemon.
Some googling got me to https://depts.washington.edu/bitblog/2018/06/libcurl3-libcurl4-shibboleth-php-curl-ubuntu-18-04/ and of course here.

My understanding is that Shibboleth is pretty widely used worldwide in university authentication solutions (we're a major Swedish Uni BTW) - how could this have slipped through?

Is this a lost cause, do we wait for the next LTS release and hope for the best or what?

Revision history for this message
Petr Sedlacek (piit79) wrote :

@adrianvg Despite the very poor planning and execution of the libcurl3/libcurl4 transition, the best solution is to get all the relevant packages updated to use libcurl4. I very much doubt the next LTS release will resolve this.

Revision history for this message
Adrianvg (adrianvg) wrote :

Thanks Petr. I'll snoop around and see if I can find the future roadmap for Shibboleth wrt libcurl3/4. I have this gut-feeling not everything is a-okay over there. We can't be the only ones getting hit ny this...

Revision history for this message
Norman Wilson (norma7) wrote :

The specific package on which Shibboleth depends, and that in turn demands libcurl3,
is libxmltooling7, in case that helps.

And no, Adrianv, you're not the only one being hit by this!

Revision history for this message
Andriy Podanenko (podarokua) wrote :

I've removed all apt sources.list and added back from current version of Ubuntu which helped me to package by package upgrade it to current Ubuntu version of the package
I had same issues and they were in a system because some packages were from the previous version ( 16 ) which must be upgraded after OS upgrade to 18

so rm -rf /etc/apt/sources.list.d/*
apt-get update
apt-get upgrade

add all repositories back but for current version of Ubuntu and you'll succeed

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

this is related to libssl1.0 ("libcurl3") -> libssl1.1 ("libcurl4") transition.

The two conflict on disk.

After bionic release, we have upgraded to libssl1.1. Which means switch to libcurl4 for everything.

There were two packages, in bionic, that did not support libssl1.1 and thus had to use the old libssl1.0 based "libcurl3" which conflicts with libcurl4.

Post-bionic those two packages were ported to libssl1.1 and libcurl3 was removed from the archive.

If you must use the two apps that need libcurl3 on bionic, ensure that you install them in a chroot/container, such that it doesn't conflict and try to remove most of the system.

I'm not sure what i can do, to make any of this better on bionic or xenial.

Upgrade to focal? Everything is fixed there for this.

Changed in curl (Ubuntu):
status: Confirmed → Fix Released
Changed in curl (Ubuntu Bionic):
status: New → Opinion
Revision history for this message
Evgeny Brazgin (xapienz) wrote :

@xnox,

I think for bionic it may be possible to port changes from https://github.com/xapienz/curl-debian-scripts (branch ppa_bionic) into upstream ubuntu (currently debs are in PPA https://launchpad.net/~xapienz/+archive/ubuntu/curl34). I can't guarantee that such constructed binaries will work for all cases, but during the last 2.5 years I haven't got any complaints from PPA users.

For focal - maybe it is already fixed, but I see that around 900 people are still using my PPA in focal, so maybe there are some apps which still require it.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.