When use the command 'block' for disks lib reference error occur as below.
Please take care of it.
You want fries with that ?
Report it, after checking it isn't known.
Or have you by any chance updated any packages?
Hostle
January 4, 2025, 2:15pm
3
have you tried a symlink ...
ln -s /lib/libubus.so.20250102 /lib/libubus.so.20241020
this information would be helpful.
1 Like
I will take the way to report it.
I have install the packages properly. But link.
Thanks.
Hostle
January 4, 2025, 2:41pm
6
The strange thing is, block is linked against ubus. So I am puzzled as to how it even managed to compile, or more specifically, linked, to the missing ubus shared library ...
hnyman
January 4, 2025, 2:46pm
7
Ubus has been recently updated in 24.10. see it in the commit log of 24.10
https://git.openwrt.org/?p=openwrt/openwrt.git;a=shortlog;h=refs/heads/openwrt-24.10
Most packages get continuously recompiled, so the ABI versioned linkage in them should fix itself in a few days.
But some packages are marked target build specific, and will stay at rc4 compilation. So, some link errors will surface.
If you compile from scratch with full toolchain, you will get a coherent build.
(It is not really a bug, but an artefact of the two-stage build process in the buildbot.
5 Likes
hnyman
January 5, 2025, 2:19pm
10
@robimarko
You might read this from year 2021 (and the background info/analysis messages last need in PR):
openwrt:master
← hnyman:nonshared
opened 03:38PM - 06 Jun 21 UTC
cc @aparcar
Mark uci, ubus, libubox, lua, libnl-tiny and libjson-c as nonsha… red packages. This helps to keep coherent dependencies if these ABI versioned packages are later updated.
Before this commit it is possible to get missing dependencies in target-specific nonshared packages (like iwinfo) that depend on these shared ABI versioned packages. If these are later updated and rebuilt, only the new ABI version will be available for download, while the target-specific packages in releases continue to depend on the old ABI version.
After this commit the packages are built along the other nonshared packages by the phase1 images buildbot and will be available at the target/ download directories instead of packages/base dir. That will help to keep a coherent set available.
Reference to:
https://lists.openwrt.org/pipermail/openwrt-devel/2021-June/035436.html
https://lists.openwrt.org/pipermail/openwrt-devel/2021-June/035442.html
(This should probably be also backported to at least 21.02, but preferably just a before the rc3 or release, as applying this will soon remove the old shared packages, so the packages need to be in the available nonshared repos.)
**Background:**
Based on forum discussion, we have currently a broken 21.02.0-rc2 imagebuilder, as libiwinfo can't find the correct libubus version.
https://forum.openwrt.org/t/21-02-0-rc2-build-error-on-libubus20210215/98373
My analysis leading to the PR:
* ubus is a normal (shared) package in the packages/ downloads dir
* the nonshared libiwinfo depends on libubus with ABI specification.
* ubus has been updated since rc2, so new ubus and libubus versions are now
offered for download
* The nonshared libiwinfo is located in the target/ download directory of
rc2, and it still depends on the older libubus with the old ABI version. And
that old libubus version has already been replaced by the newer libubus
version in the normal packages download dir.
The libubus dependency difference is visible in the libiwinfo package metadata:
libiwinfo from 21.02-SNAPSHOT:
```
Package: libiwinfo20210106
Version: 2021-01-31-4a32b33e-1
Depends: libc, libnl-tiny1, libuci20130104, libubus20210603
```
From rc2:
```
Package: libiwinfo20210106
Version: 2021-01-31-4a32b33e-1
Depends: libc, libnl-tiny1, libuci20130104, libubus20210215
```
I went through the ~60 instances of "nonshared" packages in the main OpenWrt repo, and found that toggling six packages to nonshared would solve the common problems:
libubox, ubus, uci, lua, libjson-c, libnl-tiny
Additionally also elfutils (libelf, libdw) could be toggled to nonshared, but as that is only needed for the non-default "perf" package, I do not find it that important.
That PR was first merged in, but then reverted as also this solution attempt was seen as problematic.
I built the 21.02.0-rc-2 the other day with the image builder "openwrt-imagebuilder-21.02.0-rc2-mvebu-cortexa9.Linux-x86_64.tar.xz" for the WRT3200ACM and want to build it again today with a couple of changes but I got the following error:
Collected errors:
pkg_hash_fetch_best_installation_candidate: Packages for libiwinfo20210106 found, but incompatible with the architectures configured
satisfy_dependencies_for: Cannot satisfy the following dependencies for luci:
libubus20210215
opkg_in…
Well, then we will keep on having this kind of dependency out-of-sync issues.
I mean, this will eventually get fixed up with RC5
hnyman
January 5, 2025, 6:36pm
12
Yeah, when this kind of dependency critical packages get updated in release branches, the only real cure is a new RC or release.
Main/master snapshot binaries will get fixed in the next 1-2 buildbot build rounds.
2 Likes
system
Closed
January 15, 2025, 6:37pm
13
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.