On Wed, 2024-03-06 at 00:08 +0200, Niko Tyni wrote: > (Oops, forgot the Cc you asked for. So resending. Apologies for the > duplicate on the list.)
No worries. > On Tue, Mar 05, 2024 at 09:17:17PM +0100, John Paul Adrian Glaubitz wrote: > > > I am getting strange Perl error after rebuilding Perl for the time64_t > > transition on powerpc: > > > > loadable library and perl binaries are mismatched (got first handshake key > > 0xb600080, needed 0xb700080) > > > > See: > > https://buildd.debian.org/status/fetch.php?pkg=libdevice-usb-perl&arch=powerpc&ver=0.38-3&stamp=1709663348&raw=0 > > > > I have already rebuilt Perl once again against the new time64_t libraries, > > but that didn't help although the package builds fine locally. > > > > Does anyone knowledgeable with Perl know what's going on? > > (You're in somewhat uncharted territory unfortunately, as none of this > was tested beforehand.) Yikes. > Looks like it's built with dpkg-dev_1.22.4 but the time64 build flags are > only activated with 1.22.5. Ah, that would explain it, thank you so much! > I think there was talk about making them the default in gcc too, not > sure if they got there yet. > > I suppose Perl could/should store them in its configuration so they'd be > passed to all XS module builds regardless of what dpkg-buildflags says. > But currently things from dpkg-buildflags get explicitly filtered away [1]. > > IIRC the rationale for this was that packages could opt in/out of security > hardening flags independently. That doesn't seem desirable here as they > make the XS module ABI incompatible as you've noticed. > > [1] see https://sources.debian.org/src/perl/5.38.2-3.1/debian/rules/#L188 > I think -fstack-protector gets passed through there as an exception, > so doing the same with the relevant time64 flags should do the trick. > Thanks! You saved me a lot of headaches! Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913