Building PostgreSQL in external directory is broken?

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Building PostgreSQL in external directory is broken?
Date: 2022-07-13 11:10:19
Message-ID: CAPpHfduUg5X2por5M4O7-Mkc64h6ZwHWoc0WwuaevtkAZDtCfg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hackers,

I usually build the PostgreSQL from the sources directory. But I've
heard a complaint that PostgreSQL can't be built in the external
directory.

Assuming postgres sources located in postgresql directory, the
following sequence of commands

mkdir -p pgbld
cd pgbld
../postgresql/configure --disable-debug --disable-cassert --enable-tap-tests
make -j4

results in an error

.../src/pgbld/../postgresql/src/include/utils/elog.h:73:10: fatal
error: utils/errcodes.h: No such file or directory
73 | #include "utils/errcodes.h"

| ^~~~~~~~~~~~~~~~~~

I've discovered this a bit. It appears that Makefile generates
src/backend/utils/errcodes.h in the build directory, but symlinks
src/include/utils/errcodes.h to the sources directory. That is
src/include/utils/errcodes.h appears to be a broken symlink. I've
written a short patch to fix that.

It seems strange to me that I'm the first one discovering this. Am I
missing something?

------
Regards,
Alexander Korotkov

Attachment Content-Type Size
fix_errcodes_external_build.patch application/octet-stream 755 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2022-07-13 11:19:56 Re: Handle infinite recursion in logical replication setup
Previous Message Aleksander Alekseev 2022-07-13 10:38:05 Re: CREATE TABLE ( .. STORAGE ..)