Libcurl module not found

Getting this error when using the npm package curl-request on a lambda function:

libcurl-gnutls.so.4: cannot open shared object file: No such file or directory

Did a bit of googling and tried both the Xenial build as well as the Trusty build but it’s the same error on both. It seems to have to do with the naming of the libcurl package changing and most people fix it with a symlink to libcurl.so.4. Not sure if anyone might have any insight into this.

@itwasmattgregg, it looks like curl-request has a binary dependency that isn’t getting bundled. Could you try the step mentioned here? Specifically the --build-from-source option? Let me know if that helps.

Hi @itwasmattgregg,

Just want to follow up and clarify that you can’t bundle a binary. You have to zip it. We do offer zip it and ship it in our build image as long as the dependency is installed properly during your build process. Are you trying to bundle it in with your function?

Yea I was trying to bundle. Are you saying I need to zip the curl-request package?

Ah, what @futuregerald meant by bundling is using GitHub - netlify/netlify-lambda: Helps building and serving lambda functions locally and in CI environments. Instead of bundling it that way, you’ll want to set your function up according to GitHub - netlify/zip-it-and-ship-it: Intelligently prepare Node.js Lambda functions for deployment, which is built into our buildbots (no more using netlify-lambda). Also, you shouldn’t need to actually install the zip-it-and-ship-it package. Hope that makes sense.