Insomnia package depends on libcurl3. But in Ubuntu 18.04, there are also a libcurl4 package. And curl depends on libcurl4. And, because many of apps depends on curl (and, recursively, on libcurl4), Insomnia cannot be installed.
Hmm. Are you seeing an error during installation or at runtime?
During installation. There are dependencies conflict.
Can you post the exact error message?
dpkg: dependency problems prevent configuration of insomnia:
insomnia depends on libcurl3; however:
Package libcurl3 is not installed.
And, if I try to install libcurl3:
The following packages will be REMOVED:
curl libcurl4
The following NEW packages will be installed:
libcurl3
In Ubuntu 18.04, libcurl3 is deprecated version and all software depends on libcurl4 instead
Interesting. Is there a libcurl (without the number) package that aliases the latest one that could be included instead maybe?
(I haven't used Ubuntu in a few years)
I edit debian/control file in deb-package by adding or statement to Depends section (libcurl3 | libcurl4). And after this it was installed successfully. But, in runtime I get this error:
Uncaught Error: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /tmp/.org.chromium.Chromium.XnqfXj)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:187:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/opt/Insomnia/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:40:29)
at Object.<anonymous> (/opt/Insomnia/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:280:3)
Hmm, this one might be harder to fix than I thought.
P.S. If anyone reading this has any ideas for fixing this cleanly, please share below.
@Djaler how did you get that runtime error? My window just stays blank and no output to any std.

@migueldemoura View > Toggle DevTools
Yeah, same thing here. Just checked, spotify and a bunch of other electron apps have the same issue.
Can you create issues in their repos? May be they can find solution
Spotify has one now: https://community.spotify.com/t5/Desktop-Linux/libcurl4/td-p/4411011. No idea how fix this.
@gschier Snap can be workaround for now. What about it?
Also, bug report in curl repo https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754686
@Djaler, there are a couple of those bug reports. See this one as well: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294
Yeah, already checked it
appimage also show this

