On Wed, May 14, 2025 at 05:06:17PM -0400, Nikolaos Chatzikonstantinou wrote:
> > But looking further, I see that you are the author of pygnuregex,
> > according to https://codeberg.org/annoyingusername/pygnuregex
>
> To fix this issue:
>
> 1. Pull v0.6.3 (or later)
> 2. After activating the virtual shell, rerun `pip install -e .[tests]`
> once to grab the latest version of pygnuregex for m4p.
>
> I wrote pygnuregex because Python did not support the GNU-style regex
> of m4 despite its many regex packages. Pygnuregex is just Python FFI
> into C's <regex.h>, but due to some weaknesses of Python's FFI I had
> to write a tiny C shim library to provide certain constants (like
> sizeof (regex_t)). Python packages come "source-only" and "binary"; I
> (incorrectly) shipped a .so binary for "any platform", and yours was
> incompatible with mine (amd64 and certain glibc). The easiest path
> forward for me was to disable binary distribution in pygnuregex 1.1.4,
> pushing the compilation of the C shim down to the user who installs
> m4p.
Nope, still dumping core:
Installing collected packages: pygnuregex, m4p
Attempting uninstall: pygnuregex
Found existing installation: pygnuregex 1.1.3
Uninstalling pygnuregex-1.1.3:
Successfully uninstalled pygnuregex-1.1.3
Attempting uninstall: m4p
Found existing installation: m4p 0.6.0
Uninstalling m4p-0.6.0:
Successfully uninstalled m4p-0.6.0
Successfully installed m4p-0.6.3 pygnuregex-1.1.4
(.venv)
$ m4p
regexp(abc,b)
Segmentation fault (core dumped)
(.venv)
$ python
Python 3.13.3 (main, Apr 22 2025, 00:00:00) [GCC 15.0.1 20250418 (Red Hat
15.0.1-0)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygnuregex
>>> pygnuregex.compile(b"a")
Segmentation fault (core dumped)
(.venv)
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org