Hi, On 2026-02-07 16:21:31 -0500, Tom Lane wrote: > I wondered why Greg Burd's new buildfarm animal "icarus" hasn't > yet managed to complete a successful run. The symptoms suggest > that getopt() isn't doing what we want: > > /scratch/build/HEAD/pgsql.build/tmp_install/scratch/build/HEAD/inst/bin/postgres: > illegal option -- cluster-name=node1 > Try "postgres --help" for more information. > > But we have other BF animals running on OpenIndiana (Solaris) > without trouble. > > On investigation, it seems that Greg is the first to try to use > the meson build system on Solaris, and it doesn't work. Our > Autoconf infrastructure knows that we should use our own getopt() > because Solaris's doesn't do what we want. meson.build did try > to copy that logic: > > always_replace_getopt = host_system in ['windows', 'cygwin', 'openbsd', > 'solaris'] > > However, as seen elsewhere in that file, 'solaris' is not the > value of host_system on this platform! It's 'sunos'. So we > are trying to use the system's getopt(), and then the failure is > completely expected. > > I've verified on a local OpenIndiana VM that the attached patch > makes it work. Also, a quick grep doesn't find any other cases > of the same error in our meson.build files.
Ugh. At some point I had solaris working, but apparently I broke it again at some point. Thanks for noticing & fixing. Greetings, Andres Freund