@gschier Hey, so what about Snap package?
Have had some troubles building a snap package but will give it another shot since it seems like it's the best solution to this problem.
Downloading the source code modifying the .electronbuilder file to use libcurl4 for the deb depends section then allows building of a .deb package that is compatible with Ubuntu 18.04 if built inside Ubuntu 18.04. The only remaining issue after that is a font rendering bug that a newer electron dependency fixes (but that's a little off topic).
Of course this new .deb package wont likely be backwards on any systems without libcurl4...
Of course this new .deb package wont likely be backwards on any systems without libcurl4...
This new .deb would only be available to 18.04 on the PPA.
@gschier, this is the best solution imo.
@mempf have you tried building and running Insomnia this way? I tried building the app on Xenial a while ago and some stuff broke. Had to revert back to Trusty builds.
Providing a different deb for 18.04+ seems like a good idea but we still need to fix the other distros too. I wonder if @probonopd has thoughts on how this could/should be handled for the AppImage package.
@gschier Yep I am happily using Insomnia in Ubuntu 18.04 (beta) at the moment after building it from source as described above and then installing the .deb package.
Awesome. Well maybe I can at least provide a deb to start (I'm sure it's the most popular) and we can cover the others later.
If Ubuntu 18.04 cannot run applications anymore that earlier versions were able to run, then either Ubuntu 18.04 or one of the libraries inside it (libcurl?) has an issue, namely it is breaking backward compatibility. Which we should submit as a bug so that it gets fixed. In my opinion it is very important that library authors learn not to break backward compatibility...
@probonopd, you can check the bug reports above to see their reasoning for the breaking change.
On https://curl.haxx.se/libcurl/abi.html it says
In the vast majority of all cases, a typical libcurl upgrade does not break the ABI at all. Your application can remain using libcurl just as before, only with less bugs and possibly with added new features.
That's how it should be, imho.
The previous major library soname number bumps (breaking backwards compatibility) have happened the following times (...)
The latest one listed there is libcurl 7.16.0 from October 2006. So I'd have assumed that it has _matured_ by now and no more ABI-breaking changes will happen.
Well... apparently I was wrong?
__Solution:__ You could bundle a private version of libcurl inside the AppImage to make it independent of the one shipped by the system. But use one that does not depend on Kerberos: https://github.com/AppImage/AppImageKit/wiki/Desktop-Linux-Platform-Issues#kerberos
Yes,
A lot of packages from external repos are still using libcurl3.
In my opinion libcurl3 and libcurl4 should be able to coexist.
In general, whenever any library bumps the soname and breaks ABI, then the previous version of said library needs to be kept around for a couple of years until everyone has had sufficient time to upgrade.
I don't disagree with you, but it seems that change proposed by @mempf solves this particular issue.
I also didn't mean to assert rebuilding Insomnia was the best solution in all cases either. I just wanted to provide the information that it was A solution for people who want/need insomnia to work in the meantime and also to provide information to the author about potential solutions.
Over in https://github.com/curl/curl/issues/2433:
That symbol looks like something Debian/Ubuntu have introduced. There is no such name (
CURL_OPENSSL_3) in any curl source code or build script that comes from us. So, no, we didn't break the ABI as you show and we can't take responsibility for what distributors and others do with the libcurl versions they ship. Sorry. I'd advice you to take this discussion to your distribution and see what you and they can do to improve things now and for the future.
Yeah, that's mentioned in one of the bug reports.
the v5.15.0 deb just removed my curl php-curl and uget
@inuxor do you still have your installation logs showing this?

don't have logs but I found this in the control file
Package: insomnia
Version: 5.15.0-1952
License: unknown
Vendor: Insomnia <[email protected]>
Architecture: amd64
Maintainer: Insomnia <[email protected]>
Installed-Size: 183480
Depends: gconf2, gconf-service, libnotify4, libappindicator1, libxtst6, libnss3, **libcurl3**
Section: default
Priority: extra
Homepage: https://insomnia.rest/
Description: A simple, beautiful, and free REST API client
Debug APIs like a human, not a robot
libcurl3 is the reason
The same issue here!
1) All Ubuntu 18.04 repo is using libcurl4 as the main curl lib.
2) libcurl4 is now conflicts with libcurl3 on Ubuntu 18.04;
=> So, if I wanna use Insomnia on Ubuntu 18.04 right now - I should remove ALL libcurl4 related packages (php7.2 extensions, uget, playonlinux and so on...) and libcurl4 itself :(((
libcurl4 is now conflicts with libcurl3 on Ubuntu 18.04
Why?
@probonopd
libcurl4 Conflicts: libcurl3 - prevents install of 3rd party apps:
https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754686
Working on this today!
It looks like I was already building the app with libcurl4-openssl-dev. Can someone try installing the app by ignoring the conflicting dependency and see if it works anyway?
sudo dpkg --ignore-depends libcurl3 -i <path_to_deb_file>
Output after installing without libcurl3:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /tmp/.org.chromium.Chromium.fydIjZ)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:187:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/opt/Insomnia/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:40:29)
at Object.<anonymous> (/opt/Insomnia/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:280:3)
Segmentation fault
Same as before.
Oh right, I forgot about openssl. I don't actually have an Ubuntu 18.04 install setup yet. Maybe I should do that first 馃檲
Alright, I built one manually on 18.04. This should work for now. https://github.com/getinsomnia/insomnia/releases/download/v5.15.0/insomnia_5.15.0_amd64__1804.deb
@gschier, can confirm it is working. Could you add it to the PPA for the 18.04 version? Thanks a lot! :smile:
@gschier, also, what about snap packaging?
@Djaler working on that soon too. I have a feeling the Snap will replace the deb going forward. Maintaining different deb builds for different Ubuntu versions seems like too much work to be worth it.
Definitely snapify insomnia :+1:
Alright, so a few people didn't like the mention of deprecating the deb. Not to worry! I have a PR that changes Linux builds to statically link libcurl, which removes the dependency entirely. This means that the dependency issue on 18.04 is no longer a problem 馃槃 馃嵒
As for the Snap, I'm still working on it. It's not as big of a priority now but I still want to get it done.
Alright, some big news!
deb package is live that should work on all platforms since libcurl is no longer a dependency馃帀 馃巻 馃敟 :shipit:
Again, I'm not really a Linux user so please open an issue if you find anything wrong with these new packages 馃槂
Can confirm everything is alright on buntu 18.04!
Thanks a lot! :smile:
Nice! I can finally relax.
Just installed the latest Snap store version on Ubuntu 18.04, and while it otherwise seems to work, when trying to log in I get this:

Hey @ilkka. Ya, that's a general bug with the latest release (all platforms). Also reported in #900
Deploying a fix now :shipit:
Should be live now!
if you want to use libcurl4, you can fix current deb file:
dpkg-deb -x insomnia.deb insomnia
dpkg-deb --control insomnia.deb insomnia/DEBIAN
Edit insomnia/DEBIAN/control and repace "libcurl3" with "libcurl4"
also remove any blank new lines from the file
dpkg -b insomnia insomnianew.deb
sudo dpkg -i insomnianew.deb
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.
Anyone has workaround?
@aka2006, this issue is only referring to the production build of Insomnia. There's a similar issue still open for getting the dev version of Insomnia working again on Linux https://github.com/getinsomnia/insomnia/issues/967
Most helpful comment
Alright, some big news!
debpackage is live that should work on all platforms sincelibcurlis no longer a dependency馃帀 馃巻 馃敟 :shipit: