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

  • Home
  • SEARCH
  • 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 896993
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T14:49:06+00:00 2026-05-15T14:49:06+00:00

You can consider this a follow-up question to How do I install the OpenSSL

  • 0

You can consider this a follow-up question to How do I install the OpenSSL C++ library on Ubuntu?

I’m trying to build some code on Ubuntu 10.04 LTS that requires OpenSSL 1.0.0.

Ubuntu 10.04 LTS comes with OpenSSL 0.9.8k:

$ openssl version
OpenSSL 0.9.8k 25 Mar 2009

So after running sudo apt-get install libssl-dev and building, running ldd confirms I’ve linked in 0.9.8:

$ ldd foo
        ...
        libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0x00110000)
        ...
        libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0x002b0000)
        ...

How do I install OpenSSL 1.0.0 and the 1.0.0 development package?

Update: I’m writing this update after reading SB‘s answer (but before trying it), because it’s clear I need to explain that the obvious solution of downloading and installing OpenSSL 1.0.0 doesn’t work:

After successfully doing the following (recommended in the INSTALL file):

  $ ./config
  $ make
  $ make test
  $ make install

…I still get:

OpenSSL 0.9.8k 25 Mar 2009

…and:

$ sudo apt-get install libssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libssl-dev is already the newest version.
The following packages were automatically installed and are no longer required:
  linux-headers-2.6.32-21 linux-headers-2.6.32-21-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

…and (just to make sure) after rebuilding my code, ldd still returns the same thing.

Update #2: I added the “-I/usr/local/ssl/include” and “-L/usr/local/ssl/lib” options (suggested by SB) to my makefile, but I’m now getting a bunch of undefine reference compile errors, for example:

/home/dspitzer/foo/foo.cpp:86: undefined reference to `BIO_f_base64'
/home/dspitzer/foo/foo.cpp:86: undefined reference to `BIO_new'

/usr/local/ssl/include/ contains only an openssl directory (which contains numerous .h files), so I also tried “-I/usr/local/ssl/include/openssl” but got the same errors.

Update #3: I tried changing the OpenSSL includes from (for example):

#include <openssl/bio.h>

…to:

#include "openssl/bio.h"

…in the .cpp source file but still get the same undefined reference errors.

Update #4: I now realize those undefined reference errors are linker errors. If I remove the “-L/usr/local/ssl/lib” from my Makefile, I don’t get the errors (but it links to OpenSSL 0.9.8). The contents of /usr/local/ssl/lib/ are:

$ ls /usr/local/ssl/lib/
engines  libcrypto.a  libssl.a  pkgconfig

I added -lcrypto, and the errors went away.

  • 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-05-15T14:49:07+00:00Added an answer on May 15, 2026 at 2:49 pm

    Get the 1.0.0a source from here.

    # tar -xf openssl-1.0.0a.tar.gz
    # cd openssl-1.0.0a
    # ./config
    # sudo make install
    

    Note: if you have man pages build errors on modern systems, use make install_sw instead of make install.

    This puts it in /usr/local/ssl by default

    When you build, you need to tell gcc to look for the headers in /usr/local/ssl/include and link with libs in /usr/local/ssl/lib. You can specify this by doing something like:

    gcc test.c -o test -I/usr/local/ssl/include -L/usr/local/ssl/lib -lssl -lcrypto
    

    EDIT DO NOT overwrite any system libraries. It’s best to keep new libs in /usr/local. Overwriting Ubuntu defaults can be hazardous to your health and break your system.

    Additionally, I was wrong about the paths as I just tried this in Ubuntu 10.04 VM. Fixed.

    Note, there is no need to change LD_LIBRARY_PATH since the openssl libs you link against by default are static libs (at least by default – there might be a way to configure them as dynamic libs in the ./config step)

    You may need to link against libcrypto because you are using some calls that are built and defined in the libcrypto package. Openssl 1.0.0 actually builds two libraries, libcrypto and libssl.

    EDIT 2 Added -lcrypto to gcc line.

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

Sidebar

Related Questions

This is a follow up to my previous question . Consider that I write
Consider the following code (it's a little long, but hopefully you can follow): class
Just wondering whether an object can self-destruct. Consider this situation. An object that extends
Just wondering whether an object can self-destruct. Consider this situation. An object that extends
Consider this somewhat of a follow up to this question . Essentially, the C++
If unit-test names can become outdated over time and if you consider that the
I encountered this problem when doing some enthusiastic programming. The problem can be expressed
I want to use a temp directory that will be unique to this build.
Can somebody point me to a resource that explains how to go about having
can you recommend some good ASP.NET tutorials or a good book? Should I jump

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.