Possible dependency issue in makefile - Mailing list pgsql-hackers

From Filip Janus
Subject Possible dependency issue in makefile
Date
Msg-id CAFjYY+JD65CAFbVF0EbD-1UX6WCKJPy6PH+3M6-TkC1Ct0e1iw@mail.gmail.com
Whole thread Raw
Responses Re: Possible dependency issue in makefile  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi all,
I am building libecpg 13.1 but 13.3 behaves in the same manner and my build fails with:
path.c: In function 'get_html_path':
path.c:787:38: error: 'HTMLDIR' undeclared (first use in this function)  787 |         make_relative_path(ret_path, HTMLDIR, PGBINDIR, my_exec_path);      |                                      ^~~~~~~
path.c:787:38: note: each undeclared identifier is reported only once for each function it appears in
path.c: In function 'get_man_path':
path.c:796:38: error: 'MANDIR' undeclared (first use in this function); did you mean 'MAXDIM'?  796 |         make_relative_path(ret_path, MANDIR, PGBINDIR, my_exec_path);      |                                      ^~~~~~      |                                      MAXDIM
make[2]: *** [<builtin>: path.o] Error 1

It looks like some dependency issue, because this error is followed by:

make[2]: Entering directory '/builddir/build/BUILD/postgresql-13.1/src/port'
echo "#define PGBINDIR \"/usr/bin\"" >pg_config_paths.h
echo "#define PGSHAREDIR \"/usr/share/pgsql\"" >>pg_config_paths.h
echo "#define SYSCONFDIR \"/etc\"" >>pg_config_paths.h
echo "#define INCLUDEDIR \"/usr/include\"" >>pg_config_paths.h
echo "#define PKGINCLUDEDIR \"/usr/include/pgsql\"" >>pg_config_paths.h
echo "#define INCLUDEDIRSERVER \"/usr/include/pgsql/server\"" >>pg_config_paths.h
echo "#define LIBDIR \"/usr/lib64\"" >>pg_config_paths.h
echo "#define PKGLIBDIR \"/usr/lib64/pgsql\"" >>pg_config_paths.h
echo "#define LOCALEDIR \"/usr/share/locale\"" >>pg_config_paths.h
echo "#define DOCDIR \"/usr/share/doc//pgsql\"" >>pg_config_paths.h
echo "#define HTMLDIR \"/usr/share/doc//pgsql\"" >>pg_config_paths.h
echo "#define MANDIR \"/usr/share/man\"" >>pg_config_paths.h
make[2]: Leaving directory '/builddir/build/BUILD/postgresql-13.1/src/port'

So from my point of view, pg_config_paths.h header file finished *after* it was used to compile code.
This issue is probably caused by parallel build because sometimes build succeed.

Complete build log: log

Regards,
    -Filip-

pgsql-hackers by date:

Previous
From: Dean Rasheed
Date:
Subject: Re: Division by zero error in to_char(num, '9.9EEEE')
Next
From: "houzj.fnst@fujitsu.com"
Date:
Subject: RE: [BUG] wrong refresh when ALTER SUBSCRIPTION ADD/DROP PUBLICATION