Apt wants to remove Opera on Xubuntu 18.04
furret29 last edited by furret29
When I tried to update Xubuntu 18.04 Bionic Beaver today, apt asked to remove Opera (Stable, Beta and Developer). The packages that apt is trying to remove are:
opera-developer deinstall libcurl3 deinstall opera-beta deinstall libxmlrpc-c++8-dev deinstall libxmlrpc-core-c3-dev deinstall libxmlrpc-core-c3 deinstall opera-stable deinstall libxmlrpc-c++8v5 deinstall
Google Chrome is being updated and apt is not asking remove it. This is the complete list with the updates and installs:
libreoffice-wiki-publisher install libreoffice-math install qml-module-org-kde-kquickcontrolsaddons install libqpdf21 install qml-module-org-kde-kquickcontrols install libreoffice-script-provider-js install qml-module-qtquick-privatewidgets install libavformat57 install libreoffice-report-builder-bin install libqt5texttospeech5 install libavfilter6 install libqt5svg5 install libvte-2.91-0 install libreoffice-sdbc-postgresql install qml-module-qtquick-window2 install libqt5test5 install python3-cffi install ffmpeg install whoopsie install libkf5calendarevents5 install libcurl4 install libqt5serialport5 install qt5-gtk-platformtheme install qml-module-qtquick2 install libqt5help5 install libreoffice-gtk2 install libreoffice-gtk3 install libreoffice-java-common install libswresample2 install libqt5sensors5 install libsystemd0 install libsystemd0:i386 install libreoffice-base install gstreamer1.0-plugins-good install libreoffice-core install qml-module-qtquick-controls install libqt5multimedia5 install libkf5declarative5 install libwhoopsie0 install qtwayland5 install libreoffice-gtk install boinc-client install libqt5dbus5 install libqt5quicktemplates2-5 install google-chrome-stable install python3-pyqt5 install libqt5sql5-sqlite install python3-ply install libqt5waylandcompositor5 install python3-pycparser install qml-module-qtquick-layouts install libqt5widgets5 install udev install libqt5waylandclient5 install cmake-data install libkf5quickaddons5 install qml-module-qtquick-dialogs install qml-module-qtquick-controls2 install libcurl4-gnutls-dev install libreoffice-librelogo install python3-uno install qml-module-qtqml-models2 install libboost-signals1.65.1 install boinc-manager install libpostproc54 install libgstreamer-plugins-good1.0-0 install python-pycparser install libudev1 install libudev1:i386 install libvpx5 install libqt5quickcontrols2-5 install libqt5xml5 install gstreamer1.0-pulseaudio install libqt5printsupport5 install libqt5qml5 install libreoffice-script-provider-python install libreoffice-style-galaxy install libreoffice-base-core install libqt5multimediawidgets5 install python-cryptography install libreoffice-ogltrans install libboost-iostreams1.65.1 install libreoffice-impress install libqt5gui5 install libreoffice-style-elementary install python3-cryptography install libudev-dev install libudev-dev:i386 install gir1.2-vte-2.91 install libqt5webchannel5 install libqt5x11extras5 install libboost-regex1.65.1 install libkf5declarative-data install systemd-sysv install python-cffi install libqt5webkit5 install libqt5script5 install ure install libboinc7 install libreoffice-sdbc-hsqldb install libreoffice-writer install libpam-systemd install libavutil55 install libreoffice-common install cmake-qt-gui install libreoffice-script-provider-bsh install systemd install libqt5core5a install libavdevice57 install libboost-program-options1.65.1 install libswscale4 install python3-dbus.mainloop.pyqt5 install libboost-locale1.65.1 install openssh-client install qml-module-qtquick-templates2 install qpdf install libreoffice-nlpsolver install libqt5opengl5 install libreoffice install libvte-2.91-common install fonts-opensymbol install libnss-resolve install libnss-resolve:i386 install cmake install ffmpeg-doc install libboost-filesystem1.65.1 install libreoffice-report-builder install uno-libs3 install libreoffice-style-tango install qml-module-org-kde-kconfig install libclamav7 install libavcodec-extra57 install libqt5network5 install libreoffice-gnome install libqt5designer5 install libqt5positioning5 install libboost-date-time1.65.1 install libreoffice-calc install boinc install curl install libboost-thread1.65.1 install libqt5quick5 install libboost-system1.65.1 install libreoffice-base-drivers install libavresample3 install libcurl3-gnutls install libqt5sql5 install qml-module-qtgraphicaleffects install libboost-python1.65.1 install libreoffice-draw install libboost-random1.65.1 install libreoffice-avmedia-backend-gstreamer install
last edited by
@sgunhouse Quoting Brian Murray at https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294 referring to the problem of libcurl4 on Ubuntu 18.04 Bionic Beaver
"None of the packages which you are having an issue with are from the official Ubuntu archive, then 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. "
I made a very heavy and sarcastic remark.
Unfortunately the developers of Opera now have one more problem that is to incorporate the code of libcurl in the browser code itself to avoid problems like this and will even resolve dependency conflicts also in other versions of Ubuntu and other distributions of GNU / Linux .
If you thought it was just Microsoft and Apple making arbitrary decisions without consulting the other developer companies .....
last edited by
@sgunhouse Greetings buddy! What I can do is to suggest to the folks that just as I am using Ubuntu Bionic Beaver to do the following:
Using the Ubuntu Package Search page on internet find the libcurl3 and libcurl4 packages for bionic and download them.
Create a tmp folder inside the folder where the files are (typically the Downloads folder) and move these files (.deb) to it.
Open a terminal and go to this folder. Assuming the user name is a username for example, the terminal usually opens in this folder and in this example I would type "cd / Downloads / tmp" (without quote).
In this particular case I have two files which are:
To ensure this, simply type "ls" and press ENTER.
Type dpkg-deb -R libcurl3 * .deb tmp
Another tmp folder was created inside this one and inside this one we have another folder called DEBIAN and within it some files.
Using the Leafpad application or another text editor of your choice open file namen "control" and look for the terms conflict and replace. Delete the name of the file that is listed as conflicting or replace.
Save the file and exit the editor.
Returning to the terminal having been modified type "dpkg-deb -b tmp fixed3.deb".
This will generate a file called fixed3.deb which is libcurl3 without the conflict information.
Do the same with libcurl4 using the same commands replacing "3" with "4" and at the end you will have two fixed files.
Now on the terminal type "sudo dpkg -i --force-all fixed * .deb"
This will dpkg install the two modified files. The --force-all option is required because both of them modify content in the same location and it was for this reason that I discovered that libcurl3 in the latest version has a library called libcur4.so, that is, it already has support only that they have decided to make a new one package that in addition conflicts with the previous one and causes all this headache.
But even having done so we are still in danger.
The apt command will still want to update these two files as they are installed from the local disk and not from the repository, even though it is the same version.
We need to lock these packages so they are not updated.
Still on the terminal type "sudo apt-mark hold libcurl3 libcurl4" and press ENTER.
Then type 'echo "libcurl3 hold" | sudo dpkg --set-selections' and hit ENTER and then type 'echo "libcurl4 hold" | sudo dpkg --set-selections' and hit ENTER again.
Now the packages are locked and even if you run "sudo apt update" and they appear as upgradeable, typing "sudo apt upgrade" will get the message that they will be kept.
Having made a workaround we now hope to see what exit the developers of Opera will give us.
I prefer that they incorporate this code into a file that comes with the browser.
We can even name this file as brianmurray to honor our "dear" curl developer who said "it's not our problem".
furret29 last edited by
@sgunhouse I have unpacked the Opera Developer deb package and edited its control file to make Opera Developer depends from libcurl4 OR libcurl3, giving preference to libcurl4. For now, Opera Developer is working as before. I've noticed no issues yet and downloads are working fine.
A Former User last edited by A Former User
You are asking your question in the wrong forum. Neither opera, nor steam or transmission-remote-gtk is to blame for the premature adoption of a lib from your distro.
However, opera and steam are both closed source apps, which means that someone else than the distro maintainers has to make a patch to make it work with that lib.
Fyi, debian (= the distro ubuntu is based on), has libcurl4 in its experimental repo., which means they still consider it unstable/unsuitable for general usage, but the ubuntu maintainers decided not only to have it in their main one for 18.04, but to build all the apps that depend on it, with it, thus making it essential part of the os. Go figure why...
last edited by
@jimunderscorep The reason why I asked here was because of response "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." here https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294 All applications which needed libcurl4 work fine except Opera, that and that response made me "blame" Opera. I just moved from Chrome but I am moving back because if it just does not work, then I am not gonna stick around whatever is the reason.
A Former User last edited by A Former User
Leaving opera aside, where do you get the other packages (virtualbox, slack-desktop and transmission-remote-gtk) from? Do they come from a third party repo as well?
Because if they come from the main one, they should already be built with libcurl4...
They are right about the fact that opera should now be built with libcurl4 support.
I would really love to see a reaction or a comment from those 14.04 users who complained a few weeks ago when opera 51 moved to a newer version of libdbus saying that opera devs are bad for making the change and that opera will lose users that way...
A Former User last edited by
The change seems to be backported in today's opera-stable 52
$ apt-cache depends opera-stable | grep libcurl |Depends: libcurl3 Depends: libcurl4