Bug 1224227 - [15.6] dependency problem in package management breaks zypper if base package management files not upgraded by zypper dup
Summary: [15.6] dependency problem in package management breaks zypper if base package...
Status: RESOLVED FIXED
Alias: None
Product: PUBLIC SUSE Linux Enterprise Desktop 15 SP6
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: unspecified
Hardware: x86-64 Other
: P2 - High : Normal
Target Milestone: ---
Assignee: Michael Andres
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-14 17:40 UTC by Felix Miata
Modified: 2024-07-14 09:56 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Miata 2024-05-14 17:40:56 UTC
Original summary:
[15.6] dependency problem in package management breaks zypper if base package management files not upgraded by zypper dup

To reproduce:
# zypper ref
Repository 'FCL-leap' is up to date.
Repository 'KDE3' is up to date.
Repository 'NonOSS' is up to date.
Repository 'OSS' is up to date.
Repository 'Update' is up to date.
Repository 'UpdateBP' is up to date.
Repository 'UpdateNonOSS' is up to date.
Repository 'UpdateSLE' is up to date.
Repository 'openh264' is up to date.
All repositories have been refreshed.
# zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem && zypper -v in --download-in-advance device-mapper glibc mdadm systemd udev aaa_base [1]
Verbosity: 2
Non-option program arguments: 'rpm' 'zypper' 'libzypp' 'libsolv-tools' 'openSUSE-release' 'coreutils' 'filesystem'
Initializing Target
Checking whether to refresh metadata for NonOSS
Checking whether to refresh metadata for OSS
Checking whether to refresh metadata for Update
Checking whether to refresh metadata for UpdateBP
Checking whether to refresh metadata for UpdateNonOSS
Checking whether to refresh metadata for UpdateSLE
Loading repository data...
Reading installed packages...
'coreutils' is already installed.
No update candidate for 'coreutils-8.32-150400.9.3.1.x86_64'. The highest available version is already installed.
Selecting 'rpm-4.14.3-150400.59.13.1.x86_64' from repository 'OSS' for installation.
Selecting 'zypper-1.14.71-150600.8.1.x86_64' from repository 'OSS' for installation.
'filesystem' is already installed.
No update candidate for 'filesystem-15.0-11.8.1.x86_64'. The highest available version is already installed.
'libsolv-tools' is already installed.
No update candidate for 'libsolv-tools-0.7.28-150400.3.16.2.x86_64'. The highest available version is already installed.
Selecting 'libzypp-17.32.4-150600.1.1.x86_64' from repository 'OSS' for installation.
Selecting 'openSUSE-release-15.6-lp156.405.1.x86_64' from repository 'OSS' for installation.
Resolving package dependencies...
Force resolution: No

The following 7 packages are going to be upgraded:
  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.6 -> 17.32.4-150600.1.1
  openSUSE-release      15.6-lp156.383.1 -> 15.6-lp156.405.1
  rpm                   4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.1

The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1

The following NEW package is going to be installed:
  libabsl2401_0_0  20240116.1-150600.17.5

7 packages to upgrade, 1 new.
Overall download size: 0 B. Already cached: 8.7 MiB. After the operation, additional 3.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
committing
In cache libabsl2401_0_0-20240116.1-150600.17.5.x86_64.rpm                                                                                                               (1/8), 495.6 KiB
In cache openSUSE-release-15.6-lp156.405.1.x86_64.rpm                                                                                                                    (2/8), 734.7 KiB
In cache rpm-4.14.3-150400.59.13.1.x86_64.rpm                                                                                                                            (3/8),   1.5 MiB
In cache libzypp-17.32.4-150600.1.1.x86_64.rpm                                                                                                                           (4/8),   3.2 MiB
In cache zypper-1.14.71-150600.8.1.x86_64.rpm                                                                                                                            (5/8),   1.7 MiB
In cache yast2-pkg-bindings-4.6.5-150600.1.3.x86_64.rpm                                                                                                                  (6/8), 491.1 KiB
In cache libyui-qt-pkg16-4.5.3-150500.3.5.10.x86_64.rpm                                                                                                                  (7/8), 326.3 KiB
In cache libyui-ncurses-pkg16-4.5.3-150500.3.5.11.x86_64.rpm                                                                                                             (8/8), 277.4 KiB

Checking for file conflicts: ..........................................................................................................................................................[done]
(1/8) Installing: libabsl2401_0_0-20240116.1-150600.17.5.x86_64 .......................................................................................................................[done]
(2/8) Installing: openSUSE-release-15.6-lp156.405.1.x86_64 ............................................................................................................................[done]
Updating /etc/sysconfig/services ...
(3/8) Installing: rpm-4.14.3-150400.59.13.1.x86_64 ....................................................................................................................................[done]
(4/8) Installing: libzypp-17.32.4-150600.1.1.x86_64 ...................................................................................................................................[done]
warning: /etc/zypp/zypper.conf created as /etc/zypp/zypper.conf.rpmnew
(5/8) Installing: zypper-1.14.71-150600.8.1.x86_64 ....................................................................................................................................[done]
(6/8) Installing: yast2-pkg-bindings-4.6.5-150600.1.3.x86_64 ..........................................................................................................................[done]
(7/8) Installing: libyui-qt-pkg16-4.5.3-150500.3.5.10.x86_64 ..........................................................................................................................[done]
(8/8) Installing: libyui-ncurses-pkg16-4.5.3-150500.3.5.11.x86_64 .....................................................................................................................[done]
Running post-transaction scripts ......................................................................................................................................................[done]
CommitResult  (total 8, done 8, error 0, skipped 0, updateMessages 0)
Checking for running processes using deleted libraries...

Actual results:
zypper: symbol lookup error: /usr/lib64/libzypp.so.1732: undefined symbol: _ZN6google8protobuf8internal14UntypedMapBase12TransferTreeEPN4absl12lts_202401169btree_mapINS1_10VariantKeyEPNS1_8NodeBaseESt4lessIS6_ENS1_12MapAllocatorISt4pairIKS6_S8_EEEEEPFS6_S8_E
gx745:~ # rpm -qa zyp

Expected results:
Zypper still works.

This began sometime prior to openSUSE 15.6 beta release.
rpm still works.

[1] I've been running the following script (as evolved over time) as a prequel to any zypper up or zypper dup for approximately 10 years:
# cat /usr/local/bin/zypstart
#!/bin/bash
# /usr/local/zypstart
rm /etc/zypp/repos.d/repo*.repo 2> /dev/null
zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem
rm /etc/zypp/repos.d/repo*.repo 2> /dev/null
zypper -v in --download-in-advance device-mapper glibc mdadm systemd udev aaa_base
rm /etc/zypp/repos.d/repo*.repo 2> /dev/null
#
Comment 1 Radoslav Tzvetkov 2024-05-15 11:48:20 UTC
Micahael, can you please look at this problem.
Comment 2 Felix Miata 2024-05-19 23:04:56 UTC
I just tried to reproduce this on 15.6 host ab560. 

  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.7 -> 17.32.4-150600.1.2
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2

libzypp here started with a newer version than comment #0 started with, & upgraded to a newer new version.
zypper here started with the same version as comment #0, but also upgraded to a newer new version.

Failure failed to reproduce. Zypper still works. I still have others to test.
Comment 3 Michael Andres 2024-05-21 17:20:31 UTC
This is a duplicate of bug 1223402. 

In https://bugzilla.suse.com/show_bug.cgi?id=1223402#c5 Marcus stated that this is due to missbuilt abseil/protobuf libraries and should have been fixed in the publicrc.
Comment 4 Felix Miata 2024-05-21 20:11:07 UTC
Another success in reproducing failure, from a system last zypper dup'd 4 April:
# inxi -SCMz --hostname
System:
  Host: hp945 Kernel: 6.4.0-150600.10-default arch: x86_64 bits: 64
  Console: pty pts/1 Distro: openSUSE Leap 15.6
Machine:
  Type: Desktop System: HP-Pavilion product: RX900AA-ABA a6010n v: N/A
    serial: <filter>
  Mobo: ASUSTek model: LEONITE v: 5.00 serial: <filter> BIOS: Phoenix
    v: 5.10 date: 01/30/2007
CPU:
  Info: dual core model: Intel Core2 6600 bits: 64 type: MCP cache: L2: 4 MiB
  Speed (MHz): avg: 1600 min/max: 1600/2400 cores: 1: 1600 2: 1600
#
...
# zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem
...
The following 7 packages are going to be upgraded:
  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.6 -> 17.32.4-150600.1.2
  openSUSE-release      15.6-lp156.388.1 -> 15.6-lp156.408.1
  rpm                   4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2
...
The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1
...
Running post-transaction scripts ......................................................................................................................................................[done]
CommitResult  (total 8, done 8, error 0, skipped 0, updateMessages 0)
Checking for running processes using deleted libraries...
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.

# time zypper -v dup
zypper: symbol lookup error: /usr/lib64/libzypp.so.1732: undefined symbol: _ZN6google8protobuf8internal14UntypedMapBase12TransferTreeEPN4absl12lts_202401169btree_mapINS1_10VariantKeyEPNS1_8NodeBaseESt4lessIS6_ENS1_12MapAllocatorISt4pairIKS6_S8_EEEEEPFS6_S8_E

real    0m0.035s
user    0m0.025s
sys     0m0.009s
#
<copied binary files zypper from 27 Dec to /usr/bin/ and libzypp from 18 Mar to /usr/lib64/ over those freshly installed> 
# zypper -v dup
Verbosity: 2
Initializing Target
Checking whether to refresh metadata for NonOSS
...
Computing distribution upgrade...
...
CommitResult  (total 286, done 286, error 0, skipped 0, updateMessages 0)
Checking for running processes using deleted libraries...
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.
#
It's OK now.
Comment 5 Felix Miata 2024-05-21 20:25:50 UTC
Oops. Not "now":
# zypink
zypper -v in kernel-default
zypper: symbol lookup error: /usr/lib64/libzypp.so.1722: undefined symbol: _ZN6google8protobuf11MessageLite15ParseFromStringEN4absl12lts_2023080211string_viewE
#
But - /after/ reinstalling the fresh zypper and libzypp rpms with rpm. :p
# zypsek
zypper --no-refresh se -sx kernel-default kernel-longterm | grep -Ev 'srcp|oading|eading' | grep -E 'x86_64|noarch'
il | kernel-default | package | 6.4.0-150600.10.4 | x86_64 | (System Packages)
il | kernel-default | package | 6.4.0-150600.5.2  | x86_64 | (System Packages)
vl | kernel-default | package | 6.4.0-150600.21.1 | x86_64 | OSS
# zypink
zypper -v in kernel-default
Verbosity: 2
Non-option program arguments: 'kernel-default'
...
Running post-transaction scripts ......................................................................................................................................................[done]
CommitResult  (total 1, done 1, error 0, skipped 0, updateMessages 0)
#
Really now it's OK.
Comment 6 Felix Miata 2024-05-22 06:30:00 UTC
Another failure, from a 15.6 last dup'd 10 April:
# inxi -S
System:
  Host: big31 Kernel: 6.4.0-150600.12-default arch: x86_64 bits: 64
  Console: pty pts/1 Distro: openSUSE Leap 15.6 Beta
big31:~ # zypper ref
Repository 'FCL-leap' is up to date....
All repositories have been refreshed.
# zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem
...
The following 7 packages are going to be upgraded:
  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.6 -> 17.32.4-150600.1.2
  openSUSE-release      15.6-lp156.390.1 -> 15.6-lp156.408.1
  rpm                   4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2

The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1

The following NEW package is going to be installed:
  libabsl2401_0_0  20240116.1-150600.17.6
...
.....................................................................[done]
CommitResult  (total 8, done 8, error 0, skipped 0, updateMessages 0)
Checking for running processes using deleted libraries...

# zypper lr
zypper: symbol lookup error: /usr/lib64/libzypp.so.1732: undefined symbol: _ZN6google8protobuf8internal14UntypedMapBase12TransferTreeEPN4absl12lts_202401169btree_mapINS1_10VariantKeyEPNS1_8NodeBaseESt4lessIS6_ENS1_12MapAllocatorISt4pairIKS6_S8_EEEEEPFS6_S8_E

<So again I copied the zypper & libzypp backups.>
# zypper lr
Repository priorities in effect:                                                                                                                             (See 'zypper lr -P' for details)
...
17 | repo-sle-update             | Yes     | ( p) Yes  | http://download.opensuse.org/update/leap/15.6/sle/
# time zypper -v dup
Verbosity: 2
...
The following 4 patterns are going to be upgraded:
  base           20200505-lp156.15.1 -> 20200505-lp156.16.1
  basic_desktop  20200505-lp156.15.1 -> 20200505-lp156.16.1
  minimal_base   20200505-lp156.15.1 -> 20200505-lp156.16.1
  x11            20200505-lp156.15.1 -> 20200505-lp156.16.1

The following 4 packages are going to be downgraded:
  liblzma5               5.4.6-150600.1.16 -> 5.4.1-150600.1.2
  libopenblas_pthreads0  0.3.25-150600.2.6 -> 0.3.25-150500.4.5.2
  systemd-rpm-macros     15-150600.1.2 -> 15-150000.7.39.1
  xz                     5.4.6-150600.1.16 -> 5.4.1-150600.1.2

The following package is going to be reinstalled:
  fileshareset  2.0-1.oss155

The following 2 NEW packages are going to be installed:
  libevent-2_1-7  2.1.12-150600.1.2
  libnfsidmap1    1.0-150600.26.2

The following 3 packages are going to be REMOVED:
  libabsl2308_0_0  20230802.1-150400.10.4.1
  libesd0          0.2.41-1.oss155
  nfsidmap         0.26-150000.3.7.1

379 packages to upgrade, 4 to downgrade, 2 new, 1 to reinstall, 3 to remove.
Overall download size: 260.7 MiB. Already cached: 0 B. After the operation, additional 775.2 KiB will be used.
...
(246/388) Installing: xterm-330-150200.11.15.1.x86_64 .................................................................................................................................[done]
Retrieving: systemd-254.10-150600.2.2.x86_64 (OSS)                                                                                                                   (245/386),   3.7 MiB
Retrieving: systemd-254.10-150600.2.2.x86_64.rpm ..........................................................................................................................[done (5.1 MiB/s)]
/usr/lib/systemd/rpm/fixlet-systemd-post.sh: line 222: /bin/stat: Input/output error
Incorrect file mode bits for /etc/machine-id which should be 0444, fixing...
touch: cannot touch '/var/lib/systemd/rpm/systemd-pre_210_fixed': Input/output error
find: '/etc/systemd/system/timesync.conf.d': Input/output error
find: '/etc/systemd/system/man-db.timer.d': Input/output error
touch: cannot touch '/var/lib/systemd/rpm/systemd-i18n_migrated': Input/output error
/usr/lib/systemd/rpm/fixlet-systemd-post.sh: line 116: /etc/locale.conf: Read-only file system
The content of /etc/sysconfig/language has been migrated into
/etc/locale.conf. The former file is now only used for setting
the locale used by user's shells. The system-wide locale is
only read from /etc/locale.conf since now.
Please only use localectl(1) or YaST if you need to change the
settings of the *system-wide* locale from now.
chmod: changing permissions of '/var/lib/systemd/timers/stamp-fstrim.timer': Read-only file system
chmod: changing permissions of '/var/lib/systemd/timers/stamp-logrotate.timer': Read-only file system
chmod: changing permissions of '/var/lib/systemd/timers/stamp-mandb.timer': Read-only file system
chmod: changing permissions of '/var/lib/systemd/timers/stamp-mlocate.timer': Read-only file system
error: error creating temporary file /var/tmp/rpm-tmp.sP0c1Z: Read-only file system
error: Couldn't create temporary file for %postun(systemd-254.9-150600.2.15.x86_64): Read-only file system
error: rpmdb: ftruncate: 108646400: Read-only file system
error: db4 error(30) from dbcursor->c_del: Read-only file system
error: rpmdb: fsync: Read-only file system
error: db4 error(30) from db->sync: Read-only file system
error: rpmdb: fsync: Unknown error -1
error: db4 error(-1) from db->close: Unknown error: -1
error: rpmdb: Packages: unable to flush: Read-only file system
error: db4 error(30) from dbenv->close: Read-only file system
(247/388) Installing: systemd-254.10-150600.2.2.x86_64 ................................................................................................................................[done]
Retrieving: systemd-sysvcompat-254.10-150600.2.2.x86_64 (OSS)                                                                                                        (246/386), 294.3 KiB
Retrieving: systemd-sysvcompat-254.10-150600.2.2.x86_64.rpm ..............................................................................................................[error (5.1 MiB/s)]
Cannot write file '/var/tmp/AP_0xYLQoXW/x86_64/systemd-sysvcompat-254.10-150600.2.2.x86_64.rpm.new.zypp.XXXXXX'.
Abort, retry, ignore? [a/r/i/...? shows all options] (a): r
Bad media attach point: http://cdn.opensuse.org/distribution/leap/15.6/repo/oss/
History:
 - Create attach point: Can't find a writable directory to create an attach point

Abort, retry, ignore? [a/r/i/...? shows all options] (a): a
Warning: %posttrans scripts skipped while aborting:
    login_defs-4.8.1-150600.15.45.noarch
    ucode-intel-20240312-150200.38.1.x86_64
    openssl-1_1-1.1.1w-150600.3.9.x86_64
    mdadm-4.3-150600.1.27.x86_64
    sg3_utils-1.48+10.1532339-150600.1.3.x86_64
    kmod-29-150600.11.4.x86_64
    shadow-4.8.1-150600.15.45.x86_64
    e2fsprogs-1.47.0-150600.2.26.x86_64
    device-mapper-2.03.22_1.02.196-150600.1.3.x86_64
    cryptsetup-2.7.0-150600.1.4.x86_64
    kpartx-0.9.8+88+suse.d504d83-150600.1.2.x86_64
    xterm-330-150200.11.15.1.x86_64


Problem occurred during or after installation or removal of packages:
<reboot to maintenance sys; e2fsck /dev/sda13; mount /dev/sda13/ /mnt; fstrim -v /mnt; reboot to 15.6>
# zypper -v dup
Verbosity: 2
...
The following 3 patterns are going to be upgraded:
  base           20200505-lp156.15.1 -> 20200505-lp156.16.1
  basic_desktop  20200505-lp156.15.1 -> 20200505-lp156.16.1
  x11            20200505-lp156.15.1 -> 20200505-lp156.16.1

The following package is going to be reinstalled:
  fileshareset  2.0-1.oss155

161 packages to upgrade, 1 to reinstall.
Overall download size: 133.2 MiB. Already cached: 3.7 MiB. After the operation, additional 1.5 MiB will be used.

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y):
...
Running post-transaction scripts ......................................................................................................................................................[done]
CommitResult  (total 162, done 162, error 0, skipped 0, updateMessages 0)
Checking for running processes using deleted libraries...
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.
#
<reboot>
It's OK after forced reinstallation of zypper and libzypp:
# inxi -S
System:
  Host: big31 Kernel: 6.4.0-150600.21-default arch: x86_64 bits: 64
  Desktop: TDE (Trinity) v: R14.1.2 Distro: openSUSE Leap 15.6
Comment 7 Marcus Meissner 2024-05-22 08:14:38 UTC
rpm -q libprotobuf-lite25_1_0

? 

it should be libprotobuf-lite25_1_0-25.1-150600.14.3
Comment 8 Felix Miata 2024-05-23 01:35:56 UTC
(In reply to Marcus Meissner from comment #7)
> rpm -q libprotobuf-lite25_1_0
> 
> ? 
> 
> it should be libprotobuf-lite25_1_0-25.1-150600.14.3

When?

Comment 6 host big31:
# grep buf-lit /var/log/zypp/history | tail -5
2023-07-30 21:21:04|install|libprotobuf-lite20|3.9.2-150200.4.21.1|x86_64||UpdateSLE|...
2024-03-19 01:08:01|install|libprotobuf-lite25_1_0|25.1-150400.9.3.1|x86_64||OSS|...
2024-05-22 01:45:15|install|libprotobuf-lite25_1_0|25.1-150600.14.3|x86_64||OSS|...
2024-05-22 18:22:02|command|root@big31|'zypper' 'rm' 'libprotobuf-lite20'|
2024-05-22 18:22:02|remove |libprotobuf-lite20|3.9.2-150200.4.21.1|x86_64|root@big31|

Comment 6 host hp945:
# grep buf-lit /var/log/zypp/history | tail -5
2024-02-25 20:22:17|install|libprotobuf-lite20|3.9.2-150200.4.21.1|x86_64||openSUSE-Leap-15.6-1|
2024-04-04 22:51:40|install|libprotobuf-lite25_1_0|25.1-150400.9.3.1|x86_64||OSS|
2024-05-21 15:59:27|install|libprotobuf-lite25_1_0|25.1-150600.14.3|x86_64||OSS|

Comment 6 host gx745 (last updated 2024-05-14):
# grep buf-lit /var/log/zypp/history | tail -5
2024-03-28 22:26:52|install|libprotobuf-lite25_1_0|25.1-150400.9.3.1|x86_64||OSS|
2024-05-14 14:12:15|install|libprotobuf-lite25_1_0|25.1-150600.14.2|x86_64||OSS|

On host gx780 last zypper dup'd 2024-040-15:
# inxi -S
System:
  Host: gx780 Kernel: 6.4.0-150600.12-default arch: x86_64 bits: 64
  Console: pty pts/1 Distro: openSUSE Leap 15.6 Beta
# zypper ref
Repository 'FCL-leap' is up to date.
...
All repositories have been refreshed.
# rpm -qa | egrep 'buf-lit|zyp'
zypper-1.14.68-150400.3.40.2.x86_64
libprotobuf-lite25_1_0-25.1-150400.9.3.1.x86_64
libprotobuf-lite20-3.9.2-150200.4.21.1.x86_64
libzypp-17.31.31-150600.8.6.x86_64
# rpm -e libprotobuf-lite20
# zypper -v in -d rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem libprotobuf-lite25_1_0
Verbosity: 2
...
The following 8 packages are going to be upgraded:
  libprotobuf-lite25_1_0  25.1-150400.9.3.1 -> 25.1-150600.14.3
  libyui-ncurses-pkg16    4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16         4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp                 17.31.31-150600.8.6 -> 17.32.4-150600.1.2
  openSUSE-release        15.6-lp156.390.1 -> 15.6-lp156.408.1
  rpm                     4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings      4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                  1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2

The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1

The following NEW package is going to be installed:
  libabsl2401_0_0  20240116.1-150600.17.6

8 packages to upgrade, 1 new.
Overall download size: 8.9 MiB. Already cached: 0 B. Download only.
Continue? [y/n/v/...? shows all options] (y): y
committing
...
CommitResult  (total 9, done 0, error 0, skipped 9, updateMessages 0)
# zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem
Verbosity: 2
...
The following 7 packages are going to be upgraded:
  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.6 -> 17.32.4-150600.1.2
  openSUSE-release      15.6-lp156.390.1 -> 15.6-lp156.408.1
  rpm                   4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2

The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1

The following NEW package is going to be installed:
  libabsl2401_0_0  20240116.1-150600.17.6

7 packages to upgrade, 1 new.
Overall download size: 0 B. Already cached: 8.7 MiB. After the operation, additional 3.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
committing
...
to benefit from the latest updates. Run 'zypper ps -s' to list these programs.

# zypper se -s libprotobuf-lite25
zypper: symbol lookup error: /usr/lib64/libzypp.so.1732: undefined symbol: _ZN6google8protobuf8internal14UntypedMapBase12TransferTreeEPN4absl12lts_202401169btree_mapINS1_10VariantKeyEPNS1_8NodeBaseESt4lessIS6_ENS1_12MapAllocatorISt4pairIKS6_S8_EEEEEPFS6_S8_E
# rpm -ivh /var/cache/zypp/packages/OSS/x86_64/libprotobuf-lite25_1_0-25.1-150600.14.3.x86_64.rpm
Preparing...                          ################################# [100%]
        file /usr/lib64/libprotobuf-lite.so.25.1.0 from install of libprotobuf-lite25_1_0-25.1-150600.14.3.x86_64 conflicts with file from package libprotobuf-lite25_1_0-25.1-150400.9.3.1.x86_64
# rpm -Uvh /var/cache/zypp/packages/OSS/x86_64/libprotobuf-lite25_1_0-25.1-150600.14.3.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:libprotobuf-lite25_1_0-25.1-15060################################# [ 50%]
Cleaning up / removing...
   2:libprotobuf-lite25_1_0-25.1-15040################################# [100%]
# zypper se -s libprotobuf-lite25
Retrieving repository 'Update repository of openSUSE Backports' metadata ...
#

So, clearly zypper and/or libzypp is depending on libprotobuf-lite25 _1_0, but not recognized as so.
Comment 9 Felix Miata 2024-05-23 01:42:50 UTC
Comment #8 copy/paste errors (typos):
"Comment 6 host hp945:" was supposed to be "Comment 4 host hp945:"
"Comment 6 host gx745:" was supposed to be "Comment 0 host gx745:"
Comment 10 Michael Andres 2024-05-23 15:04:07 UTC
(In reply to Felix Miata from comment #8)
> So, clearly zypper and/or libzypp is depending on libprotobuf-lite25 _1_0,
> but not recognized as so.

# rpm -q libzypp --requires | grep proto
libprotobuf-lite.so.25.1.0()(64bit)

It is recognized, but apparently there is a symbol mess below libprotobuf if packages from 15.5 and 15.6 are mixed.

The problem appears to be that 

on 15.5
 libzypp-17.32.4-150400.3.64.1.x86_64(@System)
 Requires:
  libabsl_hash.so.2308.0.0()(64bit)
  libabsl_log_internal_message.so.2308.0.0()(64bit)
  libabsl_log_internal_check_op.so.2308.0.0()(64bit)
  libprotobuf-lite.so.25.1.0()(64bit)

on 15.6 
 libzypp-17.32.4-150600.1.2.x86_64(repo-oss)
 Requires:
  libabsl_hash.so.2401.0.0()(64bit)
  libabsl_log_internal_check_op.so.2401.0.0()(64bit)
  libabsl_log_internal_message.so.2401.0.0()(64bit)
  libprotobuf-lite.so.25.1.0()(64bit)


So the package dependencies do allow using libprotobuf-lite from 15.5 together with a libzypp from 15.6. 

Unfortunately libprotobuf-lite on 15.5 uses libabsl 2308 while 
the one from 15.6 - the one libzypp was built against - used libabsl 2401.

This creates the issue at runtime, if packages from 15.5 and 15.6 are mixed.


If you don't use 'zypper up' (or dup) you should explicitly add libprotobuf-lite when updating libzypp only.


ATM we're working on removing our dependency to libprotobuf, which will solve this issue as well.
Comment 11 Felix Miata 2024-05-24 05:44:57 UTC
(In reply to Michael Andres from comment #10)
> If you don't use 'zypper up' (or dup) you should explicitly add
> libprotobuf-lite when updating libzypp only.

That creates an issue here, because I'm doing it from a routine script used for all Leap, Slowroll and TW versions, and "libprotobuf-lite" isn't the package name across all these distros, but has a version string injected into its name, so this is what happened when I tried it literally on 15.6 host msi85:

# zypstart
zypper -v in --download-in-advance rpm zypper libzypp libsolv-tools openSUSE-release coreutils filesystem libprotobuf-lite
Verbosity: 2
Non-option program arguments: 'rpm' 'zypper' 'libzypp' 'libsolv-tools' 'openSUSE-release' 'coreutils' 'filesystem' 'libprotobuf-lite'
Initializing Target
...
'coreutils' is already installed.
No update candidate for 'coreutils-8.32-150400.9.3.1.x86_64'. The highest available version is already installed.
Selecting 'rpm-4.14.3-150400.59.13.1.x86_64' from repository 'OSS' for installation.
Selecting 'zypper-1.14.71-150600.8.2.x86_64' from repository 'OSS' for installation.
'filesystem' is already installed.
No update candidate for 'filesystem-15.0-11.8.1.x86_64'. The highest available version is already installed.
'libsolv-tools' is already installed.
No update candidate for 'libsolv-tools-0.7.28-150400.3.16.2.x86_64'. The highest available version is already installed.
Selecting 'libzypp-17.32.4-150600.1.2.x86_64' from repository 'OSS' for installation.
Selecting 'openSUSE-release-15.6-lp156.408.1.x86_64' from repository 'OSS' for installation.
'libprotobuf-lite' not found in package names. Trying capabilities.
No provider of 'libprotobuf-lite' found.
Resolving package dependencies...
Force resolution: No

The following 7 packages are going to be upgraded:
  libyui-ncurses-pkg16  4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.11
  libyui-qt-pkg16       4.5.3-150500.3.3.1 -> 4.5.3-150500.3.5.10
  libzypp               17.31.31-150600.8.6 -> 17.32.4-150600.1.2
  openSUSE-release      15.6-lp156.388.1 -> 15.6-lp156.408.1
  rpm                   4.14.3-150400.59.7.1 -> 4.14.3-150400.59.13.1
  yast2-pkg-bindings    4.6.5-150600.1.2 -> 4.6.5-150600.1.3
  zypper                1.14.68-150400.3.40.2 -> 1.14.71-150600.8.2

The following product is going to be reinstalled:
  openSUSE Leap 15.6  15.6-1

The following NEW package is going to be installed:
  libabsl2401_0_0  20240116.1-150600.17.6

7 packages to upgrade, 1 new.
Overall download size: 8.7 MiB. Already cached: 0 B. After the operation, additional 3.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): n
#
I must lookup the actual current name of libprotobuf-lite, then either modify the script for each use of the script at required, or not use the script, and to use in a manual substitute for the script. Optionally, use the script with "libprotobuf-lite*", which in principal I don't much like (but which I tried on host 15.6 host msi85, and it worked, sort of).

I had to strike ignore several times during zypper dup, and this turned up in journal:
# journalctl -b | grep -A1 -B1 failure
May 24 00:02:15 msi85 [RPM][3979]: erase openssh-server-9.3p2-150600.2.3.x86_64: success
May 24 00:02:15 msi85 [RPM][3979]: scriptlet %prein(openssh-server-9.6p1-150600.4.1.x86_64) failure: 2
May 24 00:02:15 msi85 [RPM][3979]: install openssh-server-9.6p1-150600.4.1.x86_64: failure
May 24 00:02:15 msi85 [RPM][3979]: 1 elements failed, 1 scripts failed
--
May 24 00:04:27 msi85 [RPM][5537]: erase polkit-121-150500.1.6.x86_64: success
May 24 00:04:27 msi85 [RPM][5537]: scriptlet %prein(polkit-121-150500.3.3.1.x86_64) failure: 2
May 24 00:04:27 msi85 [RPM][5537]: install polkit-121-150500.3.3.1.x86_64: failure
May 24 00:04:27 msi85 [RPM][5537]: 1 elements failed, 1 scripts failed
--
May 24 00:04:48 msi85 [RPM][5804]: erase rtkit-0.13-150600.1.2.x86_64: success
May 24 00:04:48 msi85 [RPM][5804]: scriptlet %prein(rtkit-0.13-150600.1.3.x86_64) failure: 2
May 24 00:04:48 msi85 [RPM][5804]: install rtkit-0.13-150600.1.3.x86_64: failure
May 24 00:04:48 msi85 [RPM][5804]: 1 elements failed, 1 scripts failed
--
May 24 00:08:22 msi85 [RPM][8119]: erase openssh-server-9.3p2-150600.2.3.x86_64: success
May 24 00:08:22 msi85 [RPM][8119]: scriptlet %prein(openssh-server-9.6p1-150600.4.1.x86_64) failure: 2
May 24 00:08:22 msi85 [RPM][8119]: install openssh-server-9.6p1-150600.4.1.x86_64: failure
May 24 00:08:22 msi85 [RPM][8119]: 1 elements failed, 1 scripts failed
--
May 24 00:10:30 msi85 [RPM][8215]: erase polkit-121-150500.1.6.x86_64: success
May 24 00:10:30 msi85 [RPM][8215]: scriptlet %prein(polkit-121-150500.3.3.1.x86_64) failure: 2
May 24 00:10:30 msi85 [RPM][8215]: install polkit-121-150500.3.3.1.x86_64: failure
May 24 00:10:30 msi85 [RPM][8215]: 1 elements failed, 1 scripts failed
--
May 24 00:10:42 msi85 [RPM][8393]: erase rtkit-0.13-150600.1.2.x86_64: success
May 24 00:10:42 msi85 [RPM][8393]: scriptlet %prein(rtkit-0.13-150600.1.3.x86_64) failure: 2
May 24 00:10:42 msi85 [RPM][8393]: install rtkit-0.13-150600.1.3.x86_64: failure
May 24 00:10:42 msi85 [RPM][8393]: 1 elements failed, 1 scripts failed
#
Zypper didn't report why rpm subprocesses were failing for these packages, but I see in /var/log/zypp/history complaints about neither useradd nor busybox found related to rtkit and polkit, and see both need upgrading. When I try zypper -v in -f rtkit polkit, rpm fails with status 1. Journal shows these rpm failures, but not why. openssh-server & polkit refuse to be upgrade, also with rpm subprocess failures. I nevertheless force installed them all with rpm --nodeps, and zypper ve finds nothing that needs fixing. ?!?!

What the * got me was extras (entirely?) unneeded:
# inxi -S
System:
  Host: msi85 Kernel: 6.4.0-150600.21-default arch: x86_64 bits: 64
  Console: pty pts/0 Distro: openSUSE Leap 15.6
# zypsei zyp buf-lite
i  | libprotobuf-lite20           | package | 3.9.2-150200.4.21.1 | x86_64 | OSS
i+ | libprotobuf-lite20-32bit     | package | 3.9.2-150200.4.21.1 | x86_64 | OSS
i+ | libprotobuf-lite25_1_0       | package | 25.1-150600.14.3    | x86_64 | OSS
i+ | libprotobuf-lite25_1_0-32bit | package | 25.1-150600.14.3    | x86_64 | OSS
i+ | libprotobuf-lite3_21_12      | package | 21.12-bp156.1.2     | x86_64 | OSS
i+ | libzypp                      | package | 17.32.4-150600.1.2  | x86_64 | OSS
i+ | zypper                       | package | 1.14.71-150600.8.2  | x86_64 | OSS
#
It's running though, with no significant failures in dmesg, but a whole bunch in journal:
# journalctl -b | grep aile | wc -l
35
#
:p
Comment 12 Michael Andres 2024-06-05 16:30:22 UTC
JFYI: We're about to get rid of the protobuf dependency
https://github.com/openSUSE/libzypp/pull/552
Comment 13 Michael Andres 2024-06-07 14:37:06 UTC
libzypp-17.34.2 will no longer use protobuf.