在 cqueues rock 的 luarocks/gcc 构建中选择了错误的 lib 目录
Posted
技术标签:
【中文标题】在 cqueues rock 的 luarocks/gcc 构建中选择了错误的 lib 目录【英文标题】:Wrong lib dir selected on luarocks/gcc build of cqueues rock 【发布时间】:2021-10-28 03:27:46 【问题描述】:我正在尝试通过 luarocks 在运行最新 raspbian / pi os 的 raaspberry pi 4 上安装 http。
不确定它是否特定于 cqueues
rock,但 lua 在尝试构建时,luarock(或 gcc?)试图在 /usr/lib/x86_64-linux-gnu
中找到 libcrypto.so.*
,而它实际上在 Pi OS 上的 /usr/lib/arm-linux-gnueabihf/libcrypto.so
中。
Error: Failed installing dependency: https://luarocks.org/cqueues-20200726.51-0.src.rock - Could not find library file for CRYPTO
No file libcrypto.a in /usr/lib
No file libcrypto.a in /usr/lib/x86_64-linux-gnu
No file libcrypto.so in /usr/lib
No file libcrypto.so in /usr/lib/x86_64-linux-gnu
No file matching libcrypto.so.* in /usr/lib
No file matching libcrypto.so.* in /usr/lib/x86_64-linux-gnu
You may have to install CRYPTO in your system and/or pass CRYPTO_DIR or CRYPTO_LIBDIR to the luarocks command.
Example: luarocks install cqueues CRYPTO_DIR=/usr/local
如消息中所建议的,如何比设置CRYPTO_DIR
更通用地解决此问题。
【问题讨论】:
【参考方案1】:这是一个临时解决方法,但我需要一个更通用的修复,因为为每个 .so 依赖项设置符号会很痛苦。
luarocks --local install cqueues CRYPTO_DIR=/usr CRYPTO_LIBDIR=/usr/lib/arm-linux-gnueabihf OPENSSL_DIR=/usr OPENSSL_LIBDIR=/usr/lib/arm-linux-gnueabihf
【讨论】:
以上是关于在 cqueues rock 的 luarocks/gcc 构建中选择了错误的 lib 目录的主要内容,如果未能解决你的问题,请参考以下文章