Luci dependency conflict

Hi all,

I'm a newbie and just installed the snapshot openwrt as suggested here: https://openwrt.org/toh/linksys/mx4200_v1_and_v2?s[]=mx4200#tab__openwrt_firmware

The instructions could be a bit more clear, but fine..

Now I'm trying to install Luci web interface but I'm getting the following:

root@OpenWrt:~# cat /etc/os-release 
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r28608-693c1ea81a"
OPENWRT_BOARD="qualcommax/ipq807x"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt SNAPSHOT r28608-693c1ea81a"
OPENWRT_BUILD_DATE="1737032215"
root@OpenWrt:~# apk add luci
fetch https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq807x/packages/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/packages.adb
fetch https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq807x/kmods/6.6.71-1-6189d93b45fae71399a68254e9c53dbc/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/packages.adb
fetch https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/video/packages.adb
ERROR: unable to select packages:
  libuci20130104-2024.11.26~10f7996e-r1:
    conflicts: libuci20250117-2025.01.17~fb3c2343-r1[libuci=2024.11.26~10f7996e-r1]
    satisfies: world[libuci20130104] libiwinfo20230701-2024.10.20~b94f066e-r1[libuci20130104] netifd-2024.12.17~ea01ed41-r1[libuci20130104] odhcpd-ipv6only-2024.05.08~a2988231-r1[libuci20130104]
               procd-ujail-2024.12.22~42d39376-r1[libuci20130104] ubox-2024.04.26~85f10530-r1[libuci20130104] uci-2024.11.26~10f7996e-r1[libuci20130104] ucode-mod-uci-2024.12.06~209f041f-r1[libuci20130104]
  libuci20250117-2025.01.17~fb3c2343-r1:
    conflicts: libuci20130104-2024.11.26~10f7996e-r1[libuci=2025.01.17~fb3c2343-r1]
    satisfies: rpcd-2024.12.02~cc9a471c-r1[libuci20250117]
root@OpenWrt:~# 

Apparently the package manager changed recently from opkg to apk, how can this issue be resolved?
Is there a stable version I should install? How should I do that?

Thank you,
Alex

So through https://firmware-selector.openwrt.org/ i saw that 24.10.0-rc5 (r28304-6dacba30a7) is supported

simply upgraded with sysupgrade -v [name_of_firmware.bin]

it has the old package manager and all worked out to install luci

1 Like

In case people see this and are curious, it's part of the apk ABI-versioning saga. See details here, Owut: OpenWrt Upgrade Tool, if you wish to know more.

1 Like

Not really apk specific though, opkg used the same ABI encoding into the package name. Upgrades to (e.g., but not limited to) uci, ustream, ubox cause this - and we would see the very same if we still had opkg in snapshots.

The fix is simple either way, sysupgrade to a newer base snapshot - then everything should be installable again (given the way the 2-stage buildbots are set up, it might take up to a day to get everything back into sync again).

Edit: OOPS. I was thinking this was a different thread about the same-ish issue... Below applies when doing ASU stuff, this thread is about package providers and is tangentially related, hence my confusion (that and old age).

No, this is very much due to differences in apk and opkg.

The tooling in the ASU clients uses information that we provide in the opkg package index that does not (yet) exist in the apk package index files. We use that information to strip the file names produced by the ubus call rpc-sys packagelist call so they are in their canonical form, libubus or libuci or jansson... This missing piece in apk first needs to be added (@Ansuel's issue over on the apk-tools repo, https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/11066), then propagated into the rpc call (you can see the tracks I left in the code at https://github.com/openwrt/rpcd/blob/master/sys.c#L308), so this can be resolved once apk catches up.

$ grep RELEASE /etc/os-release
OPENWRT_RELEASE="OpenWrt 24.10-SNAPSHOT r28242-1eff737906"

$ cat /usr/lib/opkg/status
...
Package: libuci20130104
ABIVersion: 20130104     <<< Not available yet in apk
...

$ ubus call rpc-sys packagelist '{"all":true}' | grep libuci
                "libuci": "2023.08.10~5781664d-r1",

vs

$ grep RELEASE /etc/os-release
OPENWRT_RELEASE="OpenWrt SNAPSHOT r28562-9d66b8b312"

$ /lib/apk/db/installed
P:libuci20130104
V:2024.11.26~10f7996e-r1
... no ABI information ...

$ ubus call rpc-sys packagelist '{"all":true}' | grep libuci
                "libuci20130104": "2024.11.26~10f7996e-r1",
1 Like

Ran into this too while testing the snapshot on my Fritzbox 4040, tried installing block-mount but it won't let me as it depends on libuci20250120 which isn't available via apk yet.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.