Re: Meson and Numa: C header not found

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Daniel Westermann (DWE)" <daniel(dot)westermann(at)dbi-services(dot)com>
Cc: Tomas Vondra <tomas(at)vondra(dot)me>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Meson and Numa: C header not found
Date: 2025-04-10 17:45:03
Message-ID: 535404.1744307103@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Daniel Westermann (DWE)" <daniel(dot)westermann(at)dbi-services(dot)com> writes:
> Even after restorecon I get this:

> Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
> Run-time dependency numa found: YES 2.0.19

> ../postgresql/meson.build:957:12: ERROR: C header 'numa.h' not found

> ... which gives this in the log:

> Run-time dependency numa found: YES 2.0.19
> Using cached compile:
> Cached command line: cc /home/postgres/build/meson-private/tmpjon5_bg2/testfile.c -E -P -D_FILE_OFFSET_BITS=64 -P -O0

Ah-hah: the "cached" bit gave me the clue I needed. I think
you ran "meson setup" without numactl-devel installed, and it
cached the fact that numa.h wasn't there. I can reproduce
this error with

$ sudo dnf remove numactl-devel
$ git clean -dfxq
$ meson setup build
$ sudo dnf install numactl-devel
$ meson setup build --reconfigure

... which ends with

Run-time dependency numa found: YES 2.0.19

meson.build:957:12: ERROR: C header 'numa.h' not found

It's okay again after blowing away the build subdirectory
(e.g. via "git clean -dfxq") and trying again.

This implies that it caches info about header presence but
not library presence (else it wouldn't have thought that
the library was there either, I guess). Kind of weird,
but I'm still learning about meson.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Luzanov 2025-04-10 19:03:19 Re: psql meta command
Previous Message Daniel Westermann (DWE) 2025-04-10 17:18:31 Re: Meson and Numa: C header not found