Issues with opkg and libatomic1 in release 21.01.0

What am I doing wrong?

Model TP-Link Archer C7 v2
Architecture Qualcomm Atheros QCA9558 ver 1 rev 0
Firmware Version OpenWrt 21.02.0 r16279-5cc0535800 / LuCI openwrt-21.02 branch git-21.231.26241-422c175

Flashed a new sysupdate image over an old LEDE build (didn't record the build number but it dates back to 2016) and asked to erase all settings. So it is a clean new install.

Refreshed package list and tried to install freeradius3. Bang! The dependency libatomic1 not available:

Details for package freeradius3

    Version: 3_0_21-2
    Size: ~179.9 KB installed
    Dependencies:
        freeradius3-common (198.3 KB) Not installed
            libopenssl1.1 (1.0 MB) Not installed
            libcap (10.0 KB) Not installed
            libpcap1 (89.8 KB) Not installed
            libncurses6 (151.2 KB) Not installed
                terminfo (6.3 KB) Not installed
            libpcre (80.4 KB) Not installed
            libreadline8 (111.3 KB) Not installed
                libncurses6 (151.2 KB) Not installed
            libtalloc (12.4 KB) Not installed
                libattr (5.8 KB) Not installed
            libatomic1 Not available

Description

A flexible RADIUS server (version 3)

    Required dependency package libatomic1 is not available in any repository.

Found a similar issue reported on github against release candidate 3 ocserv-1.1.3-1: requires non-existing libatomic1 package #15953. Tried to install ocserv. Same result:

Details for package ocserv

    Version: 1.1.3-1
    Size: ~230.9 KB installed
    Dependencies:
        libhttp-parser (14.5 KB) Not installed
        libgnutls (820.9 KB) Not installed
            libnettle8 (306.8 KB) Not installed
                libgmp10 (216.3 KB) Not installed
            libatomic1 Not available
        certtool (137.8 KB) Not installed
        libncurses6 (151.2 KB) Not installed
            terminfo (6.3 KB) Not installed
        libreadline8 (111.3 KB) Not installed
            libncurses6 (151.2 KB) Not installed
        libprotobuf-c (9.4 KB) Not installed
        libev (25.3 KB) Not installed
        kmod-tun (22.3 KB) Not installed
            kernel Installed

Description

OpenConnect server (ocserv) is an SSL VPN server. Its purpose is to be a secure, small, fast and configurable VPN server. It implements the OpenConnect SSL VPN protocol, and has also (currently experimental) compatibility with clients using the AnyConnect SSL VPN protocol. The OpenConnect VPN protocol uses the standard IETF security protocols such as TLS 1.2, and Datagram TLS to provide the secure VPN service.

    Required dependency package libatomic1 is not available in any repository.

Checked available and installed packages in Luci and libatomic1 is not on the lists.
OK. Maybe the package is simply not included in the release?
But then I manually checked repositories, and the package is actually there! Inside https://downloads.openwrt.org/releases/21.02.0/targets/ath79/generic/packages/Packages.gz we find:

Package: libatomic1
Version: 8.4.0-3
Depends: libgcc1
Provides: libatomic
License: GPL-3.0-with-GCC-exception
Section: libs
ABIVersion: 1
Status: unknown hold not-installed
Essential: yes
Architecture: mips_24kc
Installed-Size: 5459
Filename: libatomic1_8.4.0-3_mips_24kc.ipk
Size: 6240
SHA256sum: c35611eeb6ae221e224d67c2fb0b67f3ec3a026e07272986e6dcda1bd0e5f996
Description:  Atomic support library

Refreshed packages, no problem, the repository is there:

Downloading https://downloads.openwrt.org/releases/21.02.0/targets/ath79/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/21.02.0/targets/ath79/generic/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/telephony/Packages.sig
Signature check passed.

As a workaround, ended up manually installing libatomic1 package using Luci "Upload Package..." button. It worked, but I was still wondering why.

Maybe there is something wrong with my opkg configuration, but it is a new install and I did not change anything.
Decided to test it with freeradius3 from release 19.07.8. Reflashed the router with release 21.02.0 and erased all the settings. Manually installed freeradius3-common package downloaded from release 19.07.8 repository using Luci "Upload Package..." button. It worked! It found and installed libatomic1 package:

Installing freeradius3-common (3_0_21-1) to root...
Installing libcap (2.43-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/packages/libcap_2.43-1_mips_24kc.ipk
Installing libpcap1 (1.9.1-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/libpcap1_1.9.1-3_mips_24kc.ipk
Installing terminfo (6.2-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/terminfo_6.2-1_mips_24kc.ipk
Installing libncurses6 (6.2-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/libncurses6_6.2-1_mips_24kc.ipk
Installing libpcre (8.44-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/libpcre_8.44-3_mips_24kc.ipk
Installing libreadline8 (8.1-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/base/libreadline8_8.1-1_mips_24kc.ipk
Installing libattr (2.4.48-2) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/packages/libattr_2.4.48-2_mips_24kc.ipk
Installing libtalloc (2.3.1-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/mips_24kc/packages/libtalloc_2.3.1-3_mips_24kc.ipk
Installing libatomic1 (8.4.0-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/targets/ath79/generic/packages/libatomic1_8.4.0-3_mips_24kc.ipk
Configuring terminfo.
Configuring libcap.
Configuring libpcre.
Configuring libpcap1.
Configuring libncurses6.
Configuring libreadline8.
Configuring libattr.
Configuring libtalloc.
Configuring libatomic1.
Configuring freeradius3-common.

Does anyone know what's going on here???

Hey,
i don't know what's going on, but i noticed the same behaviour for that package today. And for other packages too like librt (for ntpclient).

You can always install them directly without download first:
opkg install http://downloads.openwrt.org/releases/21.02.0/targets/ath79/nand/packages/libatomic1_8.4.0-3_mips_24kc.ipk

It's worth to notice that https does not work, error:

* wfopen: https://downloads.openwrt.org/releases/21.02.0/targets/ath79/nand/packages/libatomic1_8.4.0-3_mips_24kc.ipk: No such file or directory.
* pkg_init_from_file: Failed to extract control file from https://downloads.openwrt.org/releases/21.02.0/targets/ath79/nand/packages/libatomic1_8.4.0-3_mips_24kc.ipk

Maybe that's the source of the issue, but i'm not expierenced enough to tell.

1 Like

Yeah happens here as well, and you can add wireguard to that list of occasionally missing packages. And I noticed that if I wait an hour or 2 the missing packages are suddenly available again, My best guess and this is only a guess is that some process in an OpenWRT server is rebuilding packages, backing them up, maybe compiling something etc or otherwise tying them up for a period of time and when this mysterious process is finished it releases them back for public use. No idea why. so far I have had this happen to about 8 or 10 different packages and each time I wait and they always come back.

+1... a faulty reverse proxy / load balancer would also come into the picture...

i've been tracking an odd occasional opkg 'miss' for around 2-3 months... mostly with master tho'... so the only way that would correlate (if at all) with the above issue is at a network/server level...

in my case immediately re-running (from a command line) opkg update resolves...

opkg update; opkg upgrade cgi-io

1 Like

This looks exactly what was hapenning to me, except the "Install" button was greyed out, if I remember correctly. Unfortunately, I cannot verify the fix, as I have already put the router in production.