How to build the latest curl from sources to allow downloading files via sftp?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







3















I need to download files from a sftp server. Unfortunately, the curl version in Ubuntu



7.58.0-2ubuntu3.6 amd64


does not support sftp.



I get the error message



Protocol "sftp" not supported or disabled in libcurl


when trying to download a file. I therefore want to build curl from source to allow sftp. How do I achieve that?










share|improve this question

























  • Related but answers are not building from git source: askubuntu.com/questions/195545/…

    – k0pernikus
    Mar 26 at 10:17




















3















I need to download files from a sftp server. Unfortunately, the curl version in Ubuntu



7.58.0-2ubuntu3.6 amd64


does not support sftp.



I get the error message



Protocol "sftp" not supported or disabled in libcurl


when trying to download a file. I therefore want to build curl from source to allow sftp. How do I achieve that?










share|improve this question

























  • Related but answers are not building from git source: askubuntu.com/questions/195545/…

    – k0pernikus
    Mar 26 at 10:17
















3












3








3


1






I need to download files from a sftp server. Unfortunately, the curl version in Ubuntu



7.58.0-2ubuntu3.6 amd64


does not support sftp.



I get the error message



Protocol "sftp" not supported or disabled in libcurl


when trying to download a file. I therefore want to build curl from source to allow sftp. How do I achieve that?










share|improve this question
















I need to download files from a sftp server. Unfortunately, the curl version in Ubuntu



7.58.0-2ubuntu3.6 amd64


does not support sftp.



I get the error message



Protocol "sftp" not supported or disabled in libcurl


when trying to download a file. I therefore want to build curl from source to allow sftp. How do I achieve that?







18.04 compiling make sftp curl






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 26 at 10:16







k0pernikus

















asked Mar 26 at 9:46









k0pernikusk0pernikus

3,04463263




3,04463263













  • Related but answers are not building from git source: askubuntu.com/questions/195545/…

    – k0pernikus
    Mar 26 at 10:17





















  • Related but answers are not building from git source: askubuntu.com/questions/195545/…

    – k0pernikus
    Mar 26 at 10:17



















Related but answers are not building from git source: askubuntu.com/questions/195545/…

– k0pernikus
Mar 26 at 10:17







Related but answers are not building from git source: askubuntu.com/questions/195545/…

– k0pernikus
Mar 26 at 10:17












1 Answer
1






active

oldest

votes


















2














Note: Installing software from a third-party source is a safety risk. Make sure you trust the sources before following these steps.





First, you'll need libssh installed.



You'll need a tarball, e.g.



https://www.libssh2.org/download/libssh2-1.8.2.tar.gz


Extact and install it via:



cd libssh2-1.8.1
./configure
make
sudo make install


Secondly, make sure to uninstall your existing curl:



sudo apt purge curl


I have read that it is also recommended to uninstall the curl libs, e.g. libcurl3-gnutls, BUT I noticed that it has many dependencies I did not want to lose, so I kept it. So be careful about the uninstallation process.



And third, in order to build curl from the sources, clone the curl project:



$ git clone https://github.com/curl/curl.git


That repository contains a GIT-INFO file with useful information on how to build it and it may be useful to have a look into it, as the process may change in the future.



What worked for me was to build it via:



./buildconf
./configure
./configure --disable-libcurl-option --disable-shared --with-libssh2=/usr/local
make
sudo make install


(curl supports uninstallation via sudo make uninstall. Useful if you having problems or what to try out different flags.)



I didn't use shared libraries as I noticed that curl was having problems finding certain curl-own commands and failed when tryin to run it, e.g. I saw errors like:



curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory


Yet with the above mentioned approach I have now a working curl supporting sftp, since sftp shows up within the supported protocols:



$ curl -V
curl 7.64.1-DEV (x86_64-pc-linux-gnu) libcurl/7.64.1-DEV OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.1
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets


and I can confirm that it downloads file from sftp servers.





Sources: I found about the necessary steps via:




  • https://curl.haxx.se/docs/install.html

  • http://andrewberls.com/blog/post/adding-sftp-support-to-curl

  • http://d.hatena.ne.jp/shammer/20161110/p1






