wahern / cqueues

Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix.
http://25thandclement.com/~william/projects/cqueues.html
MIT License
244 stars 37 forks source link

How can I build and install cqueues without TLS/SSL on OpenWrt? #230

Closed charlesboyo closed 4 years ago

charlesboyo commented 4 years ago

Hello.

I am trying to build and install cqueues on OpenWrt (Chaos Calmer 15.05.1) for use with lredis. Having gotten past the hurdle with luarocks and that version of OpenWrt, I am getting this error:

Error: Failed installing dependency: https://luarocks.org/cqueues-20190813.51-0.src.rock - Could not find expected file openssl/crypto.h, or openssl/crypto.h for CRYPTO -- you may have to install CRYPTO in your system and/or pass CRYPTO_DIR or CRYPTO_INCDIR to the luarocks command. Example: luarocks install cqueues CRYPTO_DIR=/usr/local

Since I have no intention of using TLS/SSL, is it possible to disable the code that has the CRYPTO dependency? Is there a compile-time flag or environment variable to bypass this?

A less preferable alternative is guidance on minimally fulfilling the dependency (getting the OpenSSL development package) on OpenWrt 15.05.1. That isn't as desirable because this embedded system is really resource constrained.

Thank you.

Charles

daurnimator commented 4 years ago

is it possible to disable the code that has the CRYPTO dependency? Is there a compile-time flag or environment variable to bypass this?

No, there no current way to do so.

charlesboyo commented 4 years ago

Thanks for the prompt response. So any ideas on getting this to build and install on OpenWrt?

Will it be enough to cherry-pick the crypto.h and ssl.h files from another system and reference them in the rockspec?

daurnimator commented 4 years ago

You would need the headers for the openssl library installed on your device. usually there would be a package libssl-dev or similar

charlesboyo commented 4 years ago

Thanks, got it to build on OpenWrt. Trick was added libopenssl to the DEPENDS and including lcrypto in TARGET_CFLAGS.