Обсуждение: Compilation of postgres 13.4+ source fails to find some of its own libraries

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

Compilation of postgres 13.4+ source fails to find some of its own libraries

От
Matt Zinicola
Дата:
Hi all,

I've been a user of PostgreSQL for many, many years now.    I tend to compile from source, in /usr/local/src..  My current postgresql server is running Fedora 35. Beginning with Postgres 13.4 (and 14.0 and 14.1) the postgres compilation process has begun failing, complaining about several libraries (specifically libpgtypes.pc, libecpg.pc, libpq.pc and libecpg_compat.pc).

Since all of these are contained witihin the source distribution itself, why is the make process unable to find them?

I attempted adding them via a configuration option ( full configure invocation is ./configure --with-libraries=/usr/local/src/postgresql-13.4/src/interfaces/ecpg/ecpglib,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/compatlib,/usr/local/src/postgresql-13.4/src/interfaces/libpq,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/pgtypeslib), but it does not work.

Apologies if I'm overlooking something "simple" here, I'm just a bit taken aback by why the compilation process suddenly as of 13.4has begun failing for this reason.  Is this a mistake in one of the build scripts somewhere or... ?

Thanks much and Happy New Year!
-Matt

Re: Compilation of postgres 13.4+ source fails to find some of its own libraries

От
Michael Banck
Дата:
Hi,

On Sat, Jan 01, 2022 at 01:58:33AM -0500, Matt Zinicola wrote:
> I've been a user of PostgreSQL for many, many years now.    I tend to
> compile from source, in /usr/local/src..  My current postgresql server is
> running Fedora 35. Beginning with Postgres 13.4 (and 14.0 and 14.1) the
> postgres compilation process has begun failing, complaining about several
> libraries (specifically libpgtypes.pc, libecpg.pc, libpq.pc and
> libecpg_compat.pc).
> 
> Since all of these are contained witihin the source distribution itself,
> why is the make process unable to find them?
> 
> I attempted adding them via a configuration option ( full configure
> invocation is ./configure
>
--with-libraries=/usr/local/src/postgresql-13.4/src/interfaces/ecpg/ecpglib,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/compatlib,/usr/local/src/postgresql-13.4/src/interfaces/libpq,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/pgtypeslib),
> but it does not work.
> 
> Apologies if I'm overlooking something "simple" here, I'm just a bit taken
> aback by why the compilation process suddenly as of 13.4has begun failing
> for this reason.  Is this a mistake in one of the build scripts somewhere
> or... ?

1. Go back and try to build 13.3 using the same configure options, does
that still work?

2. Show us the actual build failures, "does not work" is not enough
information.


Michael

-- 
Michael Banck
Team Lead PostgreSQL
Project Manager
Tel.: +49 2166 9901-171
Mail: michael.banck@credativ.de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Management: Dr. Michael Meskes, Geoff Richardson, Peter Lilley

Our handling of personal data is subject to:
https://www.credativ.de/en/contact/privacy/



Re: Compilation of postgres 13.4+ source fails to find some of its own libraries

От
Matt Zinicola
Дата:
Hi, Michael.

Yes, 13.3 continues to build successfully within the current environment. (built ends with message "All of PostgreSQL successfully made. Ready to install.")

Output of uname -a:  "Linux fulltake 5.15.11-200.fc35.x86_64 #1 SMP Wed Dec 22 15:41:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"

I've attached the configure output as well as the make output.  Note the notation around the four libraries previously mentioned, and that the make process does it end with the usual "Successfully made" message.

Thanks for taking a look.
-Matt


On Sat, Jan 1, 2022 at 7:14 AM Michael Banck <michael.banck@credativ.de> wrote:
Hi,

On Sat, Jan 01, 2022 at 01:58:33AM -0500, Matt Zinicola wrote:
> I've been a user of PostgreSQL for many, many years now.    I tend to
> compile from source, in /usr/local/src..  My current postgresql server is
> running Fedora 35. Beginning with Postgres 13.4 (and 14.0 and 14.1) the
> postgres compilation process has begun failing, complaining about several
> libraries (specifically libpgtypes.pc, libecpg.pc, libpq.pc and
> libecpg_compat.pc).
>
> Since all of these are contained witihin the source distribution itself,
> why is the make process unable to find them?
>
> I attempted adding them via a configuration option ( full configure
> invocation is ./configure
> --with-libraries=/usr/local/src/postgresql-13.4/src/interfaces/ecpg/ecpglib,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/compatlib,/usr/local/src/postgresql-13.4/src/interfaces/libpq,/usr/local/src/postgresql-13.4/src/interfaces/ecpg/pgtypeslib),
> but it does not work.
>
> Apologies if I'm overlooking something "simple" here, I'm just a bit taken
> aback by why the compilation process suddenly as of 13.4has begun failing
> for this reason.  Is this a mistake in one of the build scripts somewhere
> or... ?

1. Go back and try to build 13.3 using the same configure options, does
that still work?

2. Show us the actual build failures, "does not work" is not enough
information.


Michael

--
Michael Banck
Team Lead PostgreSQL
Project Manager
Tel.: +49 2166 9901-171
Mail: michael.banck@credativ.de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Management: Dr. Michael Meskes, Geoff Richardson, Peter Lilley

Our handling of personal data is subject to:
https://www.credativ.de/en/contact/privacy/
Вложения

Re: Compilation of postgres 13.4+ source fails to find some of its own libraries

От
Tom Lane
Дата:
Matt Zinicola <mattzinicola@gmail.com> writes:
> Hi, Michael.
> Yes, 13.3 continues to build successfully within the current environment.
> (built ends with message "All of PostgreSQL successfully made. Ready to
> install.")

> Output of uname -a:  "Linux fulltake 5.15.11-200.fc35.x86_64 #1 SMP Wed Dec
> 22 15:41:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"

> I've attached the configure output as well as the make output.  Note the
> notation around the four libraries previously mentioned, and that the make
> process does it end with the usual "Successfully made" message.

As far as that goes, 13.4 and later don't print that message at all.
We concluded it was just noise and that better style is to output
nothing unless there's a problem [1].  (This probably should have been
mentioned in the release notes, but it wasn't because the responsible
commit failed to say anything about it in its commit message.)

I grepped through your make log and I don't actually see any errors
or warnings; in particular, all the .pc files you mention seem to
be getting built as normal.  So I'm still confused as to where your
actual problem is.  Maybe things are going wrong at install, rather
than make?  Or at build of some other software that uses these
libraries?

            regards, tom lane

[1] https://www.postgresql.org/message-id/flat/6a421136-d462-b043-a8eb-e75b2861f3df%40dunslane.net



Re: Compilation of postgres 13.4+ source fails to find some of its own libraries

От
Matt Zinicola
Дата:
Thanks, Tom.

I was sort of hoping that was the case.. and I _did_ look for a note mentioning changing that output in the release notes and thought to myself "they would've mentioned a change like _that_..."   (IIRC, it has been there in every version I've ever used, and as such, I did not want to proceed with a "make install" on a production box without seeing it appear!)...

Thanks for the clarification and confirmation!  I appreciate it.

-Matt


On Sat, Jan 1, 2022 at 8:55 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Matt Zinicola <mattzinicola@gmail.com> writes:
> Hi, Michael.
> Yes, 13.3 continues to build successfully within the current environment.
> (built ends with message "All of PostgreSQL successfully made. Ready to
> install.")

> Output of uname -a:  "Linux fulltake 5.15.11-200.fc35.x86_64 #1 SMP Wed Dec
> 22 15:41:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"

> I've attached the configure output as well as the make output.  Note the
> notation around the four libraries previously mentioned, and that the make
> process does it end with the usual "Successfully made" message.

As far as that goes, 13.4 and later don't print that message at all.
We concluded it was just noise and that better style is to output
nothing unless there's a problem [1].  (This probably should have been
mentioned in the release notes, but it wasn't because the responsible
commit failed to say anything about it in its commit message.)

I grepped through your make log and I don't actually see any errors
or warnings; in particular, all the .pc files you mention seem to
be getting built as normal.  So I'm still confused as to where your
actual problem is.  Maybe things are going wrong at install, rather
than make?  Or at build of some other software that uses these
libraries?

                        regards, tom lane

[1] https://www.postgresql.org/message-id/flat/6a421136-d462-b043-a8eb-e75b2861f3df%40dunslane.net