我安装了 cURL像这样在 OpenWRT 上,因为路由器上也没有足够的可用磁盘空间,但是当我尝试运行它时,它说:
# curl
curl: can't load library 'libmbedtls.so.9'
好的,那么只需安装 libmbedtls 即可,对吗?但它不是这个存储库我发现它存在于这个存储库,所以我尝试在 将其添加为自定义 repo /etc/opkg/customfeeds.conf
,并在 中添加 mipsel_24kc 作为自定义架构/etc/opkg.conf
,通过在文件末尾添加一行arch mipsel_24kc 100
,希望 mipsel_24kc 与 ar71xx 兼容,但每次我运行任何 opkg 命令时,我得到的只是终端上的一堵文本墙,每行都说:
Package <package_name> version <version> has no valid architecture, ignoring.
更糟糕的是,它已经安装了所有依赖项,但仍然在等待存储库中不存在的 libmbedtls 库。
# opkg depends curl
curl depends on:
libc
libcurl
# opkg install libc
Package libc (0.9.33.2-1) installed in root is up to date.
# opkg install libcurl
Package libcurl (7.40.0-3) installed in root is up to date.
# curl
curl: can't load library 'libmbedtls.so.9'
另外,我无法更新此操作系统。有什么办法可以解决这个问题吗?
答案1
有两个原因导致此方法未能按预期发挥作用:
mips_24kc
并且mipsel_24kc
不兼容架构,这就是您看到所有Package <package_name> version <version> has no valid architecture, ignoring
错误的原因。您需要找到一个mips_24kc
包。- OpenWRT 15.05.1 确实很旧,而您在问题中链接的“快照”版本将是一个非常新的预发布版本。因此,即使其中某处会有一个
mips_24kc
libmbedtls
软件包,但这个新版本可能无法与 OpenWRT 15.05.1 的基础系统或您已安装的 libcurl 配合使用。
由于历史原因,libmbedtls.so.9
Chaos Calmer 的库文件libpolarssl_1.3.14-1_ar71xx.ipk
位于根据opkg update
。因此,如果您删除所有配置修改和额外的软件包提要,然后重新运行,opkg install libpolarssl
它可能会起作用。但是,当您第一次安装 curl 时,opkg 应该已经自动安装了 libpolarssl - 这表明当时可能发生了其他错误,例如空间不足。
即使这可行,请注意这些旧版本的 OpenWRT 非常老旧,并且存在许多已知的安全漏洞,更不用说它们会信任旧的 TLS 证书而不信任任何较新的证书。因此,最好尝试找到一种方法来运行较新的 OpenWRT(由于不受官方支持,因此很不安全),或者找到其他硬件来使用。