Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Unable to push on Linux with newer versions of libcurl #848

Closed

Description

@verkvieto

Prerequisites

Description

Unable to push commits on Linux with newer versions of libcurl.

Steps to Reproduce

  1. Open a GitHub repository.
  2. Make a commit.
  3. Try to push.

Expected behavior:

The commit pushes successfully.

Actual behavior:

The push fails.

Reproduces how often:

100% of the time.

Versions

atom --version
Atom    : 1.18.0-beta0
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0
apm --version
apm  1.18.1
npm  3.10.10
node 6.9.5 x64
python 3.6.1
git 2.13.0

OS: Arch Linux

Additional Information

Pop-up error message:

Unable to push
git-remote-https: /usr/lib/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by git-remote-https)


Edit by @rsese to mention workaround

From #848 (comment) below:

A workaround you can use is to set LOCAL_GIT_DIRECTORY to your system installation of Git - this worked for me on Ubuntu 18.04:

export LOCAL_GIT_DIRECTORY=/usr

Activity

  1. smashwilson commented on May 18, 2017

    @smashwilson
    Contributor

    Looks like we're still dynamically loading libcurl from git binaries within dugite. @shiftkey, any thoughts on this?

  2. shiftkey commented on May 18, 2017

    @shiftkey
    Contributor

    @smashwilson not initially. I was chatting with @dscho about this last night, he's given me some thoughts but it seems like A Really Hard Task to put a purely portable Git together for Linux due to the explicit and implicit dependencies.

    I've opened desktop/dugite-native#42 to track investigating the libcurl issue. I'm kinda swamped for the next week with conference stuff, but I'll dump some more thoughts in there when I can.

  3. NormanEdance commented on Oct 2, 2018

    @NormanEdance

    Any progress/quickfix, guys?

  4. davidkwast commented on Oct 4, 2018

    @davidkwast

    me too, started today on Ubuntu 18.04 with Atom 1.31.1

  5. git-elliot commented on Oct 5, 2018

    @git-elliot

    I've installed some of the libraries but still getting this error

    /snap/atom/200/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https: /snap/core/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/lib/x86_64-linux-gnu/libgnutls.so.30)
    /snap/atom/200/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https: /snap/core/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found (required by /usr/lib/x86_64-linux-gnu/libp11-kit.so.0)
    

    I think dependencies are hard coded and requires the older version to be able to run.

  6. dscho commented on Oct 5, 2018

    @dscho

    @parasthekoder indeed, the GLIBC versioning hits you.

    One way to work around this is to add (ugly) defines for the versioned symbols. I did this in a different project, a long time ago: https://github.com/imagej/imagej-launcher/blob/master/src/main/include/glibc-compat.h (and I wrote a script to update that header based on a built executable: https://github.com/imagej/imagej-launcher/blob/master/force-glibc-compat.sh

    A less hacky way might be to use ELF statifier, as I mentioned elsewhere, but this comes with the big caveat that I have not tried it, and therefore I cannot vouch that it works.

    The ball is in your park now, @parasthekoder

  7. amirhfarzaneh commented on Oct 5, 2018

    @amirhfarzaneh

    So I think all of ubuntu 18.04 user with the latest update cannot use Atom for GitHub right now.

  8. daviwil commented on Oct 5, 2018

    @daviwil
    Contributor

    Lemme see if I can squeeze this into the next Atom hotfix. It'll be dependent on whether this doesn't break things on earlier Ubuntu releases.

  9. schampseix commented on Oct 11, 2018

    @schampseix

    should be work with installing : sudo apt install libcurl3/bionic , its working on my side under ubuntu 18.04

  10. risangbaskoro commented on Oct 11, 2018

    @risangbaskoro

    should be work with installing : sudo apt install libcurl3/bionic , its working on my side under ubuntu 18.04

    I got an output that says
    E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

    What does this mean?

  11. schampseix commented on Oct 11, 2018

    @schampseix

    looks like an apt process (update, upgrade or installation) is already in progress

  12. gabrielctn commented on Oct 11, 2018

    @gabrielctn

    should be work with installing : sudo apt install libcurl3/bionic , its working on my side under ubuntu 18.04

    Thanks ! It worked perfectly for me.

  13. oliverlj commented on Oct 12, 2018

    @oliverlj

    Yes , that work but you have to remove curl.

  14. risangbaskoro commented on Oct 12, 2018

    @risangbaskoro

    How to remove curl?

  15. oliverlj commented on Oct 12, 2018

    @oliverlj

    It is automatically. Curl need libcurl4 :(

  16. 20 remaining items

  17. daviwil commented on Oct 26, 2018

    @daviwil
    Contributor

    The only thing you can do right now is apm install atom/github, but beware, this will install the in-development GitHub package from the master branch of its repo so there might be bugs. You'll also need to remember to delete it after we ship a hotfix with this fix included.

  18. Spitfire1900 commented on Oct 28, 2018

    @Spitfire1900

    The workaround no longer works in Ubuntu 18.10 as perhaps to avoid a conflict with libcurl3 libcurl3 has been replaced with libcurl3-gnutls and libcurl-openssl1.0-dev (which depends on libcurl3) has been replaced with libcurl4-openssl-dev (depends libcurl4); /usr/lib/x86_64-linux-gnu/libcurl.so.4 is now owned by package libcurl4.

    Error:
    /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https)

    atom --version:

    Electron: 2.0.9
    Chrome  : 61.0.3163.100
    Node    : 8.9.3
    

    apm --version

    npm  6.2.0
    node 8.9.3 x64
    atom 1.32.0
    python 2.7.15+
    git 2.19.1
    

    apm list | grep github
    ├── github@0.20.1

    lsb_release -a:

    Distributor ID: Ubuntu
    Description:    Ubuntu 18.10
    Release:        18.10
    Codename:       cosmic
    

    dpkg -l | grep libcurl:

    ii  libcurl3-gnutls:amd64                                       7.61.0-1ubuntu2                             amd64        easy-to-use client-side URL transfer library (GnuTLS flavour)
    ii  libcurl4:amd64                                              7.61.0-1ubuntu2                             amd64        easy-to-use client-side URL transfer library (OpenSSL flavour)
    ii  python3-pycurl                                              7.43.0.1-0.2build1                          amd64        Python bindings to libcurl (Python 3)
    

    apt-file find /usr/lib/x86_64-linux-gnu/libcurl.so.4

    libcurl4: /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0
    

    Package needs to search for libcurl-gnutls.so.4 or upgrade to libcurl4
    apt-file list libcurl3-gnutls

    libcurl3-gnutls: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
    libcurl3-gnutls: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
    libcurl3-gnutls: /usr/share/doc/libcurl3-gnutls/NEWS.Debian.gz
    libcurl3-gnutls: /usr/share/doc/libcurl3-gnutls/changelog.Debian.gz
    libcurl3-gnutls: /usr/share/doc/libcurl3-gnutls/copyright
    libcurl3-gnutls: /usr/share/lintian/overrides/libcurl3-gnutls
    

    apt-cache show libcurl4-openssl-dev | grep Depends

    Depends: libcurl4 (= 7.61.0-1ubuntu2)
    
  19. ezewer commented on Oct 28, 2018

    @ezewer

    @Spitfire1900 till fix is upload to atom i ll recommend to use it as before and when going to push to cloud use console to do it git push this would get all the staged changes and comments that had been done on atom.
    I have been trying different things to solve the issue but they end up being more of a head ache that to write a simple line on console. Work around sometimes break when installing new things or updates, etc.

  20. Spitfire1900 commented on Oct 29, 2018

    @Spitfire1900

    Looks like this is associated with desktop/dugite-native#109
    Which if so this may be resolved with atom/atom#18201
    Which appears will be pushed out with v1.34

  21. daviwil commented on Oct 29, 2018

    @daviwil
    Contributor

    The real fix to this issue is the update to dugite in the GitHub package which we'll include in the 1.32.1 and 1.33.0-beta1 hotfix updates released sometime this week. Thanks for your patience while we get the hotfixes out!

  22. Spitfire1900 commented on Oct 30, 2018

    @Spitfire1900

    I have confirmed that install of debian package output of atom/atom's commit 24d1bcc31's (current 1.32-releases tip) script/build --create-debian-package can do https publish and fetch.

    🌮

  23. rsese commented on Nov 2, 2018

    @rsese
    Contributor

    The real fix to this issue is the update to dugite in the GitHub package which we'll include in the 1.32.1 and 1.33.0-beta1 hotfix updates released sometime this week

    1.32.1 and 1.33.0-beta1 have been released ⚡ Going to go ahead and close this but if you're still having issues, please let us know.

  24. Amantel commented on Nov 24, 2018

    @Amantel

    Atom 1.32.2
    Ubuntu 18.04

    /snap/atom/206/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https: /snap/core/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/lib/x86_64-linux-gnu/libgnutls.so.30)
    /snap/atom/206/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-remote-https: /snap/core/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found (required by /usr/lib/x86_64-linux-gnu/libp11-kit.so.0)
    
  25. rsese commented on Nov 27, 2018

    @rsese
    Contributor

    @Amantel - the Snap installation is unofficial but If you can reproduce the error with a supported installation method, please open a new issue with the template filled out and we'll take a look.

  26. ecotechie commented on Jan 28, 2019

    @ecotechie

    I'm on Kubuntu 18.04 and can't update from Atom 1.33 because of the libcurl3 vs libcurl4 dependencies. Not sure this issue was fixed by: atom/atom#18201

  27. Spitfire1900 commented on Jan 28, 2019

    @Spitfire1900

    @ecotechie as a Kubuntu 18.10 user I can confirm that atom/atom#18201 resolved my issues per above comments from myself.

  28. ecotechie commented on Jan 28, 2019

    @ecotechie

    @Spitfire1900 Yup I can push just fine... My bad. I meant to post this on the issue of not being able to update to newer versions of Atom since it has libcurl3 as a requirement and will therefor remove libcurl4 and any program using it.

  29. Spitfire1900 commented on Jan 28, 2019

    @Spitfire1900

    Per diff atom/atom@812dcc4, libcurl3 or libcurl4 will both satisfy the libcurl dependency of Atom 1.33's *.deb package.

  30. ecotechie commented on Jan 28, 2019

    @ecotechie

    That seems about right, but I can't update to any versions after 1.33. It asks to remove libcurl4 and install libcurl3. Created a ticket in the Atom repo atom/atom#18758

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions