-
Notifications
You must be signed in to change notification settings - Fork 156
Open
Labels
Description
Fedora 41 fails to build libssh as openssl/engine.h is no longer included with the openssl-devel package. For the time being compatibility is offered via a separate openssl-devel-engine package.
Broader failures will occur once a future OpenSSL 4.0 release arrives. For context the engine API has been deprecated for a while AFAIK and will be dropped in the next major OpenSSL release.
Build error output
cargo:warning=In file included from libssh2/src/agent.c:40:
cargo:warning=In file included from libssh2/src/libssh2_priv.h:57:
cargo:warning=In file included from /usr/include/stdio.h:28:
cargo:warning=In file included from /usr/include/bits/libc-header-start.h:33:
cargo:warning=/usr/include/features.h:503:9: warning: '__GLIBC_MINOR__' macro redefined [-Wmacro-redefined]
cargo:warning= 503 | #define __GLIBC_MINOR__ 40
cargo:warning= | ^
cargo:warning=<command line>:1:9: note: previous definition is here
cargo:warning= 1 | #define __GLIBC_MINOR__ 17
cargo:warning= | ^
cargo:warning=In file included from libssh2/src/bcrypt_pbkdf.c:21:
cargo:warning=In file included from libssh2/src/libssh2_priv.h:57:
cargo:warning=In file included from /usr/include/stdio.h:28:
cargo:warning=In file included from /usr/include/bits/libc-header-start.h:33:
cargo:warning=/usr/include/features.h:503:9: warning: '__GLIBC_MINOR__' macro redefined [-Wmacro-redefined]
cargo:warning= 503 | #define __GLIBC_MINOR__ 40
cargo:warning= | ^
cargo:warning=<command line>:1:9: note: previous definition is here
cargo:warning= 1 | #define __GLIBC_MINOR__ 17
cargo:warning= | ^
cargo:warning=In file included from libssh2/src/blowfish.c:49:
cargo:warning=In file included from /usr/include/sys/types.h:25:
cargo:warning=/usr/include/features.h:503:9: warning: '__GLIBC_MINOR__' macro redefined [-Wmacro-redefined]
cargo:warning= 503 | #define __GLIBC_MINOR__ 40
cargo:warning= | ^
cargo:warning=<command line>:1:9: note: previous definition is here
cargo:warning= 1 | #define __GLIBC_MINOR__ 17
cargo:warning= | ^
cargo:warning=In file included from libssh2/src/agent.c:40:
cargo:warning=In file included from libssh2/src/libssh2_priv.h:141:
cargo:warning=In file included from libssh2/src/crypto.h:42:
cargo:warning=libssh2/src/openssl.h:83:10: fatal error: 'openssl/engine.h' file not found
cargo:warning= 83 | #include <openssl/engine.h>
cargo:warning= | ^~~~~~~~~~~~~~~~~~
cargo:warning=1 warning and 1 error generated.
exit status: 1
Most of that can be ignored, I just wanted to draw attention to the failure cause:
libssh2/src/openssl.h:83:10: fatal error: 'openssl/engine.h' file not found
So that line is upstream at: https://github.com/libssh2/libssh2/blob/libssh2-1.11.0/src/openssl.h#L84
I'm not sure if an issue needs to be raised there as they seem to have support for no engine, thus perhaps it's something required to be detected / handled here instead?