On Sun, Sep 3, 2023 at 6:42 AM Andrew Dunstan <and...@dunslane.net> wrote: > I guess the next thing would be to test it on a few more platforms and also > to see if we need to expand the coverage of libpq for the intended uses.
Nice. It works fine on my FreeBSD battlestation after "sudo pkg install p5-FFI-Platypus" and adjusting that lib path. I wonder if there is a nice way to extract those constants from our headers... It's using https://sourceware.org/libffi/ under the covers (like most other scripting language FFI things), and that knows calling conventions for everything we care about including weird OSes and architectures. It might be a slight pain to build it on systems that have no package manager, if cpan can't do it for you? I guess AIX would be the most painful? (Huh, while contemplating trying that, I just noticed that the GCC build farm's AIX 7.2 system seems to have given up the ghost a few weeks ago. I wonder if it'll come back online with the current release, or if that's the end... There is still the overloaded-to-the-point-of-being-hard-to-interact-with AIX 7.1 (=EOL) machine.) > I confess I'm a little reluctant to impose this burden on buildfarm owners. > We should think about some sort of fallback in case this isn't supported on > some platform, either due to technological barriers or buildfarm owner > reluctance. I guess you're thinking that it could be done in such a way that it is automatically used for $node->safe_psql() and various other things if Platypus is detected, but otherwise forking psql as now, for a transition period? Then we could nag build farm owners, and eventually turn off the fallback stuff after N months. After that it would begin to be possible to use this in more interesting and advanced ways.