Cannot Build with OpenSSL 1.1.1f on Ubuntu 20.04 LTS
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- build-system, security
Research direction
Start by reproducing the Cargo build on Ubuntu 20.04 with the reported OpenSSL 1.1.1f packages and environment variables. Inspect the openssl-sys build output and linker errors; done means the project builds without the reported SSL_read_ex, SSL_write_ex, SSL_CTX_ctrl, and SSL_ctrl failures.
Written by the indexing model from the issue text.
Description
/usr/bin/ld: /root/testing/target/debug/deps/libreqwest-e63f940b995b3a5a.rlib(reqwest-e63f940b995b3a5a.reqwest.2b69ba60e2e131ae-cgu.03.rcgu.o): in function 'openssl::ssl::SslStream<S>::ssl_read_uninit':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.66/src/ssl/mod.rs:3786: undefined reference to 'SSL_read_ex'
/usr/bin/ld: /root/testing/target/debug/deps/libreqwest-e63f940b995b3a5a.rlib(reqwest-e63f940b995b3a5a.reqwest.2b69ba60e2e131ae-cgu.03.rcgu.o): in function 'openssl::ssl::SslStream<S>::ssl_read_uninit':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.66/src/ssl/mod.rs:3786: undefined reference to 'SSL_read_ex'
/usr/bin/ld: /root/testing/target/debug/deps/libreqwest-e63f940b995b3a5a.rlib(reqwest-e63f940b995b3a5a.reqwest.2b69ba60e2e131ae-cgu.03.rcgu.o): in function 'openssl::ssl::SslStream<S>::ssl_write':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.66/src/ssl/mod.rs:3827: undefined reference to 'SSL_write_ex'
/usr/bin/ld: /root/testing/target/debug/deps/libreqwest-e63f940b995b3a5a.rlib(reqwest-e63f940b995b3a5a.reqwest.2b69ba60e2e131ae-cgu.03.rcgu.o): in function 'openssl::ssl::SslStream<S>::ssl_write':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.66/src/ssl/mod.rs:3827: undefined reference to 'SSL_write_ex'
/usr/bin/ld: /root/testing/target/debug/deps/libopenssl_sys-4170f4211535d644.rlib(openssl_sys-4170f4211535d644.openssl_sys.74c5284e5add6480-cgu.0.rcgu.o): in function 'openssl_sys::openssl::ssl::SSL_CTX_set_mode':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.103/src/./ssl.rs:246: undefined reference to 'SSL_CTX_ctrl'
/usr/bin/ld: /root/testing/target/debug/deps/libopenssl_sys-4170f4211535d644.rlib(openssl_sys-4170f4211535d644.openssl_sys.74c5284e5add6480-cgu.0.rcgu.o): in function 'openssl_sys::openssl::ssl::SSL_CTX_add_extra_chain_cert':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.103/src/./ssl.rs:384: undefined reference to 'SSL_CTX_ctrl'
/usr/bin/ld: /root/testing/target/debug/deps/libopenssl_sys-4170f4211535d644.rlib(openssl_sys-4170f4211535d644.openssl_sys.74c5284e5add6480-cgu.0.rcgu.o): in function 'openssl_sys::openssl::tls1::SSL_set_tlsext_host_name':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.103/src/./tls1.rs:24: undefined reference to 'SSL_ctrl'
/usr/bin/ld: /root/testing/target/debug/deps/libopenssl_sys-4170f4211535d644.rlib(openssl_sys-4170f4211535d644.openssl_sys.74c5284e5add6480-cgu.0.rcgu.o): in function 'openssl_sys::openssl::ssl::SSL_CTX_set_min_proto_version':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.103/src/./ssl.rs:459: undefined reference to 'SSL_CTX_ctrl'
/usr/bin/ld: /root/testing/target/debug/deps/libopenssl_sys-4170f4211535d644.rlib(openssl_sys-4170f4211535d644.openssl_sys.74c5284e5add6480-cgu.0.rcgu.o): in function 'openssl_sys::openssl::ssl::SSL_CTX_set_max_proto_version':
/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.103/src/./ssl.rs:468: undefined reference to 'SSL_CTX_ctrl'
collect2: error: ld returned 1 exit status
confirmed to have non conflicting versions;
`apt search ^libssl | grep installed
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libssl-dev/focal-updates,focal-security,now 1.1.1f-1ubuntu2.23 amd64 [installed]
libssl1.1/focal-updates,focal-security,now 1.1.1f-1ubuntu2.23 amd64 [installed]`
build output
cargo:rustc-check-cfg=cfg(osslconf, values("OPENSSL_NO_OCB", "OPENSSL_NO_SM4", "OPENSSL_NO_SEED", "OPENSSL_NO_CHACHA", "OPENSSL_NO_CAST", "OPENSSL_NO_IDEA", "OPENSSL_NO_CAMELLIA", "OPENSSL_NO_RC4", "OPENSSL_NO_BF", "OPENSSL_NO_PSK", "OPENSSL_NO_DEPRECATED_3_0", "OPENSSL_NO_SCRYPT", "OPENSSL_NO_SM3", "OPENSSL_NO_RMD160", "OPENSSL_NO_EC2M", "OPENSSL_NO_OCSP", "OPENSSL_NO_CMS", "OPENSSL_NO_COMP", "OPENSSL_NO_SOCK", "OPENSSL_NO_STDIO"))
cargo:rustc-check-cfg=cfg(openssl)
cargo:rustc-check-cfg=cfg(libressl)
cargo:rustc-check-cfg=cfg(boringssl)
cargo:rustc-check-cfg=cfg(libressl250)
cargo:rustc-check-cfg=cfg(libressl251)
cargo:rustc-check-cfg=cfg(libressl252)
cargo:rustc-check-cfg=cfg(libressl261)
cargo:rustc-check-cfg=cfg(libressl270)
cargo:rustc-check-cfg=cfg(libressl271)
cargo:rustc-check-cfg=cfg(libressl273)
cargo:rustc-check-cfg=cfg(libressl280)
cargo:rustc-check-cfg=cfg(libressl281)
cargo:rustc-check-cfg=cfg(libressl291)
cargo:rustc-check-cfg=cfg(libressl310)
cargo:rustc-check-cfg=cfg(libressl321)
cargo:rustc-check-cfg=cfg(libressl332)
cargo:rustc-check-cfg=cfg(libressl340)
cargo:rustc-check-cfg=cfg(libressl350)
cargo:rustc-check-cfg=cfg(libressl360)
cargo:rustc-check-cfg=cfg(libressl361)
cargo:rustc-check-cfg=cfg(libressl370)
cargo:rustc-check-cfg=cfg(libressl380)
cargo:rustc-check-cfg=cfg(libressl381)
cargo:rustc-check-cfg=cfg(libressl382)
cargo:rustc-check-cfg=cfg(libressl390)
cargo:rustc-check-cfg=cfg(libressl400)
cargo:rustc-check-cfg=cfg(ossl101)
cargo:rustc-check-cfg=cfg(ossl102)
cargo:rustc-check-cfg=cfg(ossl102f)
cargo:rustc-check-cfg=cfg(ossl102h)
cargo:rustc-check-cfg=cfg(ossl110)
cargo:rustc-check-cfg=cfg(ossl110f)
cargo:rustc-check-cfg=cfg(ossl110g)
cargo:rustc-check-cfg=cfg(ossl110h)
cargo:rustc-check-cfg=cfg(ossl111)
cargo:rustc-check-cfg=cfg(ossl111b)
cargo:rustc-check-cfg=cfg(ossl111c)
cargo:rustc-check-cfg=cfg(ossl111d)
cargo:rustc-check-cfg=cfg(ossl300)
cargo:rustc-check-cfg=cfg(ossl310)
cargo:rustc-check-cfg=cfg(ossl320)
cargo:rustc-check-cfg=cfg(ossl330)
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR = /usr/lib/x86_64-linux-gnu
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR = /usr/include/openssl
cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu
cargo:include=/usr/include/openssl
cargo:rerun-if-changed=build/expando.c
OPT_LEVEL = Some(0)
TARGET = Some(x86_64-unknown-linux-gnu)
OUT_DIR = Some(/root/testing/target/debug/build/openssl-sys-0276375ae411a7a7/out)
HOST = Some(x86_64-unknown-linux-gnu)
cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
CC_x86_64-unknown-linux-gnu = None
cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
CC_x86_64_unknown_linux_gnu = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
RUSTC_WRAPPER = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some(true)
CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
CFLAGS_x86_64-unknown-linux-gnu = None
cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
CFLAGS_x86_64_unknown_linux_gnu = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rustc-cfg=osslconf="OPENSSL_NO_IDEA"
cargo:rustc-cfg=osslconf="OPENSSL_NO_SSL3_METHOD"
cargo:conf=OPENSSL_NO_IDEA,OPENSSL_NO_SSL3_METHOD
cargo:rustc-cfg=openssl
cargo:rustc-cfg=ossl101
cargo:rustc-cfg=ossl102
cargo:rustc-cfg=ossl102f
cargo:rustc-cfg=ossl102h
cargo:rustc-cfg=ossl110
cargo:rustc-cfg=ossl110f
cargo:rustc-cfg=ossl110g
cargo:rustc-cfg=ossl110h
cargo:rustc-cfg=ossl111
cargo:rustc-cfg=ossl111b
cargo:rustc-cfg=ossl111c
cargo:rustc-cfg=ossl111d
cargo:version_number=1010106f
cargo:version=111
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIBS
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIBS unset
cargo:rerun-if-env-changed=OPENSSL_LIBS
OPENSSL_LIBS unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_STATIC
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_STATIC unset
cargo:rerun-if-env-changed=OPENSSL_STATIC
OPENSSL_STATIC unset
cargo:rustc-link-lib=dylib=ssl
cargo:rustc-link-lib=dylib=crypto
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 841
- Avg merge
- 6h 51m
- Merged PRs (30d)
- 4
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-openssl/rust-openssl
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
rust-openssl/rust-openssl#2685 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
rust-openssl/rust-openssl#2672 · 1 comment · 1 reaction ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
rust-openssl/rust-openssl#1664 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
rust-openssl/rust-openssl#2682 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
rust-openssl/rust-openssl#2681 · 1 comment ·
All issues in rust-openssl/rust-openssl
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100