share|improve this answer


























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1128780%2fhow-to-build-the-latest-curl-from-sources-to-allow-downloading-files-via-sftp%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Note: Installing software from a third-party source is a safety risk. Make sure you trust the sources before following these steps.





    First, you'll need libssh installed.



    You'll need a tarball, e.g.



    https://www.libssh2.org/download/libssh2-1.8.2.tar.gz


    Extact and install it via:



    cd libssh2-1.8.1
    ./configure
    make
    sudo make install


    Secondly, make sure to uninstall your existing curl:



    sudo apt purge curl


    I have read that it is also recommended to uninstall the curl libs, e.g. libcurl3-gnutls, BUT I noticed that it has many dependencies I did not want to lose, so I kept it. So be careful about the uninstallation process.



    And third, in order to build curl from the sources, clone the curl project:



    $ git clone https://github.com/curl/curl.git


    That repository contains a GIT-INFO file with useful information on how to build it and it may be useful to have a look into it, as the process may change in the future.



    What worked for me was to build it via:



    ./buildconf
    ./configure
    ./configure --disable-libcurl-option --disable-shared --with-libssh2=/usr/local
    make
    sudo make install


    (curl supports uninstallation via sudo make uninstall. Useful if you having problems or what to try out different flags.)



    I didn't use shared libraries as I noticed that curl was having problems finding certain curl-own commands and failed when tryin to run it, e.g. I saw errors like:



    curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
    curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory


    Yet with the above mentioned approach I have now a working curl supporting sftp, since sftp shows up within the supported protocols:



    $ curl -V
    curl 7.64.1-DEV (x86_64-pc-linux-gnu) libcurl/7.64.1-DEV OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.1
    Release-Date: [unreleased]
    Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
    Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets


    and I can confirm that it downloads file from sftp servers.





    Sources: I found about the necessary steps via:




    • https://curl.haxx.se/docs/install.html

    • http://andrewberls.com/blog/post/adding-sftp-support-to-curl

    • http://d.hatena.ne.jp/shammer/20161110/p1






    share|improve this answer






























      2














      Note: Installing software from a third-party source is a safety risk. Make sure you trust the sources before following these steps.





      First, you'll need libssh installed.



      You'll need a tarball, e.g.



      https://www.libssh2.org/download/libssh2-1.8.2.tar.gz


      Extact and install it via:



      cd libssh2-1.8.1
      ./configure
      make
      sudo make install


      Secondly, make sure to uninstall your existing curl:



      sudo apt purge curl


      I have read that it is also recommended to uninstall the curl libs, e.g. libcurl3-gnutls, BUT I noticed that it has many dependencies I did not want to lose, so I kept it. So be careful about the uninstallation process.



      And third, in order to build curl from the sources, clone the curl project:



      $ git clone https://github.com/curl/curl.git


      That repository contains a GIT-INFO file with useful information on how to build it and it may be useful to have a look into it, as the process may change in the future.



      What worked for me was to build it via:



      ./buildconf
      ./configure
      ./configure --disable-libcurl-option --disable-shared --with-libssh2=/usr/local
      make
      sudo make install


      (curl supports uninstallation via sudo make uninstall. Useful if you having problems or what to try out different flags.)



      I didn't use shared libraries as I noticed that curl was having problems finding certain curl-own commands and failed when tryin to run it, e.g. I saw errors like:



      curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
      curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory


      Yet with the above mentioned approach I have now a working curl supporting sftp, since sftp shows up within the supported protocols:



      $ curl -V
      curl 7.64.1-DEV (x86_64-pc-linux-gnu) libcurl/7.64.1-DEV OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.1
      Release-Date: [unreleased]
      Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
      Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets


      and I can confirm that it downloads file from sftp servers.





      Sources: I found about the necessary steps via:




      • https://curl.haxx.se/docs/install.html

      • http://andrewberls.com/blog/post/adding-sftp-support-to-curl

      • http://d.hatena.ne.jp/shammer/20161110/p1






      share|improve this answer




























        2












        2








        2







        Note: Installing software from a third-party source is a safety risk. Make sure you trust the sources before following these steps.





        First, you'll need libssh installed.



        You'll need a tarball, e.g.



        https://www.libssh2.org/download/libssh2-1.8.2.tar.gz


        Extact and install it via:



        cd libssh2-1.8.1
        ./configure
        make
        sudo make install


        Secondly, make sure to uninstall your existing curl:



        sudo apt purge curl


        I have read that it is also recommended to uninstall the curl libs, e.g. libcurl3-gnutls, BUT I noticed that it has many dependencies I did not want to lose, so I kept it. So be careful about the uninstallation process.



        And third, in order to build curl from the sources, clone the curl project:



        $ git clone https://github.com/curl/curl.git


        That repository contains a GIT-INFO file with useful information on how to build it and it may be useful to have a look into it, as the process may change in the future.



        What worked for me was to build it via:



        ./buildconf
        ./configure
        ./configure --disable-libcurl-option --disable-shared --with-libssh2=/usr/local
        make
        sudo make install


        (curl supports uninstallation via sudo make uninstall. Useful if you having problems or what to try out different flags.)



        I didn't use shared libraries as I noticed that curl was having problems finding certain curl-own commands and failed when tryin to run it, e.g. I saw errors like:



        curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
        curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory


        Yet with the above mentioned approach I have now a working curl supporting sftp, since sftp shows up within the supported protocols:



        $ curl -V
        curl 7.64.1-DEV (x86_64-pc-linux-gnu) libcurl/7.64.1-DEV OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.1
        Release-Date: [unreleased]
        Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
        Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets


        and I can confirm that it downloads file from sftp servers.





        Sources: I found about the necessary steps via:




        • https://curl.haxx.se/docs/install.html

        • http://andrewberls.com/blog/post/adding-sftp-support-to-curl

        • http://d.hatena.ne.jp/shammer/20161110/p1






        share|improve this answer















        Note: Installing software from a third-party source is a safety risk. Make sure you trust the sources before following these steps.





        First, you'll need libssh installed.



        You'll need a tarball, e.g.



        https://www.libssh2.org/download/libssh2-1.8.2.tar.gz


        Extact and install it via:



        cd libssh2-1.8.1
        ./configure
        make
        sudo make install


        Secondly, make sure to uninstall your existing curl:



        sudo apt purge curl


        I have read that it is also recommended to uninstall the curl libs, e.g. libcurl3-gnutls, BUT I noticed that it has many dependencies I did not want to lose, so I kept it. So be careful about the uninstallation process.



        And third, in order to build curl from the sources, clone the curl project:



        $ git clone https://github.com/curl/curl.git


        That repository contains a GIT-INFO file with useful information on how to build it and it may be useful to have a look into it, as the process may change in the future.



        What worked for me was to build it via:



        ./buildconf
        ./configure
        ./configure --disable-libcurl-option --disable-shared --with-libssh2=/usr/local
        make
        sudo make install


        (curl supports uninstallation via sudo make uninstall. Useful if you having problems or what to try out different flags.)



        I didn't use shared libraries as I noticed that curl was having problems finding certain curl-own commands and failed when tryin to run it, e.g. I saw errors like:



        curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
        curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory


        Yet with the above mentioned approach I have now a working curl supporting sftp, since sftp shows up within the supported protocols:



        $ curl -V
        curl 7.64.1-DEV (x86_64-pc-linux-gnu) libcurl/7.64.1-DEV OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.1
        Release-Date: [unreleased]
        Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
        Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets


        and I can confirm that it downloads file from sftp servers.





        Sources: I found about the necessary steps via:




        • https://curl.haxx.se/docs/install.html

        • http://andrewberls.com/blog/post/adding-sftp-support-to-curl

        • http://d.hatena.ne.jp/shammer/20161110/p1







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 26 at 10:15

























        answered Mar 26 at 9:46









        k0pernikusk0pernikus

        3,04463263




        3,04463263






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Ask Ubuntu!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1128780%2fhow-to-build-the-latest-curl-from-sources-to-allow-downloading-files-via-sftp%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How did Captain America manage to do this?

            迪纳利

            南乌拉尔铁路局