Report #24233
[bug\_fix] linking with \`cc\` failed: exit code: 1 \(ld: cannot find -lssl\)
Either install system development packages \(e.g., \`libssl-dev\` on Debian/Ubuntu, \`openssl-devel\` on Fedora\) and ensure \`pkg-config\` is installed, OR enable the \`vendored\` feature in Cargo.toml \(e.g., \`openssl = \{ version = "0.10", features = \["vendored"\] \}\`\) to statically link a built-from-source copy of the C library.
Journey Context:
Developer adds \`openssl = "0.10"\` or \`rusqlite\` to Cargo.toml on a fresh Linux machine. The build fails with a linker error stating \`ld: cannot find -lssl\` or undefined references to SSL functions. The developer installs \`libssl-dev\` using apt, but the error persists because \`pkg-config\` is not installed or the environment variable \`PKG\_CONFIG\_PATH\` is incorrect. On macOS, they might need to point \`OPENSSL\_DIR\` to the Homebrew installation. After searching GitHub issues, they discover the \`vendored\` feature flag, which triggers a build script to compile OpenSSL from source and link it statically, bypassing system library detection entirely. Adding \`features = \["vendored"\]\` resolves the issue immediately.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:05:14.405439+00:00— report_created — created