20

i am new to linux ubuntu . i am using ubuntu 22.04 . recently i downloaded unity and it is showing error " no usable version of libssl was found " How to fix this PLease help me !! i tried to find solution for this problem and i found nothing . ( i am using linux and i am new to linux ) .

Donex Noob
  • 321
  • 1
  • 2
  • 4
  • 1
    Found a forum post from yesterday [here](https://forum.unity.com/threads/workaround-for-libssl-issue-on-ubuntu-22-04.1271405/) regarding this. – hijinxbassist May 04 '22 at 22:04

6 Answers6

37

You need to download the missing libssl library and install it

$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
$ sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
Emmanuel
  • 4,933
  • 5
  • 46
  • 71
rainman
  • 491
  • 3
  • 5
  • 1
    This link no longer works, however you can visit http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/ and select the relevant download to your machine. Downloading and installing libssl from here worked, but strangly not from `sudo apt install libssl-dev`. – Jeff Chen Jun 26 '22 at 23:29
  • 2
    I've just updated the link – Emmanuel Sep 29 '22 at 04:08
15

For Ubuntu


sudo add-apt-repository ppa:rael-gc/rvm
sudo apt-get update
sudo apt install libssl1.0-dev

Umit KOC
  • 224
  • 2
  • 6
4

You need to install libssl1.1

# download package with wget
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb

# install package locally
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

original gist post:

https://gist.github.com/joulgs/c8a85bb462f48ffc2044dd878ecaa786

Jirik
  • 1,435
  • 11
  • 18
  • For anyone looking to solve this for Unity Compilation, this helped me get a succesful Android Build (target API 30) compiled on Ubuntu 22.10 with Unity 2020.3.43f1. IL2CPP and .NET 4.x – Rajat Gupta Jan 01 '23 at 07:39
  • Great! I tried this in Pop_os!, Unity 2021.3.22f1 and it worked. Thanks. – Martin Pacheco Apr 05 '23 at 18:12
3

The reason for this error lies in incompatible versions of Open ssl on your machine and needed from Unity. Ubuntu 22.04 installs Open ssl 3.0 per default but Unity for Linux currently uses .Net5 per default and therefore can only run with Open ssl 1.0 or 1.1.

To fix this, you need to downgrade your Open ssl on your machine to either 1.0 or 1.1. I tested 1.0.2 version from the link Jeff Chen commented below rainman's answer.

I also tested the wget method from this answer over on askubuntu just with the downloaded package and it worked like a charm for me.

Unity is aware of this problem as seen here.

Edit: I had to restart my computer for the error to disappear.

JoelKrec
  • 31
  • 4
  • I tried this and restarted and when I do `openssl version -v` it tells mw `OpenSSL 1.0.2 22 Jan 2015` but I **still** get the same error in Unity – Kibi Jul 19 '22 at 11:06
1

You have to install the openssl 1.1

Download and Install it by the following steps:

wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
tar -xzvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
sudo ./config
sudo make install 

openssl version -v 

I'm not sure but you can set ln too:

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl` 

and if you get this error:

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

fix it with this command: ldconfig after install

Ali Rn
  • 1,114
  • 8
  • 19
1

The problem doenst exist with Unity 2022.2.2. Works great on Ubuntu 22.04 with libssl3 Unity 2021 doesnt work on same system because of libssl3

oren
  • 11
  • 2