How to Install libssl.so.10 in Linux
Installing libssl.so.10 on Linux can be essential for running certain applications that depend on this specific OpenSSL shared library version. If you’ve encountered errors like “libssl.so.10 not found” or “cannot open shared object file,” you’re not alone. Many Linux users face this issue when older software requires this library, but newer distributions may not include it by default.
In this article, I’ll guide you through the process of installing libssl.so.10 on your Linux system. We’ll cover what libssl.so.10 is, why it’s needed, and how to install it safely on popular Linux distributions like Ubuntu, CentOS, and Fedora. You’ll also find troubleshooting tips to resolve common problems. Let’s get started so you can get your software running smoothly.
What Is libssl.so.10 and Why Do You Need It?
libssl.so.10 is a shared library file that belongs to the OpenSSL toolkit. OpenSSL is widely used for secure communication over networks, providing cryptographic functions like SSL and TLS protocols.
- libssl.so.10 specifically refers to a version of the OpenSSL shared library, often associated with OpenSSL 1.0.x releases.
- Many older or legacy applications depend on this exact version for compatibility.
- Newer Linux distributions might ship with OpenSSL 1.1 or 3.0, which use different library versions (e.g., libssl.so.1.1 or libssl.so.3).
- If your application requires libssl.so.10, it won’t run properly without it, causing errors during startup or runtime.
Understanding this helps you realize why simply installing the latest OpenSSL package might not solve your problem. You need the specific version that provides libssl.so.10.
How to Check if libssl.so.10 Is Already Installed
Before installing, it’s good to verify if libssl.so.10 is already present on your system. You can do this by running:
ldconfig -p | grep libssl.so.10
This command searches the system’s shared library cache for libssl.so.10. If it returns a path, the library is installed. If not, you’ll see no output.
Alternatively, you can try:
find /usr/lib /usr/lib64 -name "libssl.so.10"
This searches common library directories for the file.
If you don’t find libssl.so.10, proceed with installation.
Installing libssl.so.10 on CentOS and RHEL
CentOS and Red Hat Enterprise Linux (RHEL) often use OpenSSL 1.0.x by default, so installing libssl.so.10 is straightforward.
Step 1: Update Your System
Run:
sudo yum update
This ensures your package manager has the latest metadata.
Step 2: Install the OpenSSL 1.0 Compatibility Package
On CentOS 7 or RHEL 7, the package providing libssl.so.10 is usually called openssl-libs or compat-openssl10.
Run:
sudo yum install openssl-libs
or if you need the compatibility package:
sudo yum install compat-openssl10
Step 3: Verify Installation
After installation, check again:
ldconfig -p | grep libssl.so.10
You should see the library path, typically /usr/lib64/libssl.so.10.
Notes:
- On CentOS 8 or RHEL 8, OpenSSL 1.1 is default, so you might need
compat-openssl10explicitly. - If the package is not found, enable the EPEL repository:
sudo yum install epel-release
sudo yum install compat-openssl10
Installing libssl.so.10 on Ubuntu and Debian
Ubuntu and Debian usually ship with newer OpenSSL versions, so libssl.so.10 is not available by default.
Step 1: Identify Your Ubuntu/Debian Version
Older Ubuntu versions like 16.04 or Debian 9 might have OpenSSL 1.0.x packages. Newer versions (20.04, 22.04) use OpenSSL 1.1 or 3.0.
Step 2: Try Installing libssl1.0 Package
On Ubuntu 16.04 or Debian 9:
sudo apt-get update
sudo apt-get install libssl1.0.0
This package provides libssl.so.1.0.0, which might be compatible with libssl.so.10.
Step 3: Create a Symlink (If Needed)
Sometimes, applications look specifically for libssl.so.10. You can create a symbolic link pointing libssl.so.10 to libssl.so.1.0.0:
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so.10
Adjust the path if your system uses a different directory.
Step 4: For Newer Ubuntu Versions
If libssl1.0.0 is not available, you can:
- Download the older
.debpackage manually from Ubuntu archives. - Extract the library files.
- Place them in
/usr/libor/usr/lib64. - Create the symlink as above.
Warning:
Manually installing older libraries can cause conflicts. Use this method only if necessary and avoid overwriting system files.
Using RPM Packages to Install libssl.so.10 on Non-RPM Systems
If you are on a Debian-based system but need libssl.so.10, you can try downloading the RPM package from CentOS or Fedora repositories and extract the library manually.
Step 1: Download the RPM
Visit CentOS or Fedora package repositories and download the openssl-libs or compat-openssl10 RPM.
Step 2: Extract the RPM
Use rpm2cpio and cpio to extract:
rpm2cpio openssl-libs-*.rpm | cpio -idmv
Step 3: Copy the Library Files
Copy libssl.so.10 and related files to /usr/lib or /usr/lib64.
Step 4: Update the Linker Cache
Run:
sudo ldconfig
This makes the system aware of the new libraries.
Troubleshooting Common Issues
Error: libssl.so.10 Not Found After Installation
- Run
ldconfigto refresh the linker cache. - Check if the library is in a directory listed in
/etc/ld.so.confor/etc/ld.so.conf.d/. - Add the directory to
ld.so.confif missing, then runldconfig.
Conflicts with Existing OpenSSL Versions
- Avoid removing newer OpenSSL versions.
- Use compatibility packages or isolated library paths.
- Set
LD_LIBRARY_PATHenvironment variable to point to the directory with libssl.so.10 for specific applications.
Application Still Fails to Find libssl.so.10
- Verify the symlink exists if the app expects libssl.so.10 but only libssl.so.1.0.0 is installed.
- Use
ldd /path/to/applicationto check which libraries it tries to load. - Consider reinstalling the application or contacting its support for updated versions.
How to Verify libssl.so.10 Installation
After installation, you can verify the library is correctly installed and linked by:
- Running
ldconfig -p | grep libssl.so.10to see the library path. - Using
lddon your application binary to confirm it links to libssl.so.10. - Running your application to check if the error disappears.
Summary Table: Installing libssl.so.10 by Distribution
| Distribution | Package Name | Installation Command | Notes |
| CentOS 7/RHEL 7 | openssl-libs or compat-openssl10 | sudo yum install openssl-libs or sudo yum install compat-openssl10 | Usually pre-installed or in repos |
| CentOS 8/RHEL 8 | compat-openssl10 | sudo yum install compat-openssl10 | May require EPEL repo |
| Ubuntu 16.04/Debian 9 | libssl1.0.0 | sudo apt-get install libssl1.0.0 | May need symlink for libssl.so.10 |
| Ubuntu 20.04+ | Manual download or symlink | Download .deb or create symlink | No official libssl.so.10 package |
Conclusion
Installing libssl.so.10 on Linux can seem tricky because many modern distributions have moved on to newer OpenSSL versions. However, by understanding which packages provide this library and how to install them on your specific Linux distribution, you can resolve the “libssl.so.10 not found” errors effectively.
Whether you use CentOS, RHEL, Ubuntu, or Debian, following the steps above will help you install the correct version of libssl and get your applications running smoothly. Remember to verify the installation and use symlinks carefully if needed. With these tips, you’ll handle libssl.so.10 installation confidently and avoid common pitfalls.
FAQs
What is libssl.so.10 used for in Linux?
libssl.so.10 is a shared library from OpenSSL 1.0.x that provides SSL and TLS cryptographic functions. It’s required by older applications that depend on this specific OpenSSL version for secure communication.
Can I install libssl.so.10 on Ubuntu 22.04?
Ubuntu 22.04 doesn’t include libssl.so.10 by default. You can try downloading older libssl1.0 packages manually or create symlinks to compatible libraries, but be cautious to avoid system conflicts.
How do I fix “libssl.so.10 not found” errors?
Install the appropriate OpenSSL compatibility package for your Linux distro, update the linker cache with ldconfig, and ensure the library is in a directory listed in your system’s library path.
Is it safe to install older OpenSSL versions like libssl.so.10?
Installing older OpenSSL versions can pose security risks if used system-wide. Use compatibility packages or isolated library paths to avoid replacing newer, secure OpenSSL versions.
How can I check which libssl version my application uses?
Run ldd /path/to/application to list linked shared libraries. Look for libssl.so.10 or other versions to confirm which OpenSSL library your application depends on.
