Control: reassign -1 libapt-pkg6.0t64 Control: forcemerge 1088398 -1 Control: retitle 1088398 libapt-pkg has fluctuating ABI Control: severity 1088398 serious
On Tue, Feb 04, 2025 at 12:25:00PM +0100, Daniel Gomez wrote: > On Mon, Feb 03, 2025 at 09:01:56PM +0100, Julian Andres Klode wrote: > > Control: reassign -1 ansible-core > > > > On Mon, Feb 03, 2025 at 08:44:59PM +0100, Daniel Gomez wrote: > > > Package: python3-apt > > > Version: 2.9.6+b1 > > > Severity: important > > > Tags: upstream > > > X-Debbugs-Cc: da.go...@samsung.com > > > > > > Dear Maintainer, > > > > > > The latest python3-apt releases 2.9.8 and 2.9.7 produce the following > > > error with Ansible: > > > > > > Error message: > > > > > > python3-apt must be installed and visible from /usr/bin/python3. > > > > > > As workaround, downgrading the package to the latest version working > > > (2.9.6) > > > "solves" the issue: > > > > > > apt install -y python3-setuptools libapt-pkg-dev python3-pip git > > > pip3 git+https://salsa.debian.org/apt-team/python-apt.git@2.9.6 \ > > > --break-system-packages > > > > > > Tested with Ansible version: > > > > > > ii ansible 9.5.1+dfsg-1 all > > > ii ansible-core 2.17.1-1 > > > > > > ansible --version > > > ansible [core 2.17.1] > > > ... > > > python version = 3.12.6 (main, Sep 7 2024, 14:20:15) [GCC 14.2.0] > > > (/usr/bin/python3) > > > jinja version = 3.1.3 > > > libyaml = True > > > ansible-playbook --version > > > ansible-playbook [core 2.17.1] > > > ... > > > executable location = /usr/bin/ansible-playbook > > > python version = 3.12.6 (main, Sep 7 2024, 14:20:15) [GCC 14.2.0] > > > (/usr/bin/python3) > > > jinja version = 3.1.3 > > > libyaml = True > > > > > > Also, > > > > > > Reported in kdevops project: > > > https://lore.kernel.org/all/20250131-fix-python3-apt-v1-1-bcdb14b14...@samsung.com/ > > > > > > Found the same issue in ludus: > > > https://protect2.fireeye.com/v1/url?k=2c1ac1ce-4d616b47-2c1b4a81-74fe48600034-c592b7887e221b1d&q=1&e=87d47ef4-6ed1-446b-87af-105940a56804&u=https%3A%2F%2Fgitlab.com%2Fbadsectorlabs%2Fludus%2F-%2Fissues%2F76 > > > > > > Daniel > > > > python3-apt is working fine as you can see by it having migrated, > > so clearly the modules are importable, otherwise the test suites > > fail. You can easily check this yourself by creating a fresh > > install or launching a container, install python3-apt and running > > > > python3 -c "import apt" > > > > Of course did you even check if python3-apt is installed at all? > > It's not part of a normal Debian install... > > > > In any case, good luck, I'm out. > > To answer the question, yes the package was properly installed. And > I think you are right regarding python3-apt version being working > properly. > > However, I still can reproduce the error above and I think I may be able > to provide better explanation. My system has the following status: > > sudo dpkg -l python3-apt apt apt-utils libapt-pkg6.0t64 python-apt-common > Desired=Unknown/Install/Remove/Purge/Hold > | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) > ||/ Name Version Architecture Description > +++-======================-============-============-=========================================== > ii apt 2.9.8 amd64 commandline package > manager > ii apt-utils 2.9.8 amd64 package management > related utility programs > ii libapt-pkg6.0t64:amd64 2.9.8 amd64 package management > runtime library > ii python-apt-common 2.9.8 all Python interface to > libapt-pkg (locales) > ii python3-apt 2.9.8 amd64 Python 3 interface to > libapt-pkg > > I think python3-apt was updated to the latest 2.9.8 after installing > python3-pip. This situation allows me to reproduce the error above in > python3-apt package with Ansible. > > Then, upgrading apt package, will upgrade apt-utils and libapt-pkg6.0t64 > to the latest version and fix the problem: > > sudo apt install --only-upgrade apt > > sudo dpkg -l python3-apt apt apt-utils libapt-pkg6.0t64 python-apt-common > Desired=Unknown/Install/Remove/Purge/Hold > | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) > ||/ Name Version Architecture Description > +++-======================-============-============-=========================================== > ii apt 2.9.26 amd64 commandline package > manager > ii apt-utils 2.9.26 amd64 package management > related utility programs > ii libapt-pkg6.0t64:amd64 2.9.26 amd64 package management > runtime library > ii python-apt-common 2.9.8 all Python interface to > libapt-pkg (locales) > ii python3-apt 2.9.8 amd64 Python 3 interface to > libapt-pkg > > I think the python3-apt dependency should be updated to require the latest > versions of apt, apt-utils, and libapt-pkg6.0.t64 (2.9.26). However, I'm not > completely sure about the full dependency chain. From what I see, python3-apt > (2.9.8) currently depends on libapt-pkg6.0t64 >= 2.7.11. Does that sound > right? This is a duplicate of bug 1088398. APT has a fluctuating ABI that depends on which std:: symbols it calls, and which of those calls the compiler inlines and omits the symbols for, so it can change with every update to APT or the compiler. The new libapt-pkg7.0 ABI is sitting in binary-NEW waiting for the ftpmaster approval, and it ensures a stable ABI by using a version script that marks all std:: symbols as local. -- debian developer - deb.li/jak | jak-linux.org - free software dev ubuntu core developer i speak de, en