今天在安裝一個插件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的軟件無法運行,所以底包很重要