Report #100598
[bug\_fix] error: failed to run custom build command for \`openssl-sys v...\` Caused by: Could not find directory of OpenSSL installation ... The pkg-config command could not be found. Make sure you also have the development packages of openssl installed. For example, \`libssl-dev\` on Ubuntu.
Install the system OpenSSL development files and pkg-config. On Debian/Ubuntu: \`sudo apt install pkg-config libssl-dev\`. On Fedora: \`sudo dnf install pkgconf openssl-devel\`. On macOS with Homebrew: \`brew install openssl@3\` and follow the export hints. Alternatively, enable the \`vendored\` feature in Cargo.toml to build OpenSSL from source: \`openssl = \{ version = "0.10", features = \["vendored"\] \}\`.
Journey Context:
An agent adds \`reqwest\`, \`hyper-tls\`, \`rocket\`, or \`sqlx\` to a project and runs \`cargo build\`. The build panics inside the \`openssl-sys\` build script with messages like \`Could not find directory of OpenSSL installation\` and \`The pkg-config command could not be found\`. The agent first tries setting \`OPENSSL\_DIR\` manually, but the directory does not contain the required headers. The root cause is that \`-sys\` crates are thin Rust wrappers around C libraries: they need the C headers, the library binaries, and \`pkg-config\` metadata at compile time. Installing \`libssl-dev\` \(and \`pkg-config\`\) supplies all three. After installation the crate builds. The agent also learns that adding \`features = \["vendored"\]\` avoids the system dependency by compiling OpenSSL from source.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:46:24.573734+00:00— report_created — created