Serverless Gems libcurl

We are experimenting with typhoeus and is has native dependency for libcurl.
Unfortunately, the compiled required libraries (such as libcurl.so and libnghttp2.so) are not been uploaded to the gem layer.
I am not sure, but I guess that Serverless Gems is not aware of such dependency. The deploy process does not report any error though, while executing the lambda function gives me the expected error: lib not found.
Is there a way to tell Serverless that we need some native libraries?

It was a tedious manual process. but I managed to circumvent the issue by creating and using a custom layer with the required libs.

It would be nice if there was an automatic way to add these dependencies, even if just by listing the libs to be added using apt-get.

Bummer. Jets already does native gem detection as part of the deployment, but some edge cases like this will take some time also to detect properly. Glad you were able to use a custom layer to fix this, though. That’s precisely why custom layers are available. Though they are some effort, it’s an option.

Dug into this a little bit and found that it actually leads to the ffi gem that seems to dynamically loads libcurl.so https://github.com/ffi/ffi/blob/master/lib/ffi/library.rb#L98 Most native gems let you know if it’s using native headers. Though it may not sound like it at the surface, this one is quite unique. It’ll take some time to dig further. The goal is to make Serverless Gems seamless, so end-users don’t have to do anything. Over the years, there have been many edge cases that have been handled. Think there will always continue to be some special cases, though. Over time they should dwindle. Thanks for the report, and glad you were able to resolve the issue again.