Openssl install not working

Unable to require(`/home/runner/twitter-clone-1/node_modules/.prisma/client/libquery_engine-debian-openssl-1.1.x.so.node`).
Prisma cannot find the required `libssl` system library in your system. Please install openssl-1.1.x and try again.

I had run

nix-shell -p openssl_1_1

and tried adding pkgs.openssl_1_1 to replit.nlx and retsrated my shell and reloaded the repl, am I missing anything else?

1 Like

It looks like you are doing most of everything correct to install openssl on the system. If it is requiring it from the node_modules folder, maybe try installing ssl or libssl through npm?

$ npm i ssl
$ npm i openssl
$ npm i libssl
2 Likes

still get the same result sadly.

PrismaClientInitializationError: 
Invalid `prisma.user.findMany()` invocation:


Unable to require(`/home/runner/twitter-clone-1/node_modules/.prisma/client/libquery_engine-debian-openssl-1.1.x.so.node`).
Prisma cannot find the required `libssl` system library in your system. Please install openssl-1.1.x and try again.

Details: libssl.so.1.1: cannot open shared object file: No such file or directory
    at Pn.handleRequestError (/home/runner/twitter-clone-1/node_modules/@prisma/client/runtime/library.js:171:7205)
    at Pn.handleAndLogRequestError (/home/runner/twitter-clone-1/node_modules/@prisma/client/runtime/library.js:171:6358)
    at /home/runner/twitter-clone-1/node_modules/@prisma/client/runtime/library.js:174:2908
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /home/runner/twitter-clone-1/node_modules/@prisma/client/runtime/library.js:174:3123
    at async t._executeRequest (/home/runner/twitter-clone-1/node_modules/@prisma/client/runtime/library.js:174:10621)
    at async handler (webpack-internal:///(api)/./pages/api/users/index.ts:12:23)
    at async Object.apiResolver (/home/runner/twitter-clone-1/node_modules/next/dist/server/api-utils/node.js:372:9)
    at async DevServer.runApi (/home/runner/twitter-clone-1/node_modules/next/dist/server/next-server.js:514:9)
    at async Object.fn (/home/runner/twitter-clone-1/node_modules/next/dist/server/next-server.js:828:35)
    at async Router.execute (/home/runner/twitter-clone-1/node_modules/next/dist/server/router.js:243:32)
    at async DevServer.runImpl (/home/runner/twitter-clone-1/node_modules/next/dist/server/base-server.js:432:29)
    at async DevServer.run (/home/runner/twitter-clone-1/node_modules/next/dist/server/dev/next-dev-server.js:831:20)
    at async DevServer.handleRequestImpl (/home/runner/twitter-clone-1/node_modules/next/dist/server/base-server.js:375:20)
    at async /home/runner/twitter-clone-1/node_modules/next/dist/server/base-server.js:157:99 {
  clientVersion: '4.14.1',
  errorCode: undefined
}

Nix support for native dynamic libraries is a little weird. Once installing the library using nix, you must retrieve the nix path to the libraries .so files, then add those paths to LD_LIBRARY_PATH. Try doing that on your own, and if you can’t get it to work tell me and I will try to make an example tomorrow.

4 Likes

Thanks yeah I have had enough of it for one day and I hadn’t thought of LD_LIBRARY_PATH since Debian Sid :laughing:

How didn’t I think of LD_LIBRARY_PATH? I use it quite often

1 Like

Hey could you please tell me more? I’m not understanding how to do what you said

Sorry, I’ve been off for the summer. Try looking for the .so files you need, then in the bash shell of in the [env] section of .replit, add LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(your new path here, without parentheses). Should be able to add the libs to be loaded now.

Sorry bro, can you explain more detail, i still not understand

Got this issue as well…