Hi Tiago,


On 2023-2-27 7:27 pm, Tiago Cardoso via ruby-talk wrote:
I'm writing a C extension which interfaces with ruby-openssl objects, and the openssl API. In the process, I'm needing access to some functions which ruby-openssl declares in the header file: https://github.com/ruby/openssl/blob/ea0a112a0c6a0498629e778af7991c9b4e349565/ext/openssl/ossl.h (example: ossl_raise). However, it's not clear to me how should I declare the #include in order to access it, for a header file coming from stdlib. Seems that ruby itself correctly places its header files (examples: ruby.h, or ruby/io.h), but I don't see the openssl gem ones.

The beginning of my C file looks like:

```C
#include <ruby.h>
#include <openssl/evp.h>

#include <pathto/openssl/ossl.h> // how to do this?
```


What is the error that you are getting? I would have that it should just work with "#include <openssl/ossl.h>" on the idea that it's relative to the system include directory but I am still exploring how C native extensions work but I thought it should have worked since I see other gems (e.g., grpc) include other items like:

#include <ruby/ruby.h>
#include <sys/time.h>

Best regards,
Mohit.