Meson vs. Solaris

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: Greg Burd <greg(at)burd(dot)me>
Subject: Meson vs. Solaris
Date: 2026-02-07 21:21:31
Message-ID: 2471229.1770499291@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

regards, tom lane

Attachment Content-Type Size
solaris.patch text/x-diff 663 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Burd 2026-02-07 21:58:45 Re: Meson vs. Solaris
Previous Message Robert Haas 2026-02-07 17:37:56 Re: pg_plan_advice