Openwrt编译 -- 解决 Package test is missing dependencies for the following libraries libcrypto.so.1.1
根据项目要求需要用到 openssl 这个库,看了看编译环境幸好本身就集成了该库。但在编译 openssl 的功能时,碰到缺少类库的错误。
Package user-crypto-test is missing dependencies for the following libraries: libcrypto.so.1.1
看了看 编译器路径
然后在 make menuconfig 里面,选择关于 openssl-crypto 的选项,主要涉及到的有:
Libraries --> SSL --> libopenssl
Utilities --> openssl-util
在
/openwrt_bak/staging_dir/target-mipsel_24kc_musl/usr/lib libcrypto.so.1.1
如果在此文件夹下不存在文件 libcrypto.provides ,那么 Makefile 中新增如下内容
也就是在 Makefile 定义 Package/cpp-demo/extra_provides 宏来强制性地将那几个库加进去。
define Package/$(PKG_NAME)/extra_provides echo "/openwrt_bak/staging_dir/target-mipsel_24kc_musl/usr/lib"; \ echo "libcrypto.so.1.1" endef
请注意后面的 \ 字符,如果有多个的话是需要 \ 字符的 ,不然会报语法错误的提示。
然后 make V=99 进行编译,之后出现异常信息
1 define Package/$(PKG_NAME) 2 SECTION:=utils 3 CATEGORY:=Songshuai Package 4 SUBMENU:=Openssl Crypto Software Testing modules 5 TITLE:=This is songshuai $(PKG_NAME) 6 MAINTAINER:=Songshuai <songshuai@gmail.com> 7 # DEPENDS:=+libcrypto 8 endef
然后编译即可正常通过。
但是总觉得有问题,不够Official,但是不知道在什么地方,反正好用暂时好用,先放着吧,等有时间在试试吧。