Re: [RFC] building postgres with meson

From: Andres Freund <andres(at)anarazel(dot)de>
To: John Naylor <john(dot)naylor(at)enterprisedb(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [RFC] building postgres with meson
Date: 2021-10-13 16:37:21
Message-ID: 20211013163721.oqwvztktwsym3iu4@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2021-10-13 11:51:03 -0400, John Naylor wrote:
> On Tue, Oct 12, 2021 at 4:59 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> > On 2021-10-12 15:55:22 -0400, John Naylor wrote:
> > > (I couldn't get a build working but I'll leave that aside for now).
> >
> > If you want to do that separately, I'll try to fix it.
>
> Okay, I pulled the latest commits and tried again:
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/LDAP.framework/Headers/ldap.h:1:
>
> [the last line is repeated a bunch of times, then...]

Oh. I actually saw that on CI at some point... That one is definitely
odd. Currently CI for OSX builds like

- brew install make coreutils ccache icu4c lz4 tcl-tk openldap
- brew install meson ninja python(at)3(dot)9
..
PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH"
PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH"
PKG_CONFIG_PATH="/usr/local/opt/openldap/lib/pkgconfig:$PKG_CONFIG_PATH"

export PKG_CONFIG_PATH

meson setup --buildtype debug -Dcassert=true -Dssl=openssl build

but I set that up knowing little about macos.

For the autoconf build CI currently does something similar via
LIBS="/usr/local/lib:$LIBS"
INCLUDES="/usr/local/include:$INCLUDES"
...
LIBS="/usr/local/opt/openldap/lib:$LIBS"
INCLUDES="/usr/local/opt/openldap/include:$INCLUDES"
...
--with-includes="$INCLUDES" \
--with-libs="$LIBS" \

are you doing something like that? Or does it work for you without? I vaguely
recall hitting a similar problem as you report when not passing
/usr/local/... to configure.

> i tried disabling ldap with the meson build but i'll spare the details of
> what went wrong there in case i did something wrong, so we can take things
> one step at a time.

you can change it for an existing builddir with
meson configure -dldap=disabled or when setting up a new builddir by passing
-dldap=disabled at that time.

> > > ninja, gdbm, ca-certificates, openssl(at)1(dot)1, readline, sqlite and
> python(at)3(dot)9
> >
> > meson does depend on ninja (to execute the build) and of course python.
> but
> > the rest should be optional dependencies. ninja builds without any
> > dependencies as long as you don't change its parser sources. python
> builds on
> > aix, hpux etc.
> >
> > not sure what way gdbm openssl(at)1(dot)1 and sqlite are pulled in? i assume
> readline
> > is for python...
>
> Hmm, weird.

They're homebrew python deps: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/python(at)3(dot)9(dot)rb#L28
which are optional things enabled explicitly:
https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/python(at)3(dot)9(dot)rb#L123

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hans Buschmann 2021-10-13 16:44:53 AW: VS2022: Support Visual Studio 2022 on Windows
Previous Message kuroda.hayato@fujitsu.com 2021-10-13 16:17:42 RE: Allow escape in application_name