Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.python > #14274
| From | Andrey Rahmatullin <wrar@debian.org> |
|---|---|
| Newsgroups | linux.debian.maint.python |
| Subject | Re: Build and run-time triplets |
| Date | 2022-07-24 20:50 +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> |
| Organization | linux.* mail to news gateway |
[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
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