Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install on Ubuntu #60

Closed
defaultsamson opened this issue Sep 12, 2018 · 16 comments
Closed

Cannot install on Ubuntu #60

defaultsamson opened this issue Sep 12, 2018 · 16 comments

Comments

@defaultsamson
Copy link

defaultsamson commented Sep 12, 2018

Description

I can't install the .deb package. Seems like broken dependencies on Ubuntu.

Version

  • GitHub Desktop: 1.4.0 Linux RC
  • Operating system: Ubuntu 18.04 LTS (Minimal Install)

Steps to Reproduce

  1. sudo dpkg -i GitHubDesktop-linux-amd64-1.4.0.deb
Preparing to unpack GitHubDesktop-linux-amd64-1.4.0.deb ...
Unpacking desktop (1.4.0) ...
dpkg: dependency problems prevent configuration of desktop:
 desktop depends on libcurl3; however:
  Package libcurl3 is not installed.

dpkg: error processing package desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 desktop
  1. sudo apt install libcurl3
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.2 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).
  1. sudo apt install --fix-broken
The following packages will be REMOVED:
  desktop
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
  1. Repeat

Expected Behavior

The program should install.

Actual Behavior

It doesn't install, and attempting to fix the dependencies sends the user in circles.

Additional Information

The GitHub Desktop 1.3.5 Linux RC installs just fine, and the 1.4.0 Linux RC AppImage runs fine.

@shiftkey
Copy link
Owner

shiftkey commented Sep 12, 2018

@qwertysam the previous installer worked because it didn't define any dependencies 🙊 I wanted to ensure that the new app depended on libcurl.so.4 and I thought libcurl3 would do the trick, but maybe that's meant to be libcurl4?

Are you able to install libcurl4 via apt?

@joaomlneto
Copy link

joaomlneto commented Sep 12, 2018

Same issue here.

Setup

  • GitHub Desktop: shiftkey/desktop master branch
  • Operating system: Linux Mint 19 Tara (package base from Ubuntu 18.04)

After yarn run package installing using sudo dpkg -i dist/GitHubDesktop-linux-amd64-1.4.0.deb

I have libcurl4 installed; can't install libcurl3 as it results in a conflict(?).

$ sudo dpkg -i dist/GitHubDesktop-linux-amd64-1.4.0.deb 
Selecting previously unselected package desktop.
(Reading database ... 398335 files and directories currently installed.)
Preparing to unpack .../GitHubDesktop-linux-amd64-1.4.0.deb ...
Unpacking desktop (1.4.0) ...
dpkg: dependency problems prevent configuration of desktop:
 desktop depends on libcurl3; however:
  Package libcurl3 is not installed.

dpkg: error processing package desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23+linuxmint3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Errors were encountered while processing:
 desktop
$ sudo apt-get install libcurl4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libcurl4 is already the newest version (7.58.0-2ubuntu3.2).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 desktop : Depends: libcurl3 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

@joaomlneto
Copy link

joaomlneto commented Sep 12, 2018

Updating script/electron-builder-linux.yml to libcurl4 fixes it for me (installs and launches)

@shiftkey
Copy link
Owner

@joaomlneto thanks for confirming that change works - I'll put together a new build this evening.

Am I likely to get people who still rely on libcurl3 or is that only for compatibility and everyone should be depending on libcurl4?

@joaomlneto
Copy link

Seems libcurl4 is a common dependency starting in Ubuntu 18.04. curl depends on libcurl4 starting on Ubuntu 18.04. Older Ubuntu versions require libcurl3. cmake also depends on libcurl4 starting from 18.04.

The insomnia REST client guys had the same issue and seem to have worked a PR to fix it using snap. Same goes for Spotify

@shiftkey
Copy link
Owner

shiftkey commented Sep 12, 2018

I just poked at this in Ubuntu14.04 and only libcurl3 is available (looks the same for Ubuntu 16.04) so moving to the libcurl4 dependency will break older Debian-based distros.

I'm going to hold off on that update while I figure out other options (maybe ship two deb packages?) and wait for other bright ideas from others.

@joaomlneto
Copy link

I tried setting the dependency to libcurl3 | libcurl4 and it worked -- same deb package installed fine on my Linux Mint (~18.04) and on a 14.04 docker instance.

But this is way out of my league :-) I have no idea of what I'm doing.

@shiftkey
Copy link
Owner

@joaomlneto I just tested that change out too and dpkg -I *.deb seems happy with it, and installing it on my 14.04 VM both seem fine. I'm going to proceed and cut another RC - thanks for your help!

@shiftkey
Copy link
Owner

This has been published with 1.4.0 RC2. @qwertysam @joaomlneto please try it out and confirm it's fixed for recent Ubuntu distros!

@joaomlneto
Copy link

Works fine on my fake 18.04 :-)

$ lsb_release -a
No LSB modules are available.
Distributor ID:	LinuxMint
Description:	Linux Mint 19 Tara
Release:	19
Codename:	tara
$ sudo dpkg -i GitHubDesktop-linux-amd64-1.4.0-linux2.deb 
(Reading database ... 399798 files and directories currently installed.)
Preparing to unpack GitHubDesktop-linux-amd64-1.4.0-linux2.deb ...
Unpacking desktop (1.4.0-linux2) over (1.4.0) ...
Setting up desktop (1.4.0-linux2) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23+linuxmint3) ...
Processing triggers for mime-support (3.60ubuntu1) ...

@immackay
Copy link

immackay commented Sep 13, 2018

On Arch Linux as of the changes in desktop#5478 I now get the error

/usr/lib/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /opt/github-desktop/resources/app/git/libexec/git-core/git-remote-https)

A fix (that was previously in use, but hadn't been necessary for a while due to linking to libcurl-gnutls) is to install libcurl-openssl-1.0 and then LD_PRELOAD the libraries provided by that package. Not sure if this is necessary though, thoughts?

@defaultsamson
Copy link
Author

Works fine on my real 18.04 :)

Thanks for the fast response and quick fix, @shiftkey and @joaomlneto

@joaomlneto
Copy link

Can confirm I have the same problem as @immackay

While it now installs and launches just fine, I'm unable to clone/fetch repositories.

@shiftkey
Copy link
Owner

Looks like I'm now encountering curl/curl#2433 (but that issue discusses Debian distros in particular, which is relevant given Git is compiled on Ubuntu Trusty).

Not sure if this is necessary though, thoughts?

@immackay I think you might have to use that workaround again while I dig into this.

@shiftkey
Copy link
Owner

@joaomlneto @immackay let's talk about this more in desktop/dugite-native#109 because that's where the proper fix needs to occur

@shiftkey
Copy link
Owner

I've just published 1.5.0-linux1 that should address the libcurl issue on newer Ubuntu distros https://github.com/shiftkey/desktop/releases/tag/release-1.5.0-linux1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants