Thread
-
Re: Meson and Numa: C header not found
Daniel Westermann (DWE) <daniel.westermann@dbi-services.com> — 2025-04-10T17:18:31Z
>That's just weird then. The only other theory that comes to mind >is that there's something wrong with the SELinux attributes on these >fles. restorecon might help if so. If that would be the case, then it is a packaging issue on Fedora, I guess. 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 Code: #ifdef __has_include #if !__has_include("numa.h") #error "Header 'numa.h' could not be found" #endif #else #include <numa.h> #endif Cached compiler stdout: Cached compiler stderr: /home/postgres/build/meson-private/tmpjon5_bg2/testfile.c:4:12: error: #error "Header 'numa.h' could not be found" 4 | #error "Header 'numa.h' could not be found" | ^~~~~ ../postgresql/meson.build:957:12: ERROR: C header 'numa.h' not found Regards Daniel -
Re: Meson and Numa: C header not found
Tom Lane <tgl@sss.pgh.pa.us> — 2025-04-10T17:45:03Z
"Daniel Westermann (DWE)" <daniel.westermann@dbi-services.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
-
Re: Meson and Numa: C header not found
Daniel Westermann (DWE) <daniel.westermann@dbi-services.com> — 2025-04-11T03:57:03Z
>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. Thanks, Tom, Confirmed, starting from scratch does not show the issue anymore. Regards Daniel