fails to compile with clang 16
C version of reader, parser and emitter for ruamel.yaml
Brought to you by:
anthon
Encountered when using pip on Termux on android, same as this bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271531
Reproduced here.
It fails the same way as well with gcc 14 which snapshot is now available in fedora rawhide.
gcc is also at version 14 in Arch Linux. The ruamel.yaml.clib packagers worked around the issue with a compiler flag that disables the error:
https://gitlab.archlinux.org/archlinux/packaging/packages/python-ruamel.yaml.clib/-/blob/1dd0bc69e2c3b0411e4b87f31e72b9fe3182200f/PKGBUILD#L21-L23
The underlying issue of incompatible pointer types is of course not solved with this flag.
In Fedora, we have a downstream patch to fix some pointer incompatibles, but it only changed the minimum required to fix a bug on s390x. I fixed some more problems, and the compilation errors are gone.
Last edit: Florian Weimer 2024-02-01
Would it cause any issues to apply this patch permanently?
https://cgit.freebsd.org/ports/plain/devel/py-ruamel.yaml.clib/files/patch-clang16
This bug means that
pip install ruamel.yaml
(orpip install yaml.clib
) will fail on FreeBSD. ruamel.yaml has to be installed via ports, which has the patch.