Thread: broken build - FC 41

broken build - FC 41

From
Pavel Stehule
Date:
Hi

I try new Fedora 41. Build fails

echo 'Name: libpq' >>libpq.pc
echo 'Description: PostgreSQL libpq library' >>libpq.pc
echo 'URL: https://www.postgresql.org/' >>libpq.pc
echo 'Version: 18devel' >>libpq.pc
echo 'Requires: ' >>libpq.pc
echo 'Requires.private: libssl, libcrypto' >>libpq.pc
echo 'Cflags: -I${includedir}' >>libpq.pc
echo 'Libs: -L${libdir} -lpq' >>libpq.pc
echo 'Libs.private: -L/usr/lib64 -lpgcommon -lpgport -lssl -lm' >>libpq.pc
fe-secure-openssl.c:62:10: fatal error: openssl/engine.h: Adresář nebo soubor neexistuje
   62 | #include <openssl/engine.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

Regards

Pavel

Re: broken build - FC 41

From
"Herbert J. Skuhra"
Date:
On Mon, 09 Sep 2024 13:45:50 +0200, Pavel Stehule wrote:
>
> Hi
>
> I try new Fedora 41. Build fails
>
> echo 'Name: libpq' >>libpq.pc
> echo 'Description: PostgreSQL libpq library' >>libpq.pc
> echo 'URL: https://www.postgresql.org/' >>libpq.pc
> echo 'Version: 18devel' >>libpq.pc
> echo 'Requires: ' >>libpq.pc
> echo 'Requires.private: libssl, libcrypto' >>libpq.pc
> echo 'Cflags: -I${includedir}' >>libpq.pc
> echo 'Libs: -L${libdir} -lpq' >>libpq.pc
> echo 'Libs.private: -L/usr/lib64 -lpgcommon -lpgport -lssl -lm' >>libpq.pc
> fe-secure-openssl.c:62:10: fatal error: openssl/engine.h: Adresář nebo
> soubor neexistuje
>    62 | #include <openssl/engine.h>
>       |          ^~~~~~~~~~~~~~~~~~
> compilation terminated.

I am not a Fedora user but have you installed openssl-devel-engine?

<https://packages.fedoraproject.org/pkgs/openssl/openssl-devel-engine/fedora-41.html#files>

--
Herbert



Re: broken build - FC 41

From
Daniel Gustafsson
Date:
> On 9 Sep 2024, at 13:45, Pavel Stehule <pavel.stehule@gmail.com> wrote:

> echo 'Libs.private: -L/usr/lib64 -lpgcommon -lpgport -lssl -lm' >>libpq.pc
> fe-secure-openssl.c:62:10: fatal error: openssl/engine.h: Adresář nebo soubor neexistuje
>    62 | #include <openssl/engine.h>
>       |          ^~~~~~~~~~~~~~~~~~
> compilation terminated.

That implies OPENSSL_NO_ENGINE isn't defined while the engine header is
missing, which isn't really a workable combination.  Which version of OpenSSL
is this?

--
Daniel Gustafsson




Re: broken build - FC 41

From
Pavel Stehule
Date:


po 9. 9. 2024 v 13:58 odesílatel Herbert J. Skuhra <herbert@gojira.at> napsal:
On Mon, 09 Sep 2024 13:45:50 +0200, Pavel Stehule wrote:
>
> Hi
>
> I try new Fedora 41. Build fails
>
> echo 'Name: libpq' >>libpq.pc
> echo 'Description: PostgreSQL libpq library' >>libpq.pc
> echo 'URL: https://www.postgresql.org/' >>libpq.pc
> echo 'Version: 18devel' >>libpq.pc
> echo 'Requires: ' >>libpq.pc
> echo 'Requires.private: libssl, libcrypto' >>libpq.pc
> echo 'Cflags: -I${includedir}' >>libpq.pc
> echo 'Libs: -L${libdir} -lpq' >>libpq.pc
> echo 'Libs.private: -L/usr/lib64 -lpgcommon -lpgport -lssl -lm' >>libpq.pc
> fe-secure-openssl.c:62:10: fatal error: openssl/engine.h: Adresář nebo
> soubor neexistuje
>    62 | #include <openssl/engine.h>
>       |          ^~~~~~~~~~~~~~~~~~
> compilation terminated.

