Thread: v15rc1 shadowbuild fails when using src from symlink
L.S., Just like v15b4, the first rc fails to compile when using the source from a symlink. => openSUSE Leap 15.4 (gcc v7.5.0 / make v4.2.1) => unpack source => create a symlink $PGSRCDIR to the source(-rc1) folder => create a build folder $PGDIR and from within that: $PGSRCDIR/configure --prefix=$PGDIR/install --enable-thread-safety make -j2 => fails on the following: (...) configure: using compiler=gcc (SUSE Linux) 7.5.0 configure: using CFLAGS=-Wall -Wmissing-prototypes -Wpointer-arith - Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format- attribute -Wimplicit-fallthrough=3 -Wformat-security -fno-strict-aliasing - fwrapv -fexcess-precision=standard -Wno-format-truncation -O2 configure: using CPPFLAGS= -D_GNU_SOURCE -I/usr/include/libxml2 configure: using LDFLAGS= -Wl,--as-needed preparing build tree... done configure: creating ./config.status config.status: creating GNUmakefile config.status: creating src/Makefile.global config.status: creating src/include/pg_config.h config.status: creating src/include/pg_config_ext.h config.status: creating src/interfaces/ecpg/include/ecpg_config.h config.status: linking /home/development/postgresql-15.0/src/backend/port/tas/ dummy.s to src/backend/port/tas.s config.status: linking /home/development/postgresql-15.0/src/backend/port/ posix_sema.c to src/backend/port/pg_sema.c config.status: linking /home/development/postgresql-15.0/src/backend/port/ sysv_shmem.c to src/backend/port/pg_shmem.c config.status: linking /home/development/postgresql-15.0/src/include/port/ linux.h to src/include/pg_config_os.h config.status: linking /home/development/postgresql-15.0/src/makefiles/ Makefile.linux to src/Makefile.port + make -j2 make -C ./src/backend generated-headers make[1]: Entering directory '/home/development/4suse15.4-x86_64/ postgresql-15.0/src/backend' make[1]: *** No rule to make target 'generated-headers'. Stop. make[1]: Leaving directory '/home/development/4suse15.4-x86_64/ postgresql-15.0/src/backend' make: *** [src/Makefile.global:390: submake-generated-headers] Error 2 => when using the real source folder instead of the symlink, the same compile/ script finishes fine -- Best, Frank.
On Fri, Sep 30, 2022 at 08:33:17AM +0200, Frank van Vugt wrote: > Just like v15b4, the first rc fails to compile when using the source from a > symlink. > [...] > make -j2 > => fails on the following: > > => when using the real source folder instead of the symlink, the same compile/ > script finishes fine Yep, using a VPATH build with the source being a soft link does not work. Here is what I have done, basically the same steps as yourself: wget https://ftp.postgresql.org/pub/source/v15rc1/postgresql-15rc1.tar.gz tar zxvf postgresql-15rc1.tar.gz ln -s postgresql-15rc1 postgres_src mkdir postgres_build cd postgres_build/ $path/to/postgres_src/configure --prefix=$PGDIR/install --enable-cassert make -j 4 This is as well the case with 14, by the way, and most likely the case of older versions. Why are you using such an exotic way to build things? A vpath build would give the same result for the build, once the downloaded source is renamed to a more generic name, for example. -- Michael