public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Julian Andres Klode <jak@debian.org>
To: Daniel Gomez <da.gomez@samsung.com>
Cc: 1095111@bugs.debian.org, kdevops@lists.linux.dev
Subject: Re: Bug#1095111: python3-apt must be installed and visible rom /usr/bin/python3
Date: Sat, 8 Feb 2025 13:45:12 +0100	[thread overview]
Message-ID: <20250208134034.GA4079710@debian.org> (raw)
In-Reply-To: <20250204112500.ekpalj22mxmuteg5@AALNPWDAGOMEZ1.aal.scsc.local>

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.gomez@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-bcdb14b149ba@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

      reply	other threads:[~2025-02-08 12:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20250203194500eucas1p2c48836498323fcab3418b47765df2623@eucas1p2.samsung.com>
2025-02-03 19:44 ` python3-apt must be installed and visible rom /usr/bin/python3 Daniel Gomez
2025-02-03 20:01   ` Bug#1095111: " Julian Andres Klode
2025-02-04 11:25     ` Daniel Gomez
2025-02-08 12:45       ` Julian Andres Klode [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250208134034.GA4079710@debian.org \
    --to=jak@debian.org \
    --cc=1095111@bugs.debian.org \
    --cc=da.gomez@samsung.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox