RE: Can't compile PG 17 (master) from git under Msys2 autoconf - Mailing list pgsql-hackers

From Regina Obe
Subject RE: Can't compile PG 17 (master) from git under Msys2 autoconf
Date
Msg-id 000401da8702$01eaf270$05c0d750$@pcorp.us
Whole thread Raw
In response to [MASSMAIL]Can't compile PG 17 (master) from git under Msys2 autoconf  ("Regina Obe" <lr@pcorp.us>)
Responses Re: Can't compile PG 17 (master) from git under Msys2 autoconf
List pgsql-hackers
> > Hi Regina,
> >
> > On 2024-Mar-27, Regina Obe wrote:
> >
> > > The error is
> > >
> > > rm -f '../../src/include/storage/lwlocknames.h'
> > > cp -pR ../../backend/storage/lmgr/lwlocknames.h
> > > '../../src/include/storage/lwlocknames.h'
> > > cp: cannot stat '../../backend/storage/lmgr/lwlocknames.h': No such
> > > file or directory
> > > make[1]: *** [Makefile:143: ../../src/include/storage/lwlocknames.h]
> > > Error 1
> > > make[1]: Leaving directory '/projects/postgresql/postgresql-
> > git/src/backend'
> > > make: *** [../../src/Makefile.global:382: submake-generated-headers]
> > > Error 2
> >
> > Hmm, I changed these rules again in commit da952b415f44, maybe your
> > problem is with that one?  I wonder if changing the references to
> > ../include/storage/lwlocklist.h to
> > $(topdir)/src/include/storage/lwlocklist.h
> > (and similar things in
> > src/backend/storage/lmgr/Makefile) would fix it.
> >
> > Do you run configure in the source directory or a separate build one?
> >
> > --
> > Álvaro Herrera        Breisgau, Deutschland  —
> > https://www.EnterpriseDB.com/
> > "If it is not right, do not do it.
> > If it is not true, do not say it." (Marcus Aurelius, Meditations)
>
> I tried the change
> > ../include/storage/lwlocklist.h to
> > $(top_builddir)/src/include/storage/lwlocklist.h
>
> I assume you meant that instead of $(topdir)
>
> But nah that made no difference. Your change was already in my patched
> version so isn't causing any issues.

I think I got something not too far off from what's there now that works under my msys2 setup again.  This is partly
usingyour idea of using $(top_builddir) to qualify the path but in the LN_S section that is causing me grief. 
This seems to work okay building in tree and out of tree.
By changing these lines in src/backend/Makefile

$(top_builddir)/src/include/storage/lwlocknames.h: storage/lmgr/lwlocknames.h
        rm -f '$@'
-       $(LN_S) ../../backend/$< '$@'
+       $(LN_S) $(top_builddir)/src/backend/$< '$@'

 $(top_builddir)/src/include/utils/wait_event_types.h: utils/activity/wait_event_types.h
        rm -f '$@'
-       $(LN_S) ../../backend/$< '$@'
+       $(LN_S) $(top_builddir)/src/backend/$< '$@'

I've also attached as a patch.

Thanks,
Regina

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: IPC::Run::time[r|out] vs our TAP tests
Next
From: Michael Paquier
Date:
Subject: Re: IPC::Run::time[r|out] vs our TAP tests