Re: Meson vs. Solaris
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, Greg Burd <greg@burd.me>
Date: 2026-02-07T21:59:45Z
Lists: pgsql-hackers
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
Commits
-
meson: host_system value for Solaris is 'sunos' not 'solaris'.
- c0bf15729f46 19 (unreleased) landed
- 7369656faa6e 16.12 landed
- 5eac1d68fc0c 18.2 landed
- 59c2f7efaef6 17.8 landed