首页 > 解决方案 > 在 cqueues rock 的 luarocks/gcc 构建中选择了错误的 lib 目录

问题描述

我正在尝试在运行最新的 raspbian / pi os 的 raaspberry pi 4 上通过 luarocks 安装 http。

不确定它是否仅适用于cqueues摇滚,但 lua 在尝试构建时,luarock(或 gcc?)尝试在 中查找libcrypto.so.*/usr/lib/x86_64-linux-gnu而它实际上在/usr/lib/arm-linux-gnueabihf/libcrypto.soPi OS 上。

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如消息中所建议的,如何比设置更通用地解决此问题。

标签: raspbiandebian-busterluarocks

解决方案


This is a temporary workaround, but I need a more generic fix, as it'll be a pain to set syms for every .so dependency.

luarocks --local  install cqueues CRYPTO_DIR=/usr CRYPTO_LIBDIR=/usr/lib/arm-linux-gnueabihf OPENSSL_DIR=/usr OPENSSL_LIBDIR=/usr/lib/arm-linux-gnueabihf

推荐阅读