I am not a Fedora user but have you installed openssl-devel-engine?

<https://packages.fedoraproject.org/pkgs/openssl/openssl-devel-engine/fedora-41.html#files>

It helps

Thank you.


Pavel
 

--
Herbert


Re: broken build - FC 41

From
Pavel Stehule
Date:


po 9. 9. 2024 v 13:57 odesílatel Daniel Gustafsson <daniel@yesql.se> napsal:
> On 9 Sep 2024, at 13:45, Pavel Stehule <pavel.stehule@gmail.com> wrote:

> echo 'Libs.private: -L/usr/lib64 -lpgcommon -lpgport -lssl -lm' >>libpq.pc
> fe-secure-openssl.c:62:10: fatal error: openssl/engine.h: Adresář nebo soubor neexistuje
>    62 | #include <openssl/engine.h>
>       |          ^~~~~~~~~~~~~~~~~~
> compilation terminated.

That implies OPENSSL_NO_ENGINE isn't defined while the engine header is
missing, which isn't really a workable combination.  Which version of OpenSSL
is this?

I needed to install

Name           : openssl-devel-engine
Epoch          : 1
Version        : 3.2.2
Release        : 5.fc41
Architecture   : x86_64
Download size  : 44.0 KiB
Installed size : 52.8 KiB
Source         : openssl-3.2.2-5.fc41.src.rpm
Repository     : fedora
Summary        : Files for development of applications which will use OpenSSL and use deprecated ENGINE API.
URL            : http://www.openssl.org/
License        : Apache-2.0
Description    : OpenSSL is a toolkit for supporting cryptography. The openssl-devel-engine
               : package contains include files needed to develop applications which
               : use deprecated OpenSSL ENGINE functionality.
Vendor         : Fedora Project
pavel@nemesis:~$ sudo dnf install  openssl-devel-engine
Updating and loading repositories:
Repositories loaded.
Package                     

Today I upgraded from FC40 to FC41, and only this library was installed to make the build.

The question is why the missing header was not detected by configure?

The description of this package says so the OpenSSL ENGINE is deprecated?

Regards

Pavel





--
Daniel Gustafsson

Re: broken build - FC 41

From
Daniel Gustafsson
Date:
> On 9 Sep 2024, at 15:20, Pavel Stehule <pavel.stehule@gmail.com> wrote:

> The question is why the missing header was not detected by configure?

We don't test for every 3rd party header we include.  If engines were separate
from OpenSSL we'd probably probe for it, but this separation is a packager
decision and not one from the OpenSSL project.

> The description of this package says so the OpenSSL ENGINE is deprecated?

OpenSSL deprecated the concept of engines in favor of providers in OpenSSL 3.0,
but as is common with OpenSSL they are still around and there is a way to keep
them running albeit in a limited fashion.

PostgreSQL still support OpenSSL 1.1.1 where engines aren't deprecated, and I
expect we will for some time.

--
Daniel Gustafsson




Re: broken build - FC 41

From
Pavel Stehule
Date:
Hi

st 11. 9. 2024 v 9:54 odesílatel Daniel Gustafsson <daniel@yesql.se> napsal:
> On 9 Sep 2024, at 15:20, Pavel Stehule <pavel.stehule@gmail.com> wrote:

> The question is why the missing header was not detected by configure?

We don't test for every 3rd party header we include.  If engines were separate
from OpenSSL we'd probably probe for it, but this separation is a packager
decision and not one from the OpenSSL project.

> The description of this package says so the OpenSSL ENGINE is deprecated?

OpenSSL deprecated the concept of engines in favor of providers in OpenSSL 3.0,
but as is common with OpenSSL they are still around and there is a way to keep
them running albeit in a limited fashion.

PostgreSQL still support OpenSSL 1.1.1 where engines aren't deprecated, and I
expect we will for some time.

ok

Thank you for the reply

Regards

Pavel

--
Daniel Gustafsson