gin*_*dev 6 openssl rust rust-cargo windows-subsystem-for-linux
我已经尝试安装和重新安装 pkg-config 和 libssl-dev。看起来好像在安装时未设置 openssl 环境变量。所有其他帖子都建议安装 pkg-config 和 libssl-dev 但这在这里不起作用。有什么建议么?
\n我认为这与 WSL 有关,因为它在完整的 Ubuntu 安装上运行得很好。
\n Compiling openssl-sys v0.9.61\nThe following warnings were emitted during compilation:\n\nwarning: build/expando.c:4:24: error: pasting "RUST_VERSION_OPENSSL_" and "(" does not give a valid preprocessing token\nwarning: 4 | #define VERSION2(n, v) RUST_VERSION_##n##_##v\nwarning: | ^~~~~~~~~~~~~\nwarning: build/expando.c:5:23: note: in expansion of macro \xe2\x80\x98VERSION2\xe2\x80\x99\nwarning: 5 | #define VERSION(n, v) VERSION2(n, v)\nwarning: | ^~~~~~~~\nwarning: build/expando.c:10:1: note: in expansion of macro \xe2\x80\x98VERSION\xe2\x80\x99\nwarning: 10 | VERSION(OPENSSL, OPENSSL_VERSION_NUMBER)\nwarning: | ^~~~~~~\n\nerror: failed to run custom build command for `openssl-sys v0.9.61`\n\nCaused by:\n process didn't exit successfully: `/home/andrew/noaa-weather/target/debug/build/openssl-sys-807532aa820f3352/build-script-main` (exit code: 101)\n --- stdout\n cargo:rustc-cfg=const_fn\n cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR\n X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset\n cargo:rerun-if-env-changed=OPENSSL_LIB_DIR\n OPENSSL_LIB_DIR unset\n cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR\n X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset\n cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR\n OPENSSL_INCLUDE_DIR unset\n cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR\n X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset\n cargo:rerun-if-env-changed=OPENSSL_DIR\n OPENSSL_DIR unset\n cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG\n cargo:rerun-if-env-changed=PKG_CONFIG\n cargo:rerun-if-env-changed=OPENSSL_STATIC\n cargo:rerun-if-env-changed=OPENSSL_DYNAMIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR\n cargo:rerun-if-env-changed=SYSROOT\n cargo:rerun-if-env-changed=OPENSSL_STATIC\n cargo:rerun-if-env-changed=OPENSSL_DYNAMIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC\n cargo:rustc-link-search=native=/usr/local/lib\n cargo:rustc-link-lib=ssl\n cargo:rustc-link-lib=crypto\n cargo:rerun-if-env-changed=PKG_CONFIG\n cargo:rerun-if-env-changed=OPENSSL_STATIC\n cargo:rerun-if-env-changed=OPENSSL_DYNAMIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC\n cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH\n cargo:rerun-if-env-changed=PKG_CONFIG_PATH\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR\n cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu\n cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR\n cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR\n OPT_LEVEL = Some("0")\n TARGET = Some("x86_64-unknown-linux-gnu")\n HOST = Some("x86_64-unknown-linux-gnu")\n CC_x86_64-unknown-linux-gnu = None\n CC_x86_64_unknown_linux_gnu = None\n HOST_CC = None\n CC = None\n CFLAGS_x86_64-unknown-linux-gnu = None\n CFLAGS_x86_64_unknown_linux_gnu = None\n HOST_CFLAGS = None\n CFLAGS = None\n CRATE_CC_NO_DEFAULTS = None\n DEBUG = Some("true")\n CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")\n running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "/usr/local/include" "-Wall" "-Wextra" "-E" "build/expando.c"\n cargo:warning=build/expando.c:4:24: error: pasting "RUST_VERSION_OPENSSL_" and "(" does not give a valid preprocessing token\n cargo:warning= 4 | #define VERSION2(n, v) RUST_VERSION_##n##_##v\n cargo:warning= | ^~~~~~~~~~~~~\n cargo:warning=build/expando.c:5:23: note: in expansion of macro \xe2\x80\x98VERSION2\xe2\x80\x99\n cargo:warning= 5 | #define VERSION(n, v) VERSION2(n, v)\n cargo:warning= | ^~~~~~~~\n cargo:warning=build/expando.c:10:1: note: in expansion of macro \xe2\x80\x98VERSION\xe2\x80\x99\n cargo:warning= 10 | VERSION(OPENSSL, OPENSSL_VERSION_NUMBER)\n cargo:warning= | ^~~~~~~\n exit code: 1\n\n --- stderr\n thread 'main' panicked at '\n Header expansion error:\n Error { kind: ToolExecError, message: "Command \\"cc\\" \\"-O0\\" \\"-ffunction-sections\\" \\"-fdata-sections\\" \\"-fPIC\\" \\"-g\\" \\"-fno-omit-frame-pointer\\" \\"-m64\\" \\"-I\\" \\"/usr/local/include\\" \\"-Wall\\" \\"-Wextra\\" \\"-E\\" \\"build/expando.c\\" with args \\"cc\\" did not execute successfully (status code exit code: 1)." }\n\n Failed to find OpenSSL development headers.\n\n You can try fixing this setting the `OPENSSL_DIR` environment variable\n pointing to your OpenSSL installation or installing OpenSSL headers package\n specific to your distribution:\n\n # On Ubuntu\n sudo apt-get install libssl-dev\n # On Arch Linux\n sudo pacman -S openssl\n # On Fedora\n sudo dnf install openssl-devel\n\n See rust-openssl README for more information:\n\n https://github.com/sfackler/rust-openssl#linux\nRun Code Online (Sandbox Code Playgroud)\n
正如评论所述,OpenSSL3.x可能不兼容,但您可以安装最新1.1.1版本:
# latest March 2023 release
ENV OPENSSL_DIR="/opt/openssl"
curl "https://www.openssl.org/source/openssl-1.1.1t.tar.gz" \
--output "/tmp/openssl.tar.gz"
mkdir --parent "/tmp/openssl"
tar \
--extract \
--file="/tmp/openssl.tar.gz" \
--strip=1 \
--directory="/tmp/openssl"
( \
cd "${TMP}/openssl" \
./config \
--prefix="/opt/openssl" \
--openssldir="/opt/openssl" \
make && make install \
)
Run Code Online (Sandbox Code Playgroud)
笔记:
1.1.1因此,如果可以的话,现在坚持下去可能会更加谨慎。
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |