Requirement of python packages are done through python3.13dist(solv) but is not found this way.
Submitting: RPMS: libsolv-tools-0.7.35-1.mga9 lib64solv1-0.7.35-1.mga9 python3-solv-0.7.35-1.mga9 perl-solv-0.7.35-1.mga9 lib64solv-devel-0.7.35-1.mga9 ruby-solv-0.7.35-1.mga9 libsolv-doc-0.7.35-1.mga9 libsolv-demo-0.7.35-1.mga9 libsolv-demo-debuginfo-0.7.35-1.mga9 SRPM: libsolv-0.7.35
The update submits the same version as cauldron, with a patch from Fedora which allows the production of metadata. They are used by rpm macro python_provide for generating the provides. https://bugzilla.redhat.com/show_bug.cgi?id=2252743 https://src.fedoraproject.org/rpms/libsolv/blob/rawhide/f/0001-Python-Provide-dist-info-metadata.patch Libsolv is used by dnf and zypp.
CC: (none) => maat-mlAssignee: python => qa-bugs
The new metadata files look incomplete and pip can show errors, for example: $ pip show -f solv Name: solv Version: 0.7.35 Summary: Home-page: Author: Author-email: License: Location: /usr/lib64/python3.10/site-packages Requires: Required-by: Files: Cannot locate RECORD or installed-files.txt It does appear sufficient, though, to satisfy pip that the "solv" dependency is available: Requirement already satisfied: solv in /usr/lib64/python3.10/site-packages (from urpm==0.2.1) (0.7.35) I don't know if this state will cause other problems, but there are a number of other packages that do the same, so maybe it's (mostly) harmless. This is the only package that I've seen that doesn't include an INSTALLER file, though, but I don't know if that will cause any harm.
CC: (none) => dan
I'm trying to figure out what's really broken and why we need this fix/update in Mageia 9? Mageia 9 was released a long time ago and we have managed to live without pythondist() provide for libsolv so far.
CC: (none) => jani.valimaa
MGA9-64 server Plasma Wayland on Compaq H000SB No installation issues. Cfr. info above: $ pip show -f solv Name: solv Version: 0.7.35 Summary: Home-page: Author: Author-email: License: Location: /usr/lib64/python3.10/site-packages Requires: Required-by: Files: Cannot locate RECORD or installed-files.txt # strace -o solv.txt dnf -v check Failed loading plugin "changelog": No module named 'six' Loaded plugins: builddep, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync DNF version: 4.14.0 cachedir: /var/cache/dnf User-Agent: constructed: 'libdnf (Mageia 9; generic; Linux.x86_64)' Trace shows call to libsolv, so good AFAICS.
Whiteboard: (none) => MGA9-64-OKCC: (none) => herman.viaeneFlags: (none) => test_passed_mga9_64+
(In reply to Jani Välimaa from comment #4) > I'm trying to figure out what's really broken and why we need this > fix/update in Mageia 9? > > Mageia 9 was released a long time ago and we have managed to live without > pythondist() provide for libsolv so far. Hello Wally, We are working on an application which requires python3-solv. By adding "solv" in dependencies of the pyproject.toml, generate_buildrequires try to pull python3dist(solv), but fails. We would like to provide a package also for mga9.
Installing just python3-solv-0.7.35-1.mga9 results in: $ python3 -m solv Traceback (most recent call last): File "/usr/lib64/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib64/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/usr/lib64/python3.10/site-packages/solv.py", line 12, in <module> import _solv ImportError: /usr/lib64/python3.10/site-packages/_solv.so: undefined symbol: solver_decisionlist_merged, version SOLV_1.0 because the libsolv.so.1 is not versioned. This subpackage (likely as well as the perl & ruby subpackages) needs a versioned libsolv dependency so the right libsolv will be pulled in.
Validating.
CC: (none) => andrewsfarm, sysadmin-bugsKeywords: (none) => validated_update
I think the issue in comment 7 is worth fixing first. It will break someone's (stable) system if one package is updated without the others.
(In reply to Dan Fandrich from comment #7) > Installing just python3-solv-0.7.35-1.mga9 results in: > > $ python3 -m solv > Traceback (most recent call last): > File "/usr/lib64/python3.10/runpy.py", line 196, in _run_module_as_main > return _run_code(code, main_globals, None, > File "/usr/lib64/python3.10/runpy.py", line 86, in _run_code > exec(code, run_globals) > File "/usr/lib64/python3.10/site-packages/solv.py", line 12, in <module> > import _solv > ImportError: /usr/lib64/python3.10/site-packages/_solv.so: undefined symbol: > solver_decisionlist_merged, version SOLV_1.0 > > because the libsolv.so.1 is not versioned. This subpackage (likely as well > as the perl & ruby subpackages) needs a versioned libsolv dependency so the > right libsolv will be pulled in. In my case: urpmi python3-solv --media Testing http://fr2.rpmfind.net/linux/mageia/distrib/9/x86_64/media/core/updates_testing/python3-solv-0.7.35-1.mga9.x86_64.rpm installation de python3-solv-0.7.35-1.mga9.x86_64.rpm depuis /var/cache/urpmi/rpms Préparation... ###################################################################################################################################### 1/1: python3-solv ###################################################################################################################################### 1/1: désinstallation de python3-solv-0.7.22-2.mga9.x86_64 Then: [yves@YZenbook ~]$ python3 -m solv [yves@YZenbook ~]$ And the same after updating lib64solv1 and libsolv-tools
Are you sure you had the lib64solv1-0.7.22-2.mga9 package installed at the same time as the python3-solv-0.7-35-1.mga9 package? With that combination I get the ImportError.
Keywords: validated_update => (none)Whiteboard: MGA9-64-OK => (none)
rpm -qa|grep solv lib64solv1-0.7.22-2.mga9 lpsolve-5.5.2.5-5.mga9 python3-solv-0.7.22-2.mga9 python3 -m solv After the update rpm -qa|grep solv lpsolve-5.5.2.5-5.mga9 lib64solv1-0.7.35-1.mga9 python3-solv-0.7.35-1.mga9 python3 -m solv (In reply to Dan Fandrich from comment #11) > Are you sure you had the lib64solv1-0.7.22-2.mga9 package installed at the > same time as the python3-solv-0.7-35-1.mga9 package? With that combination I > get the ImportError. As the lib should be updated when the packages pass QA stage I not see the issue
The problematic combination is: lib64solv1-0.7.22-2.mga9 python3-solv-0.7.35-1.mga9 The Requires: are supposed to ensure that all necessary packages are available, but that fails in the case of python3-solv-0.7.35-1.mga9; "a" lib64solv1 package is ensured to be available, but the wrong one. Just because a package is in the repo does not mean it's going to be installed. I encountered this problem when I manually updated python3-solv, since that was the only package I cared about, but it didn't ensure that its required dependency was installed alongside.
Submitting: RPMS: libsolv-tools-0.7.35-1.1.mga9 lib64solv1-0.7.35-1.1.mga9 python3-solv-0.7.35-1.1.mga9 perl-solv-0.7.35-1.1.mga9 lib64solv-devel-0.7.35-1.1.mga9 ruby-solv-0.7.35-1.1.mga9 libsolv-doc-0.7.35-1.1.mga9 libsolv-demo-0.7.35-1.1.mga9 libsolv-demo-debuginfo-0.7.35-1.1.mga9 SRPMS: libsolv-0.7.35-1.1.mga9
The versioned requirement is added for bindings packages
RH x86_64 Testing lib requirement LC_ALL=C urpmi /home/katnatek/qa-testing/x86_64/python3-solv-0.7.35-1.1.mga9.x86_64.rpm --test A requested package cannot be installed: python3-solv-0.7.35-1.1.mga9.x86_64 (due to unsatisfied lib64solv1[== 0.7.35-1.1.mga9]) LC_ALL=C urpmi /home/katnatek/qa-testing/x86_64/perl-solv-0.7.35-1.1.mga9.x86_64.rpm A requested package cannot be installed: perl-solv-0.7.35-1.1.mga9.x86_64 (due to unsatisfied lib64solv1[== 0.7.35-1.1.mga9]) LC_ALL=C urpmi /home/katnatek/qa-testing/x86_64/ruby-solv-0.7.35-1.1.mga9.x86_64.rpm A requested package cannot be installed: ruby-solv-0.7.35-1.1.mga9.x86_64 (due to unsatisfied lib64solv1[== 0.7.35-1.1.mga9]) Now updating installing python3-solv-0.7.35-1.1.mga9.x86_64.rpm lib64solv1-0.7.35-1.1.mga9.x86_64.rpm from //home/katnatek/qa-testing/x86_64 Preparing... ################################################################################################### 1/2: lib64solv1 ################################################################################################### 2/2: python3-solv ################################################################################################### 1/2: removing python3-solv-0.7.35-1.mga9.x86_64 ################################################################################################### 2/2: removing lib64solv1-0.7.35-1.mga9.x86_64 ################################################################################################### strace dnf -v check openat(AT_FDCWD, "/usr/lib64/libsolv.so.1", O_RDONLY|O_CLOEXEC) = 3 Looks good
Whiteboard: (none) => MGA9-64-OKSource RPM: libsolv-0.7.24 => 0.7.24
ups
Source RPM: 0.7.24 => libsolv
Keywords: (none) => advisory
python3-solv-0.7.35-1.1.mga9 fixes the issue for me. Thanks!
@papoteur I think for cauldron you should add too, the lib requirement in the bindings
Validating, hoping this time is good. Sometimes, this job isn't easy when you aren't a developer.
Keywords: (none) => validated_update
An update for this issue has been pushed to the Mageia Updates repository. https://advisories.mageia.org/MGAA-2026-0016.html
Status: NEW => RESOLVEDResolution: (none) => FIXED