Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7912599
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T13:39:06+00:00 2026-06-03T13:39:06+00:00

I am using libcurl in my project and it depends on openssl and bunch

  • 0

I am using libcurl in my project and it depends on openssl and bunch of other .so in runtime.
This dependency is kind of pain in the ass, since different distributives/versions may contain different openssl versions.

For example I am experiencing problems running on Ubuntu 11.10 if I compiled my app on Ubuntu 9.10.

I am seeing two options how to solve this but none of them aren’t good enough for my case:

  1. package my app and let package manager solve this sort of stuff

  2. link all deps statically

My app is really tiny and package/maintain it would be overkill. Plus, one of the requirements is that it should be download-and-run’able. So, (1) is not an opton for me.

Static link (2) would be not-bad solution but it seems that there is no static binary distributions of libopenssl, libcrypto and other transitive dependencies that come with libcurl.

Theoretically I could try to build all that zoo of libs behind libcurl manually, but it seems that this will make maintenance much more complicated.

So, here is the question – am I missing something? Is there a less painful way to do what I want in linux world (Ubuntu to be specific) with less pain? Any suggestions are welcomed.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T13:39:06+00:00Added an answer on June 3, 2026 at 1:39 pm

    I am using libcurl in my project and it depends on openssl and bunch
    of other .so in runtime. This dependency is kind of pain in the ass,
    since different distributives/versions may contain different openssl
    versions.

    For example i am experiencing problems running on Ubuntu 11.10 if i
    compilled my app on Ubuntu 9.10.

    First up, what is the problem with this? You shouldn’t have problems if you’re moving up from an older version of Ubuntu to a newer one. If I’m not mistaken, you only need to specify which minimum version of a library you need and the package manager should be able to install a suitable version. Newer versions of libraries should not break existing apps unless you’re using deprecated features.

    My app is really tiny and package/maintain it would be overkill. Plus,
    one of the requirements is that it should be download-and-run’able.
    So, (1) is not an opton for me.

    For Linux (especially Ubuntu, Fedora and other top distros), packaging is really the way to distribute your application. Download-install-run is a Windows thing and it’s not the way people on Linux install software (well, people new to Linux might…)

    You should also try for distro acceptance which will reduce your burden over time. The first step towards this, atleast on Ubuntu, is to create your own PPA (https://help.launchpad.net/Packaging/PPA).

    Static link (2) would be not-bad solution but it seems that there is
    no static binary distributions of libopenssl, libcrypto and other
    transitive dependencies that come with libcurl.

    This is usually a very very bad thing to do. Static linking or just bundling the library with your app puts the burden of updating it on you and there are implications if you don’t update those. So, I don’t recommend this approach. See here for more details: http://www.dwheeler.com/blog/2012/04/03/#insecure-libraries

    Here is Fedora’s policy: http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

    So, here is the question – am I missing something? Is there a less
    painful way to do what I want in linux world (Ubuntu to be specific)
    with less pain? Any suggestions are welcomed.

    There really are two things to do here:

    1. Packaging: Ideally, this’ll be deb for Ubuntu/Debian and rpm for Fedora/Suse. The other popular alternative is to use autotools (autoconf/automake) so that the user can build your application with the required pre-reqs. The last option is to provide just a Makefile and a README and expect your users to do the right thing.
    2. Distribution: Ideally, this is with the distro repositories. Ubuntu PPA is a good starting point. Alternative is to host the binaries/packages on your own site.

    Most popular applications provide both a .deb/.rpm for the popular Linux distros as well as .tar.gz with autotools for building on distros that have a different packaging system.

    In the end, let me ask you this: is your focus on making it less painful for you to provide your application, or making it less painful for your users to obtain your application?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using libcurl which depends on OpenSSL thus I need to link with
I'm using PHP libcurl to load a page. Now I need to get this
I wanna write a little c++ program using libcurl. It's for a school project
Is there any other variants to send http/https request from C/C++ except using libCurl?
I'm using libcurl in a Win32 C++ application. I have the curllib.vcproj project added
my first question here: I am having trouble using libcURL in a c++ project.
I am using libcurl in a Mac project built and compiled on OS 10.7
I am new using libcurl. I am not understanding clearly how to use it
I'm using LibCurl (with SSL) to retrieve XML from an API. But it gives
I am using libcurl I have my downloading of files inside of a class,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.