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

CentOS, RHEL 6+ and SuSe Linux defect for libcrypto.so.1.0.0 #923

Closed
piotr-iohk opened this issue Oct 25, 2019 · 4 comments · Fixed by #1052
Closed

CentOS, RHEL 6+ and SuSe Linux defect for libcrypto.so.1.0.0 #923

piotr-iohk opened this issue Oct 25, 2019 · 4 comments · Fixed by #1052
Assignees

Comments

@piotr-iohk
Copy link
Contributor

piotr-iohk commented Oct 25, 2019

Release Operating System Cause
next Linux Code v Configuration v Environment v Human v Unknown

Context

It seems that libcrypto 1.0.0 is no longer shipped with RHEL for a while (since ver. 6) and it is impossible to install it using native package manager yum.

Seem to be the same for SuSe Linux and CentOS (which is derived from RHEL).

libcrypto 1.0.0 is a dependency of cardano-wallet (through cardano-crypto probably).

Steps to Reproduce

On RHEL 8 run cardano-wallet.

Expected behavior

It works.

Actual behavior

$ cardano-wallet 
cardano-wallet: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Workaround is possible if there is a newer libcrypto present on the system e.g.:

sudo ln -s /usr/lib64/libcrypto.so.1.1.1 /usr/lib64/libcrypto.so.1.0.0

Resolution Plan

PR

Number Base
#1052 master

QA

  • Added a note in the Linux installation instructions of the release template.
@rvl
Copy link
Contributor

rvl commented Nov 11, 2019

There are other issues too -- for example, it won't work if the user's glibc version is too old (usually happens with RHEL/Centos or Debian stable). Also there are support difficulties around asking users to find and install the right libraries.

The two best ways to produce Linux builds which run in many environments are:

  1. fully static binary (not dynamically linked at all)
  2. docker image

The fully static binary will require some help from tools team.

The docker image is simple to do, and requires about 20 LOC of nix code, plus a buildkite script to push to dockerhub.

@KtorZ
Copy link
Member

KtorZ commented Nov 11, 2019

By the by @rvl, I've asked our legal representatives about the licensing issues that could cause a static linking with some libraries. Their answer is:

Thanks - even easier. In a nutshell, other more restrictive licenses are not a problem. We / IOHK can stick to our Apache 2.0 license.
The only thing we need to do is to point out other (less or more restrictive) licenses applicable to elements/code/ modules that we have used within our code.

I believe we should aim for both 1. and 2. in the upcoming releases.

@rvl rvl mentioned this issue Nov 13, 2019
2 tasks
@KtorZ KtorZ added this to the Usability & Compatibility milestone Nov 15, 2019
iohk-bors bot added a commit that referenced this issue Nov 20, 2019
1018: Add Docker image to Buildkite r=KtorZ a=rvl

Relates to #923.

# Overview

Docker lets users run software images which are completely self-contained.
Docker Hub is a public repository from which users can pull images.
 
- Adds a Docker image build for cardano-wallet-jormungandr.
- Adds a Buildkite script for uploading to docker hub.

# Comments

- [x] Needs a [cardano-wallet](https://hub.docker.com/repository/docker/inputoutput/cardano-wallet) repository created on Docker hub.
- [x] Needs to have docker hub credentials installed on buildkite agents ⇒ input-output-hk/iohk-ops#702.


Co-authored-by: Rodney Lorrimar <[email protected]>
@KtorZ KtorZ self-assigned this Nov 20, 2019
@plessmann
Copy link

For debian 10 (buster) you'll need a symlink like this as workaround:

ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.0.0

@thevictor13
Copy link

For debian 10 (buster) you'll need a symlink like this as workaround:

ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.0.0

The above also applies for Ubuntu Server 19.10

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

Successfully merging a pull request may close this issue.

5 participants