On Fri, Mar 17, 2023 at 7:48 PM jian he <jian.universality@xxxxxxxxx> wrote: > Hi, > playing around with $[0] testlibpq2.c example. I wondered where HAVE_SYS_SELECT_H is defined? > > I searched on the internet, founded that people also asked the same question in $[1]. > > In my machine, I do have <sys/select.h>. > system version: Ubuntu 22.04.1 LTS > gcc version: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 > gcc compile command: gcc pg_testlibpq2.c -I/home/jian/postgres/pg16/include \ > -L/home/jian/postgres/pg16/lib -lpq > > [0]https://www.postgresql.org/docs/current/libpq-example.html > [1]https://stackoverflow.com/questions/37876850/in-compilation-time-how-to-find-the-macro-is-defined-in-which-header-file In 15 and earlier, it is defined in pg_config.h, which is created by configure. But in 16, that particular macro was removed by commit 7e50b4e3c. It looks like you are using PostgreSQL 16 sources, but looking at PostgreSQL 15 examples?