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

node:18 (bookworm) lacks libcrypto.so.1.1 present in previous releases such as 18-bullseye #1916

Open
steven-supersolid opened this issue Jun 13, 2023 · 6 comments

Comments

@steven-supersolid
Copy link

Environment

  • Platform: Linux
  • Docker Version: 24.0.2
  • Node.js Version: 18
  • Image Tag: node:18

Expected Behavior

libcrypto.so.1.1 is findable on the system with node:18-bullseye

# whereis libcrypto.so.1.1
libcrypto.so.1: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1

Current Behavior

libcrypto.so.1.1 is not present

# whereis libcrypto.so.1.1
libcrypto.so.1.1:
# ls /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
ls: cannot access '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1': No such file or directory

Possible Solution

This started happening after the recent update to bookworm and installing node:18-bullseye works as expected

Steps to Reproduce

  1. docker pull node:18
  2. docker run -it node:18 bash
  3. whereis libcrypto.so.1.1

Additional Information

This breaks any CI that uses node:18 and https://github.com/nodkz/mongodb-memory-server as the mongodb binary requires libcrypto.so.1.1

@MandarDevarshi
Copy link

See if this helps
#1915 (comment)

@waitingsong
Copy link

https://www.debian.org/releases/bookworm/amd64/release-notes/ch-whats-new.en.html#newdistro
OpenSSL from 1.1.1n to 3.0.8

@ziedHamdi
Copy link

ziedHamdi commented Oct 10, 2023

Worked for me too with 18-bullseye.

For anyone new to CircleCi like me, here's my entire config.yml

# fonud here https://pnpm.io/continuous-integration
version: 2.1

jobs:
  build: # this can be any name you choose
    docker:
      - image: node:18-bullseye #raw 18 fails: https://github.com/nodejs/docker-node/issues/1916
    resource_class: large
    parallelism: 10

    steps:
      - checkout
      - restore_cache:
          name: Restore pnpm Package Cache
          keys:
            - pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
      - run:
          name: Install pnpm package manager
          command: |
            corepack enable
            corepack prepare pnpm@latest-8 --activate
      - run:
          name: Install Dependencies
          command: |
            pnpm install
      - save_cache:
          name: Save pnpm Package Cache
          key: pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
          paths:
            - node_modules
      - run:
          name: Test with jest
          command: |
            node --experimental-vm-modules node_modules/jest/bin/jest.js

@Vittorio-QA
Copy link

Vittorio-QA commented Feb 2, 2024

Having this issue with node:20, trying to use a different image.

UPDATE: running node:20-buster - from docker hub solves the issue.

@davidgarra
Copy link

I just tried with Bullseye 22 (the latest version) and it works. This also solves the problem with Node 20 and the slow tests.

@LaurentGoderre
Copy link
Member

libcrypto was not explicitly installed from any of the images on which Node images are built. It likely was included in bullseye as a transitive dependency of one of the buildpack-deps package installed and that package doesn't rely on libcrypto anymore in bookworm and more recent versions.

If you explicitly depend on that library, I would strongly recommend adding it to your Dockerfile.

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

No branches or pull requests

7 participants