Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux Build won't run on Debian 9 (missing libssl.so.1.0.0) #21778

Closed
guiprav opened this issue Sep 21, 2018 · 22 comments
Closed

Linux Build won't run on Debian 9 (missing libssl.so.1.0.0) #21778

guiprav opened this issue Sep 21, 2018 · 22 comments
Labels

Comments

@guiprav
Copy link

@guiprav guiprav commented Sep 21, 2018

I just downloaded the latest Servo build for GNU from https://download.servo.org/, but it won't run:

$ ./servo
./servo: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

My system has libssl3.so, libssl.so.1.0.2, and libssl.so.1.1 under /usr/lib/x86_64-linux-gnu. I'm not sure what to do to get Servo to run here. Could anyone help?

@jdm jdm added the P-linux label Sep 21, 2018
@SimonSapin
Copy link
Member

@SimonSapin SimonSapin commented Sep 21, 2018

Is the libssl1.0-dev package installed?

@guiprav
Copy link
Author

@guiprav guiprav commented Sep 21, 2018

Hey, Simon. It wasn't installed, but installing it didn't help. Getting the same message.

@SimonSapin
Copy link
Member

@SimonSapin SimonSapin commented Sep 21, 2018

Unfortunately, https://packages.debian.org/search?searchon=contents&keywords=libssl.so.1.0.0&mode=exactfilename&suite=stable&arch=any gives no result :/

Ah, the joys of shipping dynamiclly-linked programs. As far as I can tell we run the linker with a -lssl argument, then GCC resolves that somehow to a .so file on the system at build time, and embeds the basename of that file in the binary. On my Ubuntu 18.04 machine the left-hand-side of nm target/release/servo shows libssl.so.1.1, but it’s presumably libssl.so.1.0.0 on the Ubuntu 14.04 machine that makes Nightly builds.

So that’s what’s going on, but I don’t really have a suggestion how to fix it.

@guiprav
Copy link
Author

@guiprav guiprav commented Sep 21, 2018

Ah, the joys of shipping dynamiclly-linked programs.

It's a truly hateful job.

I tried compiling OpenSSL's 1.0.0 release, but a weird linker error made me give up. I'll check back on Servo once this is fixed, was just curious. Actually the same thing happened maybe a year ago and I thought the same thing... :-)

Could you upload your build of libssl.so.1.0.0 and libcrypto.so.1.0.0? Maybe that would be enough for it to boot and for me to check it out.

@guiprav
Copy link
Author

@guiprav guiprav commented Sep 21, 2018

Ops, sorry, just noticed you don't have it on your system either. How easy is it to build Servo? Be honest.

@jdm
Copy link
Member

@jdm jdm commented Sep 21, 2018

On linux we have a bootstrap command that should install all necessary packages for building, and then building only requires one command and lots of patience.

@guiprav
Copy link
Author

@guiprav guiprav commented Sep 21, 2018

I'll give that a shot and leave it running on the background, thanks.

@arpu
Copy link

@arpu arpu commented Sep 23, 2018

same problem on fedora 28
installed packages are
openssl.x86_64 1:1.1.0h-3.fc28 @fedora
openssl-devel.x86_64 1:1.1.0h-3.fc28 @fedora
openssl-libs.i686 1:1.1.0h-3.fc28 @fedora
openssl-libs.x86_64 1:1.1.0h-3.fc28 @fedora

@AmarOk1412
Copy link

@AmarOk1412 AmarOk1412 commented Sep 30, 2018

@arpu just tried ./mach bootstrap on Fedora 28. (openssl-devel-1:1.1.0i-1.fc28.x86_64 was already installed), Didn't have any issues.

@arpu
Copy link

@arpu arpu commented Sep 30, 2018

looks like the poroblem is only on the binarys from https://download.servo.org/

so building from source should work

@ShalokShalom
Copy link

@ShalokShalom ShalokShalom commented Apr 16, 2019

Hi

There is no libressl in our repos and I prefer to run the binarys.

I get the same exact error message, while libssl.so.1.0.0 is in /usr/lib.

OpenSSL 1.1.1.2 is here is use currently.

Thanks a lot 😄

@jdm
Copy link
Member

@jdm jdm commented Apr 16, 2019

@ShalokShalom Could you put the full build output in a gist and link it here, please? That seems surprising.

@ShalokShalom
Copy link

@ShalokShalom ShalokShalom commented Apr 16, 2019

It is exactly as in the original post. There is nothing more, no build at all.
Just this line.

@Darkspirit Darkspirit mentioned this issue May 15, 2019
3 of 3 tasks complete
bors-servo added a commit that referenced this issue May 15, 2019
Build Linux Nightly with OpenSSL 1.1.0

Servo Nightly fails to run on Ubuntu 19.04 (disco) as it doesn't have a libssl1.0.0 package.
OpenSSL 1.1.x is supported since [Debian Stretch](https://packages.debian.org/en/stretch/libssl1.1) (currently Debian Stable) and [Ubuntu 18.04](https://packages.ubuntu.com/bionic/libssl1.1) (used by base.dockerfile).
Ancient Debian + Ubuntu releases are still able to compile Servo using their most recent OpenSSL (1.0.x).

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #12015, fix #21778 and fix #22110

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23392)
<!-- Reviewable:end -->
@guiprav
Copy link
Author

@guiprav guiprav commented May 15, 2019

So I tried running the latest Servo nightly again and now I get this error:

$ ./servo
./servo: error while loading shared libraries: libgstwebrtc-1.0.so.0: cannot open shared object file: No such file or directory

Looks like libgstwebrtc-1.0.so.0 is only available on Debian sid (unstable):

Should I open a new issue?

@Darkspirit
Copy link
Contributor

@Darkspirit Darkspirit commented May 15, 2019

Yes, please file a new issue, that sounds like a different problem.
(Try apt install libgstreamer-plugins-bad1.0-0.)

@guiprav
Copy link
Author

@guiprav guiprav commented May 15, 2019

Thanks for fixing the libssl issue! libgstreamer-plugins-bad1.0-0 is already installed on my system. Looks like I need sid, or to install a newer version of GStreamer manually?

@ShalokShalom
Copy link

@ShalokShalom ShalokShalom commented May 16, 2019

Still happens to me here.

@Darkspirit
Copy link
Contributor

@Darkspirit Darkspirit commented May 16, 2019

@ShalokShalom
Copy link

@ShalokShalom ShalokShalom commented May 16, 2019

Thanks a lot. So its not a nightly, more a weekly?

@Darkspirit
Copy link
Contributor

@Darkspirit Darkspirit commented May 16, 2019

No, it's built every day, unless they're working on their infrastructure.

@ShalokShalom
Copy link

@ShalokShalom ShalokShalom commented May 16, 2019

Ahja, the merge happened 13 hours ago, my mistake. Thanks!

@alejandro-mosso
Copy link

@alejandro-mosso alejandro-mosso commented Jun 4, 2020

hi

To solve error:
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
You should add a mirror to /etc/apt/sources.list

Find the correct package for your architecture here:
https://packages.debian.org/search?suite=jessie&arch=any&mode=exactfilename&searchon=contents&keywords=libssl.so.1.0.0
(in my case it is amd64, and the correct library is /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0):

Then go to Download libssl1.0.0 section, and again click on your architecture (amd64 in my case).

There you will find the mirror you have to add to /etc/apt/sources.list for me, the mirror I have to add is:
deb http://security.debian.org/debian-security jessie/updates main

Then run bellow commands:
sudo apt-get update
sudo apt-get install libssl1.0.0

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

8 participants
You can’t perform that action at this time.