今天在安装一个插件curl,安装失败了。报错内容如下:
root@R619AC_co-router:/tmp/tmp# opkg install curl Installing curl (7.68.0-1) to root... Downloading http://downloads.openwrt.org/snapshots/packages/arm_cortex-a7_neon-vfpv4/base/curl_7.68.0-1_arm_cortex-a7_neon-vfpv4.ipk Installing libmbedtls12 (2.16.4-1) to root... Downloading http://downloads.openwrt.org/snapshots/packages/arm_cortex-a7_neon-vfpv4/base/libmbedtls12_2.16.4-1_arm_cortex-a7_neon-vfpv4.ipk Collected errors: * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedcrypto.so.2.16.3 But that file is already provided by package * libmbedtls * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedcrypto.so.3 But that file is already provided by package * libmbedtls * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedtls.so.12 But that file is already provided by package * libmbedtls * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedtls.so.2.16.3 But that file is already provided by package * libmbedtls * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedx509.so.0 But that file is already provided by package * libmbedtls * check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedx509.so.2.16.3 But that file is already provided by package * libmbedtls * opkg_install_cmd: Cannot install package curl.
其中最重要的就一句话
check_data_file_clashes: Package libmbedtls12 wants to install file /usr/lib/libmbedtls.so.2.16.3 But that file is already provided by package * libmbedtls
有一个需要安装一个依赖包libmbedtls12 但是已经存在的依赖包 libmbedtls 已经有这个文件了,查了一下版本号是2.16.3-2
而新的版本号看文件也是2.16.3。但是实际安装完了显示是2.16.4-1。
为什么是这样?我想想估计是我安装的openwrt的版本比较低,导致内置集成libmbedtls 版本,与官方软件源里不一致。而在线安装curl是是根据官方源最新的版本。
这时候,我只能卸载原来的libmbedtls 包,手工安装libmbedtls12包才可以继续安装。这样也会导致原有的依赖libmbedtls的软件无法运行,所以底包很重要
原文:https://www.cnblogs.com/edzjx/p/12313946.html