Re: lib and share are installed differently, but why?

From: Mario Emmenlauer <mario(at)emmenlauer(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL General <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: lib and share are installed differently, but why?
Date: 2021-08-30 15:00:19
Message-ID: ece83993-b3af-9853-dfd0-9bd0ec1ff7d4@emmenlauer.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 30.08.21 16:24, Tom Lane wrote:
> Mario Emmenlauer <mario(at)emmenlauer(dot)de> writes:
>> I've been building and using PostgreSQL from source for a few years
>> now, thanks for the awesome work!
>
>> Since upgrading from 12.5 to 12.8, I've found a problem that I can
>> not resolve myself. We build PostgreSQL twice, once to folder A, and
>> once to folder B. This is because A is more easily deployable, while
>> B holds all our development build targets. The only difference in
>> the two builds is the change in `--prefix` for configure. Everything
>> else is identical, and both builds start from a clean directory.
>
>> But I see a difference in the installations:
>> - The contents of `share` go to A/share/ vs B/share/postgresql/
>> - The contents of `lib` go to B/lib vs B/lib/postgresql/
>
> You didn't say exactly what "A" and "B" stand for, but I'll bet
> that the string "A" includes "pgsql" or "postgres". Makefile.global
> makes some installation path changes when that's not true, e.g.
>
> pkglibdir = $(libdir)
> ifeq "$(findstring pgsql, $(pkglibdir))" ""
> ifeq "$(findstring postgres, $(pkglibdir))" ""
> override pkglibdir := $(pkglibdir)/postgresql
> endif
> endif

Ahhh! This is very likely what I am tripped over! Thanks a million!
Indeed my path A does *not* contain "postgres" while B is set to
"A/postgresql". This explains the difference in the install.

> This behavior is pretty ancient; I'm quite sure it didn't change
> between 12.5 and 12.8. So I speculate that you made some change
> in your build process that you didn't mention.

I'm pretty sure there is no change in my build. But my provided
information may still be incorrect. What I can see is that since
postgres 12.8 I get the aforementioned error that the file
"A/share/postgresql/postgresql.bki" would be missing. I did not
get this error before, and therefore never investigated if the
folder layout was the same between A and B. So, as you say, it may
have been different since basically forever.

But a new thing seems to be this error.

After this find, I will change my build not to compile twice any
more. Therefore the issue is resolved for me!

But it may be good to keep this email for future reference, if
someone else trips over the problem of a missing "postgresql.bki".
Hint to this future person: does your install path contain the
strings "pgsql" or "postgres", then search in this area for the
error...

All the best, and thanks a lot,

Mario Emmenlauer

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Joe Conway 2021-08-30 15:04:33 Re: Pg stuck at 100% cpu, for multiple days
Previous Message Tom Lane 2021-08-30 14:58:07 Re: Can we get rid of repeated queries from pg_dump?