Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #14274

Re: Build and run-time triplets

Path csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Andrey Rahmatullin <wrar@debian.org>
Newsgroups linux.debian.maint.python
Subject Re: Build and run-time triplets
Date Sun, 24 Jul 2022 20:50:01 +0200
Message-ID <EMOPT-dzto-9@gated-at.bofh.it> (permalink)
References <EwbIR-3wrn-9@gated-at.bofh.it> <EwjQ5-3Bsn-7@gated-at.bofh.it> <Ewl5v-3Cb5-7@gated-at.bofh.it> <EwloR-3Cz8-5@gated-at.bofh.it> <EMNK9-dyR6-5@gated-at.bofh.it>
X-Mailbox-Line From debian-python-request@lists.debian.org Sun Jul 24 18:42:15 2022
Old-Return-Path <wrar@debian.org>
X-Amavis-Spam-Status No, score=-12.01 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, LDO_WHITELIST=-5, PGPSIGNATURE=-5, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
X-Policyd-Weight using cached result; rate: -3.5
MIME-Version 1.0
Content-Type multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ug5zeiHp+r4dXcjV"
Content-Disposition inline
X-Mailing-List <debian-python@lists.debian.org> archive/latest/20107
List-ID <debian-python.lists.debian.org>
List-URL <https://lists.debian.org/debian-python/>
List-Archive https://lists.debian.org/msgid-search/Yt2SdIhrSwjVd8sQ@belkar.wrar.name
Approved robomod@news.nic.it
Lines 94
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Date Sun, 24 Jul 2022 23:41:56 +0500
X-Original-Message-ID <Yt2SdIhrSwjVd8sQ@belkar.wrar.name>
X-Original-References <YqEYHQLYKvGFmSAa@d-and-j.net> <YqGR3t+65uPJGTxk@belkar.wrar.name> <YqGkZDt/2GKkJV1l@d-and-j.net> <YqGpTXvqVuCglMqB@belkar.wrar.name> <Yt2DOYXK8jhY6faA@d-and-j.net>
Xref csiph.com linux.debian.maint.python:14274

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

On Sun, Jul 24, 2022 at 06:36:57PM +0100, Julian Gilbey wrote:
> > > > > I'd like to ask for some help.  I'm working on packaging pydevd, which
> > > > > builds a private .so library.  Ordinary extensions built using cython
> > > > > or similar end up being called "foo.cpython-310-x86_64-linux-gnu.so",
> > > > > but this library, which is not dependent on the Python version, should
> > > > > presumably be called "bar.x86_64-linux-gnu.so".
> > > > If it's just a private library and not a Python module it should be called
> > > > bar.so.
> > > > 
> > > > > Question 1: How do I determine (within Python) the triplet to use when
> > > > > building the library?
> > > > You don't.
> > > > 
> > > > > Question 2: How do I determine (within Python) the triplet to use when
> > > > > loading the library at runtime?
> > > > You don't, but also how are you actually loading it?
> > > 
> > > Well, the upstream wanted to compile two versions of the library, one
> > > for 64 bit architectures and one for 32 bit architectures.  I don't
> > > really want to build two different arch libraries in a single build,
> > > because that seems very contrary to the way the Debian architectures
> > > work, and would also limit it to the amd64/i386 architectures for no
> > > obviously good reason.  I had imagined that if there is some sort of
> > > multiarch setup, one might have the amd64 and i386 packages installed
> > > simultaneously, hence the need for different names.
> > The normal way for this is putting it into
> > /usr/lib/<triplet>/pkgname/foo.so, and according to the code below you'll
> > need the full path at the run time so you indeed need the triplet at both
> > build and run time. You can get the triplet in d/rules, not sure how
> > should you pass it to the build system as that depends on the build system
> > used. For the run time, https://wiki.debian.org/Python/MultiArch suggests
> > sys.implementation._multiarch (note that you cannot use it during the
> > build as that would break cross-compilation etc.), not sure if there are
> > better ways. 
> 
> I got all of the triplets working, but was then stymied when I tried
> to specify Multi-Arch: same in the control file.  I got a lintian
> warning: multi-arch-same-package-calls-pycompile
> It seems that since the pybuild system (via dh_python3) adds a
> py3compile command to the postinst of the package, then I can't safely
> use Multi-Arch: same.
> 
> I don't know if this is the case for all python3 Arch: any packages
> with compiled extensions;
I think the tag desciption has a good step-by-step explanation why does
the tag exists.
But your package is not a "package with compiled extensions", is it?

> are they all effectively Multi-Arch: no?  Is this worth thinking about
> in the longer term?
What do you propose?

-- 
WBR, wRAR

Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-08 23:50 +0200
  Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-06-09 08:30 +0200
    Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-09 09:50 +0200
      Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-06-09 10:10 +0200
        Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-09 11:00 +0200
          Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-06-09 12:00 +0200
          Re: Build and run-time triplets Simon McVittie <smcv@debian.org> - 2022-06-09 12:10 +0200
            Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-09 12:50 +0200
        Re: Build and run-time triplets Simon McVittie <smcv@debian.org> - 2022-06-09 11:30 +0200
          Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-09 11:50 +0200
            Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-06-09 12:10 +0200
              Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-06-09 12:50 +0200
        Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-07-24 19:40 +0200
          Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-07-24 20:50 +0200
            Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-07-24 21:30 +0200
          Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-07-24 20:50 +0200
            Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-07-24 21:40 +0200
              Re: Build and run-time triplets Andrey Rahmatullin <wrar@debian.org> - 2022-07-24 21:50 +0200
                Re: Build and run-time triplets Julian Gilbey <julian@d-and-j.net> - 2022-07-24 23:10 +0200

csiph-web