# 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:

```bash
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:

```bash
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:

```bash
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:

```bash
sudo yum install openssl-libs
```

or if you need the compatibility package:

```bash
sudo yum install compat-openssl10
```

### Step 3: Verify Installation

After installation, check again:

```bash
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-openssl10` explicitly.
- If the package is not found, enable the EPEL repository:

```bash
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:

```bash
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:

```bash
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 `.deb` package manually from Ubuntu archives.
- Extract the library files.
- Place them in `/usr/lib` or `/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:

```bash
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:

```bash
sudo ldconfig
```

This makes the system aware of the new libraries.

## Troubleshooting Common Issues

### Error: libssl.so.10 Not Found After Installation

- Run `ldconfig` to refresh the linker cache.
- Check if the library is in a directory listed in `/etc/ld.so.conf` or `/etc/ld.so.conf.d/`.
- Add the directory to `ld.so.conf` if missing, then run `ldconfig`.

### Conflicts with Existing OpenSSL Versions

- Avoid removing newer OpenSSL versions.
- Use compatibility packages or isolated library paths.
- Set `LD_LIBRARY_PATH` environment 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/application` to 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.10` to see the library path.
- Using `ldd` on 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.
