Hi,

On  Mi 23 Jul 2025 19:08:30 CEST, tshah wrote:

Tried reproducing the issue of ciborium build failure on ppc64el. On checking the logs minutely, got to know that the issue is in one of the source file /cdata.go/. There is a function declared with no definition: f/unc Addrs() (uintptr, uintptr)./

This patch fixes a build failure of the Ciborium package on the ppc64el architecture. The /qml.v1/cdata/cdata.go/  file defines the /Addrs() /function, which appears to rely on architecture-specific logic that is not supported on ppc64el. Attempting to compile on ppc64el results in an error due to this missing implementation.

To resolve this, I have:

 *

   Added a Go build tag to |cdata.go| to exclude it from |ppc64el| builds.

 *

   Created a new file |cdata_stub.go|, which is only built on
   |ppc64el|, and provides a stub |Addrs()| function returning default
   zero values.

This allows the package to compile successfully on |ppc64el|, while retaining the original behavior for other platforms.

The stub ensures compatibility without introducing functional changes or affecting other architectures. I have attached the patch in this mail.

Maybe your patch needs to be extended for other architectures, too? It seems most of them suffer the same issue.

I have asked Guido, the upstream author to chime in on this...

Mike
--

mike gabriel aka sunweaver (Debian Developer)
mobile: +49 (1520) 1976 148
landline: +49 (4351) 486 14 27

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: sunwea...@debian.org, http://sunweavers.net

Attachment: pgpkhebjB9xyc.pgp
Description: Digitale PGP-Signatur

Reply via email to