Обсуждение: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

Поиск
Список
Период
Сортировка

v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Frank van Vugt
Дата:
L.S.

Just like v15rc1, the second 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(-rc2) 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.






Re: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Alvaro Herrera
Дата:
On 2022-Oct-06, Frank van Vugt wrote:

> L.S.
> 
> Just like v15rc1, the second rc fails to compile when using the source from a 
> symlink.

Yeah, nobody has claimed to have fixed this, so this is not surprising.
You didn't reply to Michael's reply to your previous report; any
thoughts on that?

Maybe if you propose a fix, we can discuss it.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/



Re: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Michael Paquier
Дата:
On Thu, Oct 06, 2022 at 06:57:53PM +0200, Alvaro Herrera wrote:
> Yeah, nobody has claimed to have fixed this, so this is not surprising.
> You didn't reply to Michael's reply to your previous report; any
> thoughts on that?
>
> Maybe if you propose a fix, we can discuss it.

FWIW, if that proves to be simple, perhaps there is a point in doing
it.  However, we also need to take into account that this would be
unstressed by the buildfarm.

And there is also an extra factor to think about here: meson.  The
tool only supports VPATH-like builds, which is what Frank is doing,
and a quick test shows me that it is possible to specify a link to the
source folder in the meson command (last argument of the meson
command), which is also something Frank does here.
--
Michael

Вложения

Re: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Alvaro Herrera
Дата:
On 2022-Oct-07, Michael Paquier wrote:

> On Thu, Oct 06, 2022 at 06:57:53PM +0200, Alvaro Herrera wrote:
> > Yeah, nobody has claimed to have fixed this, so this is not surprising.
> > You didn't reply to Michael's reply to your previous report; any
> > thoughts on that?
> > 
> > Maybe if you propose a fix, we can discuss it.
> 
> FWIW, if that proves to be simple, perhaps there is a point in doing
> it.  However, we also need to take into account that this would be
> unstressed by the buildfarm.

Agreed, getting a supporting buildfarm animal set up would be an
important step if we wanted to accept such a patch.

> And there is also an extra factor to think about here: meson.  The
> tool only supports VPATH-like builds, which is what Frank is doing,
> and a quick test shows me that it is possible to specify a link to the
> source folder in the meson command (last argument of the meson
> command), which is also something Frank does here.

Ah!  So maybe a more convenient way forward is to reject any patch for
adding support for this in autoconf, and tell Frank to use our Meson
build instead.  (Not available until 16, but of course so would be the
case with whatever patches he came up with at this point.)

Our autoconf build system is on the way out anyway: even if it's not to
be removed in the near future, ISTM the writing is now in the stone that
it'll eventually be gone.  So adding a new feature is likely a waste of
time.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"You don't solve a bad join with SELECT DISTINCT" #CupsOfFail
https://twitter.com/connor_mc_d/status/1431240081726115845



Re: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Our autoconf build system is on the way out anyway: even if it's not to
> be removed in the near future, ISTM the writing is now in the stone that
> it'll eventually be gone.  So adding a new feature is likely a waste of
> time.

+1, I think we're committed to spending future effort on the meson
infrastructure not the autoconf infrastructure.

            regards, tom lane



Re: v15rc2(/v15rc1/v15b4) shadowbuild fails when using src from symlink

От
Frank van Vugt
Дата:
Hi Alvaro/Michael/Tom,

Op donderdag 6 oktober 2022 18:57:53 CEST schreef Alvaro Herrera:
> On 2022-Oct-06, Frank van Vugt wrote:
> > Just like v15rc1, the second rc fails to compile when using the source
> > from a symlink.
>
> Yeah, nobody has claimed to have fixed this, so this is not surprising.

Agreed and it's obviously not a 'big deal'.

Also there was a lot more going on during the commitfest etc, so I just wanted
to 'repeat' the message until someone was able to find some 'spare time' to
reply ;)

> You didn't reply to Michael's reply to your previous report; any
> thoughts on that?

argh, it seems like I completely missed his initial reply (probably trusted
too much on the 'cc the original sender' ;) ). Sorry 'bout that.

@Michael
"why such an exotic way to build" -> well, 'a bit archaïc' maybe, just
something that came about when I was often building for various architectures
using the same build source, but in no way this is something that 'needs to be
this way' for me, so I'm happy to adapt ;)

> [AH] Maybe if you propose a fix, we can discuss it.

> [MP] Agreed, getting a supporting buildfarm animal set up would be
> an important step if we wanted to accept such a patch.

> [AH] maybe a more convenient way forward is <cut> tell Frank to use
> our Meson build instead.  (Not available until 16)

> [TL] +1, I think we're committed to spending future effort on
> the meson infrastructure not the autoconf infrastructure.

Tnx guys for all the background info, I couldn't agree more, fixing this in
the autoconf realm seems a moot point.

During v14/v15 I'll just handle this by building in a slightly different way,
as soon as the meson infrastructure shows up, we'll take if from there (if
needed at all).


--

Best,




Frank.