Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Building expects `openssl/engine.h` despite engine API being deprecated?

Aperta
#328 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c, rust

Direzione di ricerca

Inizia da libssh2/src/openssl.h alla riga 83 e dal commit di libssh2 per il supporto senza engine collegato nell’issue. Riproduci il fallimento della compilazione di Fedora 41 e determina come ssh2-rs dovrebbe gestire l’header engine mancante o la funzionalità upstream. Il lavoro è completato quando il progetto viene compilato sui sistemi interessati senza richiedere openssl/engine.h.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

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?

Lingua principale
Rust
Stelle
569
Fork
166
Merge medio
1g 12h
PR unite (30g)
3

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-lang/ssh2-rs

Tutte le issue di rust-lang/ssh2-rs

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.