0

I installed cURL like this on OpenWRT, as I also hadn't enough disk space available on the router, but when I tried to run it, it said:

# curl
curl: can't load library 'libmbedtls.so.9'

Okay, so just install libmbedtls, right? But it is not part of this repository. I found out that it's present on this repository, so I tried to add it as a custom repo at /etc/opkg/customfeeds.conf and add mipsel_24kc as a custom architecture at /etc/opkg.conf, by appending a line arch mipsel_24kc 100 at the end of the file, hoping that mipsel_24kc would be compatible with ar71xx, but everything I got was a wall of text on my terminal every time I ran any opkg command with each line saying:

Package <package_name> version <version> has no valid architecture, ignoring.

And, to worsen it, it has all the dependencies installed, but still waits for a libmbedtls library that doesn't exist on the repository.

# 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'

Also, I can't update this OS. Any ideas about how to solve this issue?

1 Answers1

0

There are two reasons this didn't work as hoped:

  1. mips_24kc and mipsel_24kc aren't compatible architectures, which is why you see all the Package <package_name> version <version> has no valid architecture, ignoring errors. You need to find a mips_24kc package.
  2. OpenWRT 15.05.1 is really old, and the "snapshot" version you linked to in your question will be a very new pre-release version. So even though there will be a mips_24kc libmbedtls package in there somewhere, that much newer version probably won't work with OpenWRT 15.05.1's base system or the libcurl you've already installed.

For historical reasons, the libmbedtls.so.9 library file for Chaos Calmer is in libpolarssl_1.3.14-1_ar71xx.ipk which actually is in base. So if you remove all the configuration modifications and extra package feeds, re-run opkg update, and then opkg install libpolarssl then it might work. However, libpolarssl should have been installed automatically by opkg when you installed curl the first time - indicating maybe some other error happened at that time, for example running out of space.

Even if this works, note that these old versions of OpenWRT are incredibly old and have a lot of known security vulnerabilities, not to mention they'll be trusting old TLS certificates and not trusting any newer ones. So probably best to try and find a way to run newer OpenWRT (hacky as officially unsupported), or find other hardware to use.

Angus
  • 116