Do more on the web, with a fast and secure browser!

Download Opera browser with:

  • built-in ad blocker
  • battery saver
  • free VPN
Download Opera

Can't install Opera 51 on Ubuntu 14.04 LTS

  • I just found the "why" behind that change. Opera 51 requires libdbus-1-3 to be >= 1.9.14, while opera 50 required it ot be >= 1.2.14.
    This makes in unable to install in other "old" distros as well, e.g. debian 8 which is 1 year younger than ubuntu 14.04 (released Aprin 2015) in and its eol is also one year later (April 2020). I would post more examples if more distros had better package search webpages.

    To be honest, I really like that devs of closed source software are updating their apps and follow the... flow of things on linux. There are 2 closed source apps I would install but can't because their maintainers decided to built, package and make them depend on 2 old versions of specific libraries, one for each app.

    As for vivaldi, I will switch to it if one day (for most important to least)

    • if it switches from electron to a proper toolkit for its ui. Electron is the worst toolkit of our days and its poor performance can only be compared to the all time crap, java.
    • if it implements speed dial the way presto opera used to, i.e. ctrl+1 opens this, ctrl+2 opens that etc.
    • if it bundles a better build of libffmpeg than opera, giving it better html5 multimedia support

    Until then, opera will be my everyday browser.

  • I just found out that my ubnutu 14.04 won't upgrade to Opera 51. It's been useful as a secondary browser, and I find it very frustrating that its component depends on ubuntu 16.04. However, neither Canonical nor Opera is responsible for that LTS. I just hope that we could at least get security updates.

  • @metaltrabant Same here. Wtf I wanna change my OS because a web browser! In Ubuntu Trusty I can install the new version of Firefox, Chrome, Vivaldi... and Chromium!! Opera is based in Chromium!! If Opera owners think you're plenty of users, ok. You force me to change my laptop web browser... and with this I will change also the browser in my cellphone, tablet...

  • Allow me once more, because I was at your position ~10 years ago that I abandoned ubuntu and every other release based distro...

    Things in linux change and they change rapidly. In order for devs and users to keep up they have to constantly upgrade their apps because new stuff comes along and old stuff is deprecated quickly. E.g. in 2014, qt4 was a mainstream toolkit and every qt app was build with it. Fast forwart to 2018 and qt4 is half dead and we count which qt4 apps remain to be ported to qt5. And as a friend of mine once said to make his point: "Let's say I give you two installation disks, one of windows 7 and one of debian 5 (or any other old version of a linux distro). Both were released in 2009. Which one would you keep and which one would you throw away?"

    Distros.
    When a distro is labeled as "stable" (or "lts" in ubuntu's terms) it means that every single package and lib will stay at the exact same version throuout its lifetime so as to have a stable... foundation for anyone who wants to build on. That's why stable versions get only security updates for their packages and nothing more. That's why their release cycle concers server stuff more than desktop users.

    Ubuntu and the small exception to the above rule.
    Excluding firefox, chromium and thunderbird, name one app that was updated to its newest upstream version since the release of 14.04 (or 16.04). I think there has to be one more, maybe two, that I now forget. Every other app has stayed the same since then. Why? Because of the above.
    And why are only these 3 updated? Because years ago, ubuntu's forums were filled with whining threads like "My favorite app was updated... last week from upstream, but we (= ubuntu users) did not get the update yet. Why?". So ubuntu decided to update some really popular apps, making an exception to the above, to keep its users pleased. And that brings us to backporting...

    Backporting.
    Newest versions of apps depend on new libs etc, but new libs are not available for some. So what distros do is to patch the new apps so as to work with their old libs.
    This procedure is known as backporting and it has a finite number of times that it can be done. Actually it stops when it hits a old enough lib that can not work with the new app.

    Closed source apps.
    Closed source apps can not be patched so as to work with older (or even different) libs. Once the dev of that app decides to change something, it's over. Can you imagine google deciding to build chrome in gtk3 and asking distros if they "allow" the change? No. It's "I switch chrome to gtk3. You either have it or gtfo!", plain and simple.

    To sum up, as the opera devs respect that you not willing to change to a more recent version of the distro in order to keep their browser on your system, respect them back for keeping their browser up to date with the latest changes.

  • @jimunderscorep: Yeah, but Google is a multi-billion dollar megacompany, they can afford to say 'gtfo' to users. Still not very user friendly, but they can do it.

    Meanwhile Opera was always in struggle to get new users to be a profitable company, so I'm not sure it's really that good idea to say 'gtfo' to users whom are still using an officially supported, just a bit older version of a relatively popular OS.

    But the first time I had to leave Opera, after years of using it happily, was that when it took them almost years to build a stable version of the Blink-based Opera for Linux... it took a few years until it became such a nice browser, that it became my main one again. So, little moves like this doesn't really help the company to thrive, if they're loosing their old users for years again...

  • @metaltrabant said in Can't install Opera 51 on Ubuntu 14.04 LTS:

    it took them almost years to build a stable version of the Blink-based Opera for Linux... it took a few years until it became such a nice browser, that it became my main one again.

    I agree with you on that, and I admit it took me a lot longer to move from presto opera to blink opera, but...

    About that dbus lib.
    After checking dbus's release history here, you will see that libdbus 1.2.14 (minimum opera 50 dependency) was released on mid 2009 and libdbus 1.9.14 was released on q1 2015. So, in 2018, opera decided to upgrade a dependency from a 9 year old version lib to a 3 year old version of the same lib. Seems quite a logical move to me...

    https://dbus.freedesktop.org/releases/dbus/

    On top of that, chromium 64, i.e. the one opera 51 depends on, depends on the exact same version of the lib, so the change is probably upstream and opera can not do anything about it since it uses chromium's engine.
    However, because chromium is opensource, backporting happens and you can still install it on debian 8 and ubuntu 14.04 because some maintainer will patch it and make it work with the distro's old libs.

    On the other hand, do you know how many apps and other libs on your system depend on that single lib to work? You can check with

     $ apt-cache rdepends libdbus-1-3 --installed
    

    On my system it is "only" thunderbird, kodi, chromium, deadbeef, firefox and quite possibly all qt5 apps (e.g. smplayer), because qt5 depends on it too. Not to mention dbus which is a huge core component of all major distros and desktop enviroments.
    If you had the option you upgrade that lib so as to get opera working, would you do it and risk breaking the rest if not more? I do not think so, and so do the distro maintainers.

    And let's be real, from the apps you use everyday, which one did get a major update these 4 years? Excluding the above three (firefox, chromium and thunderbird), I guess none. However you had no complaints about any of them...

    To sum up, this (= things moving forward) is the nature of linux and one of the main reason it sucks on desktop because it breaks stuff due to incompatibilities.
    If this seems too much for you, then linux (or release based distros at the very least), is not the right os for you and you would be better with windows. No offence.

  • @jimunderscorep Thanks, I'm not a beginner on Linux and well aware about the path whole *nix (open source) community development is on the way to. By the way, I'm on the brink with Linux since -96 when *buntu was barely in thoughts of his makers, only few main Linux clones existed, Slackware, Debian, SuSe, RedHat, Sco Sun systems, ScoUnix etc. So, I'm still following the show, mainly Mac-Win user but all my older laptops are driven by some kind of Linux. Opera is my main browser since late 90-es, don't even remember first versions I used, however know that Norway's Opera was best stand alone browser at that time and even today even if is Chromium based and partly if not mainly Kina's owned. My point is not to complain, Opera 51.xxx works flawlessly on both, Mac OS and Windows, only Linux stepped backward because a rapid lib. development in some newer distros. Thanks anyway

  • @jimunderscorep said in Can't install Opera 51 on Ubuntu 14.04 LTS:

    $ apt-cache rdepends libdbus-1-3 --installed

    I have libdbus 1.6.18, which is apparently from 2013-11-01. Yes, it's quite old, but still other Blink-browsers, Vivaldi, Chromium, Yandex Browser, Brave etc. can deal with it just fine, and still updating regularly.

    A hell-of-a-lot depends on it in my system, since I'm still on Qt4 (I don't even like the new Plasma Qt5 GUI...). But even SMPlayer for example, does packages for both Qt4 and Qt5 to keep their user base, and they aren't a big company.

    And Opera not upgrading anymore is really bothering me, 'cause the browser is maybe my most important, most used software (apart from the OS, of course), it's not good to stuck on an increasingly outdated version.

    I'm using Kubuntu for around 10 years now as my main OS, so I'm not planning to leave it anytime soon. But both the supported LTS versions (I only consider LTS releases for an upgrade) are having end-of-life at April, 2019. So if I upgrade now, I have to do it again next year, which I'm also not planning to do so soon. And 1 year is a long time with the same browser version...

  • @lordiaco
    If you are on linux since then and you already know what I am talking about, opera's decision to move to a newer lib shouldn't come as a surprise. Besides that, it was is not a really recent version of that lib, e.g 1.12 that debian testing/unstable has. Plus, as I found out above, the change to that newer version of libdbus was made on chromium upstream, so all opera did was to follow the change.

    @metaltrabant
    First of all, qt5 != plasma and kde. The fact that a windows-wannabe desktop enviroment is build on a really good toolkit neither makes the desktop enviroment better nor the toolkit worse.
    As for the other browsers

    • vivaldi and brave seem to be built on chromium 64, but I do not know about yandex because there is absolutely no changelog about it, at least in english language
    • brave does not depend on libdbus at all!

    And, as usual, vivaldi and brave are build on the same trendy, crappy toolkit of our days: electron. No idea about yandex though. Maybe they keep that dependency on that old lib just for electron... Please do not compare that to gtk or qt, they are way better.
    About smplayer. Smplayer does build on qt4 and qt5. Did your mainly-using-qt4 distro continue to package smplayer even on qt4? No, they left it on 0.8.x since 2014 and did not even backport a thing! But no complaints were made on that,

    offtopic
    Speaking of backporting, I would like to apologize to any debian 8 user reading this forum. Chromium on debian 8 stopped on version 57, 7 versions behind todays chromium 64. This is where backporting stopped because it could not go further, for any reason. My respect to the maintainers that carried it out for that long.
    /offtopic

    To sum up, if you are willing to follow ubuntu's release schedule, I would suggest upgrading to a newer LTS version more often. Its not just for that one lib that made all the fuss here, but for not missing the improvements done in the linux world. Backporting is more like the "medicine" to that "I want that new version of application X" problem you are facing, not the cure.

  • I had no error message appart from that "opera-stable has been kept back" when running "sudo apt-get update && sudo apt-get upgrade".
    So I uninstalled opera, and saw the "dependency is not satisfiable libdbus-1-3(>=1.9.14)" error.
    I tried to reinstall opera 50, but now I'm with no availlable opera at all:

    sudo apt-get install opera-stable=50.0.2762.67
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Les NOUVEAUX paquets suivants seront installés :
    opera-stable
    0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
    E: Impossible de trouver une source de téléchargement de la version « 50.0.2762.67 » de « opera-stable:amd64 »

    Could opera be decent and nice enough to keep the previous version available for download? because now I find myself with no browser and can not upgrade my distro before a while because my job requires a Trusty.

    Thanks in advance.

  • There you go. Grab the deb from here and install it manually

    ftp://ftp.opera.com/pub/opera/desktop/50.0.2762.67/linux/

    In order for this to work

    sudo apt-get install opera-stable=50.0.2762.67

    the repo itself should provide an older/different version of the package, but it doesn't, it only has the latest one

    $ apt-cache policy opera-stable 
    opera-stable:
      Installed: 51.0.2830.55
      Candidate: 51.0.2830.55
      Version table:
     *** 51.0.2830.55 500
            500 http://deb.opera.com/opera stable/non-free amd64 Packages
            100 /var/lib/dpkg/status`
    
  • Thanks a lot @jimunderscorep

    If opera wants to cover older distro support, could a solution be to do static links of some libraries (i.e. of libdbus-1-3 in this case, with it's dependencies)?

    I know this is not a thing to do for distribution packages, but for large diffusion of "proprietary" apps, it is usually better.
    Modern computers have large enough disks to support a larger package.
    Ideally, two builds : a statically linked and dynamically linked package should be proposed. And this is not a lot of hassle for developers to propose this because there are no backports required.
    A lot of proprietary vendors propose full statically linked dependencies and therefore install almost everywhere.
    However, I don't know if a static link of libdbus-1-3(>=1.9.14) would work with dbus from trusty, but it could be worth the test.
    I can be wrong because I don't develop in C or C++ or whatever language opera uses...

    e.g. I develop on openstack in python and at a time, when precise was not EOL but not supported by openstack, we where packaging new openstack versions with dhvenv (packaging a python venv and all python dependencies without clashing with the distro's older versions) so that we could slowly but surely migrate to trusty afterwards.
    I now run pike versions of openstack horizon on Trusty servers without conflicts with the distribution's libraries thanks to python venvs (but now with kubernetes instead of dhvenv packages, but still have no clashes with the rest of the distribution's dependencies thanks to python venvs which "could" be regarded (in a ways) as equivalent to statically linked C(++) libraries).
    Therefore I have no issues and no clashes with the distribution's own libraries. And no need for backports to match the distro's libraries (I only backport security fixes and certain features from trunk before they get released and with even more ease now because I do not even have to care an inch about the running distro's antediluvian packages anymore).
    Go language can also build with every dependency statically linked. So why could opera not propose such "special" builds and one could chose the static vs dynamic linked package? Does opera's programming language not allow to do this? I know it's possible in C and C++ but again do not know what opera uses... Maybe your programming language and/or framework does not allow to do so?
    Doing so would even ease your own development by caring less of the distro's "libraries", and requiring less backports. The downside is larger packages, but with nowadays' disks it's peanuts to care about this.

    I can test a statically linked package on trusty if you provide me one on your ftp, and give you feedback whether it works or not. It's maybe worth the test.

    Regards

  • @jimunderscorep: Maybe the distro left SMPlayer on an old version, but SMPlayer team itself did another repository just for the Qt4 builds, so they didn't left the users in shit with an old version. And yes, I complained to them on Facebook, and then they told me this.

    If they could do this courtesy, then a million dollar company also probably could. As an end user, anything else just sounds like shitty excuses to me, sorry...

    In the global market, the companies should be for the user, and not the other way around. I know it's idealistic, but still... If it would be a community-maintained open source software, then it'd probably be okay, if the user needs to be a bit more flexible, since there the developers kind-of making the software out of favour and passion, but Opera is in a different business.

    And the main conclusion is, that I still have to remain on this old (and a bit buggy) version for another year, if I don't want to upgrade my distro 2 times within a year (now, and next April, when 19.04 LTS will come out). Or I have to change browser again, which I don't really want...

  • @ygbourhis
    As it seems, opera does not offer static builds, only deb and rpm packages. And these 2 alone are enough to cover a huge percentage of the distros out there, since most of them are either debian based (deb) or redhat based (rpm). Google does the same thing for chrome, microsoft does the same for skype (although it's not a real app but a crappy electron web wrapper) and so on. The rest of the distros have to literally extract the deb/rpm they want and repackage it for themselves.
    And I said before, I completely understand your frustration. I have 2 closed source apps I can not install because of some lib. But that's how closed source works.

    @metaltrabant
    First of all, lts versions come out once every 2 years, not evey year as you think, and they get released on even years (2006, 2008, 2010, 2012, 2014, 2016, 2018 etc). There will be no 19.04 as lts in the same way that there were no 17.04 lts, 15.04 lts and so on.

    About the ppa repos and whatever they host.
    Launchpad.net (= the place where all the ppa repos are hosted) is nothing more than a place canonical provides for anyone who wants to call himself a "maintainer" and package something that, for any reason, does not exist in the repos. Canonical does not support anything in there and that is the reason the "maintainer" can do whatever he wants, literally, because there are no guidelines or rules to follow. He can skip a version of what he packages, he can package a development version and he can stop all of it any time he wishes and without any notice, because no one is forcing him to do it. And no package from a ppa can ever get in the main repos, thus the connection between ppa repos and the main ones is non existant.

    The rest of the things I said about linux moving forward remains the same.

  • Thanks @jimunderscorep for your reply

    Statics builds can be proposed as rpm and deb packages too. Some devs C(++) in my team already did this plenty of times, so it's just totally possible, and it covers even more distros by doing so, meaning more users and revenues for your company (deb and rpm are just packaging methods, and do not imply that you need to do dynamic linked builds. dynamic linked builds are just distribution "politics", and very useful for "open source" packages, but non static builds for proprietary software is mainly the exact case of a wrong way to go).

    Concerning your proprietary app, if you make a "static" build on a distro having the library (some change in the Makefile to make static builds), and since it's statically built you can remove some "Depends" from the "control" file in the deb source ("Depends" does not need all that is used for "Build-Depends"), than it could probably install as a deb package and work on your older distro (the deb package would just have some extra Megabites in size because of the static built-in libraries). For rpms, you have an src rpm and an rpm, you need a distro with the dependencies of the src rpm to build, but need less dependencies for the built rpm.

    So to sum it up, it is totally possible to provide deb and rpm packages with static builds. Meaning you do not need to change an inch the distributing method. With C(++) apps It's no more than compiler options to pass during compile time. No more than that. Just a tiny little ting to change in the Makefile used to compile, and dependencies to remove in the "control" file of the deb package source (some "Depends" to remove).
    All that is required is to build the package on a distro providing all the "Build-Depends", but then it installs on all distros having the "Depends" matching, and the less "Depends" you have in the "control" file, the more distro's it installs on.

    Most of what is compiled statically can be removed from the "Depends" section.
    Some packages well crafted can then run on a distro which can't compile it 🙂
    NOTE: it's the wrong way to go for "open source", (and against debian politics for distribution packages) but this is not the case of Opera. It's that the distribution packagers' job to do backports and etc... if they want to provide a dynamic linked package. It's not the proprietary vendor's job, unless you want to open opera's source code and put it on github (You would be loved for this 🙂 )

    Currently you are using an open source package building strategy for a closed source app, this implies less distribution compatibilities.

    The only thing that can be blocking is that some "extremely badly coded frameworks" may (I don't know your development framework) not allow this. If your framework allows this (if it's decently and intelligently coded), development would even be easier for your team because you would not need to do backports depending on distro libraries, and could even use more recent libraries without conflicting with the distro's own libraries, and the build would still be packaged in deb or rpm whatsoever, this would not change the way end users install.

    I've already seen some deb packages with a Build-Depends library not provided by the distro, but statically built in the package, working properly.
    I've even seen some proprietary rpms when I was working in Mandriva (Mandrake Linux) which where build on proprietary libraries we did not even provide or have at all. The libraries where simply statically linked by the vendor during the rpm build (so we where not even able to build the rpm ourselves). And believe me : it worked.

    So I don't understand why you have a full open-source approach in package building for a closed source app unless you intend to surprise us and make your code open source in a while 🙂

    I'm just trying to help propose that you have more users (and if your revenues depend on your users, well, you know what it implies).

    Kindest regards.

  • @jimunderscorep: My bad, my mind was just so focused on that both current LTS versions reach their end of support in April 2019, that it just seemed logical that then will be when the next LTS comes out. But of course, I know they're released in even years... silly me 🙂

    So I'll have a look at the 18.04 LTS and might consider upgrading soon, even though I'd loose a year of support from 14.04, but still, it might worth doing it.

    Just the endless time it takes to create a full backup of my entire system is mind-boggling... and never did a separate Linux upgrade on my dual-boot system, so I'm a bit afraid of it. And also, I don't really like the Plasma 5 GUI... and all for this just because of a browser... meh.

  • If you are really bored of backing up stuff in order to reinstall, you should really consider a rolling release distro. I moved from ubuntu 6.06 lts to debian testing back in February 2008, I have made countless of installations and removals of packages and I only had to reinstall twice: once when I moved from 32 bit to 64 and once more when openshot made my system hang completely and f-ed up my filesystem.

    As for plasma, no one is forcing you to install it. Just choose an ubuntu "flavor" with a different desktop enviroment. And keep in mind that the most important changes from 14.04 to 16.04 and newer are under the hood, e.g systemd is far better than upstart.

  • I agree that a rolling release distro is by far the best and if it was up to my personal choice I would install an LMDE (Linux Mint Debian Edition). I was even running Gentoo at a time, BUT, for "job" reasons, I need a distro based on our production servers versions to make sure that what I develop will run on them. And that's because I do server backend development. So a lot of us do not have the "choice..." But with the technique I explained above we where able to develop deb packages built on 14.04 LTS which could install and run on 12.04 LTS before it was EOS (because theyr where "static" builds). So it's possible.

  • Have you ever thought of running the os of your choice on your main system and use a virtual machine for your job needs?

  • For my job needs I need to run virtual machines already (devstack : I run a mega huge virtual machine which itself will run multiple virtual machines) and concerning these virtual machines which I need (for my job needs), My job requires me to create and destroy them all the time. So I can't develop on VMs which I need to destroy.
    So I need my machine itself for the development and the "builds".
    I can't run another virtual machine just to develop while the other "cluster-like VM" is also running because I only have a 16Gb of RAM on may core i7 laptop (and devstack does not work with less than 8B of ram, it is in my case assigned 12Gb to 14Gb of ram since it will itself host multiple VMs. I need it since I develop on this: https://www.openstack.org/). And also my SSD drive will be saturated. I need to develop "while" I have this huge virtual cluster running. And aside from this I also have bigger clusters in data centers, but need to be able to work remotely even when I have no network available. reason why I need my devstack for tests before pushing modifications to the datacenters for wider tests.

    I'm turning back the question now: Have you never considered Appimage for Opera builds? : https://appimage.org/ ?

    And I'm sorry, but making a static build is easy so easy... that telling your users to use VMs because you do not know how to do static builds... well.. is kinda what it sounds like...