Package Update error

opkg list-upgradable

The above lists libustream-mbedtls as a package that needs to be upgraded.

Running

opkg upgrade libustream-mbedtls

results in

Collected errors:
 * check_data_file_clashes: Package libustream-mbedtls wants to install file /lib/libustream-ssl.so
        But that file is already provided by package  * libustream-openssl

Im new to this sort of thing. I would like to know how I fix this error without causing more errors or dependency problems. Thanks for any help.

You only need one libustream package.

Pick either:

I personally choose mbed TLS for use with downloading Adblock block lists from HTTPS URLs. If you're having an issue with OpenSSL, uninstall it, and install mbed TLS.

Hope this helps.

root@LEDE:~# opkg remove libustream-openssl
No packages removed.
Collected errors:
 * print_dependents_warning: Package libustream-openssl is depended upon by packages:
 * print_dependents_warning:    luci-ssl-openssl
 * print_dependents_warning: These might cease to work if package libustream-openssl is removed.

 * print_dependents_warning: Force removal of this package with --force-depends.
 * print_dependents_warning: Force removal of this package and its dependents
 * print_dependents_warning: with --force-removal-of-dependent-packages.

This happens if I attempt to remove OpenSSL

Then simply remove the dependency and reinstall it, that information was available in your quote. Please read the error message for instructions.

You obviously cannot remove a package before its dependency; but an alternative is to:

Yes I understand that instruction was in the error but that goes back to my original point of not wanting to get into a cascading dependency issue as I remove packages. I didn’t want to remove that one only to get another error. I am unfamiliar about what some of the packages are but just want to make sure everything is up to date.

Ultimately I removed luci-ssl-openssl and then libustream-openssl. I figured this was safe because I noticed I also had the package luci-ssl installed. I assumed this would cover everything luck-ssl-openssl did. I didn’t get any errors and everything seems to be working fine.

Am I correct in assuming luci-ssl and luci-ssl-openssl are redundant and only one is necessary? I just don’t want to create any vulnerabilities or break any encryption. Thanks for your patience.

If you're doing this simply to ensure that your device is up-to-date, please be careful about upgrading packages included with the firmware. There are risks upgrading some system packages (i.e. they actually exist in the firmware and are never deleted). You could brick your device. I advise flashing an up-to-date firmware.

Otherwise, none of the packages you listed are in the default firmware, simply upgrade them.

I really think you need to look here. I hope this helps you understand the dependencies of software you're using.

Yes. It just depends on which SSL library you want to use.
Default in Openwrt is mbedtls that is used by luci-ssl.
Openssl is much larger library but is required by some net apps. Luci-ssl-openssl uses that. Then you can avoid mbedtls totally.

Same goes for libustream-xxx packages. You use the one that matches your package needs.

For example, I have an all-openssl build and have selected only such packages that have openssl variants. So I have been able to drop mbedtls from the build.

1 Like

Thank you for your advice and patience. I should have just done that in the first place :flushed:. Sorry I’m just learning how all this works. I’m just playing around and trying to learn everything at once. You’ve taught me a lot in just this little issue. Thanks.

1 Like

[https://forum.openwrt.org/letter_avatar/lleachii/45/5_1887921562df0dabfae55079ddabeb03.png] lleachiihttps://forum.openwrt.org/u/lleachii Waynehttps://forum.openwrt.org/u/lleachii Regular
June 8

You only need one libustream package.

Pick either:

I personally choose mbed TLS for use with downloading Adblock block lists from HTTPS URLs. If you're having an issue with OpenSSL, uninstall it, and install mbed TLS.

Hope this helps.