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


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

Re: Build and run-time triplets

From Andrey Rahmatullin <wrar@debian.org>
Newsgroups linux.debian.maint.python
Subject Re: Build and run-time triplets
Date 2022-06-09 12:00 +0200
Message-ID <Ewn7j-3DAV-1@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> <Ewmbf-3CSM-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

On Thu, Jun 09, 2022 at 09:56:42AM +0100, Julian Gilbey wrote:
> > [...]
> > > 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. 
> 
> Thanks for your help!
> 
> OK (and yes, it does require the full path at runtime).  What triplet
> do I use in d/rules?  dpkg-architecture offers 6 different ones:
> DEB_{BUILD,HOST,TARGET}_{GNU_TYPE,MULTIARCH}?  I'm guessing
> DEB_TARGET_MULTIARCH, but I'm really not certain, so it would be great
> to confirm that.
It's always DEB_HOST_MULTIARCH. *_TARGET_* are for Canadian cross. See
TERMS in dpkg-architecture(1).

> About the location, though: why do compiled Python libraries live in
> /usr/lib/python3/dist-packages/<pkgname> and not
> /usr/lib/<triplet>/<pkgname>? 
That's where the import machinery expects them. They also have special
names.

> And is there a good reason not to do the same with this
> Python-package-specific library?
Yes, it's not Python-related.

> It's not for general use, so I can't see why I shouldn't put it in the
> python3 directory with the other compiled Python module libraries.
It's not a module.

-- 
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