RHEL8下Mozilla Synstorage-rs安装/make失败
Mozilla Synstorage-rs installation / make fails under RHEL8
我目前正在尝试在 RockyLinux 机器上安装 mozilla synstorage-RS,我可以逐步减少错误数量,但现在我卡住了。
我发现在 Makefile 中执行以下命令以防 SSL 出现问题,所以我这样做了
cargo build --features grpcio/openssl
这很好,这终于奏效了
cargo build --features grpcio/openssl
Compiling syncstorage v0.10.2 (/var/www/html/syncstorage-rs)
Finished dev [unoptimized + debuginfo] target(s) in 35.59s
但是当我现在尝试 运行 make run
或 make test
或其他任何东西时,我只是得到
= note: /usr/bin/ld: /var/www/html/syncstorage-rs/target/debug/deps/libopenssl-dc6f50ea1194640f.rlib(openssl-dc6f50ea1194640f.openssl.9bacb62b-cgu.1.rcgu.o): undefined reference to symbol 'OPENSSL_cipher_name@@OPENSSL_1_1_1'
//usr/lib64/libssl.so.1.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
= help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
error: could not compile `syncstorage` due to previous error
make: *** [Makefile:45: test] Error 101
我错过了什么?
我想在构建之后它可能 运行 很容易。
所以答案是在继续之前使用 cargo clean
。我不知道为什么,但即使我以前没有建造过,也似乎有一些旧的人工制品。然而,在执行 cargo clear 命令后,构建 openssl 完全运行(比之前多了很多行),之后,还有一小步要做:
python3 -m venv venv # creates a virtual environment named "venv"
source venv/bin/activate # enters the virtual environment
python3 -m pip install -r requirements.txt # installs the packages
终于 make run
成功了。
有关详细信息,请参阅 https://github.com/mozilla-services/syncstorage-rs/issues/1241
我目前正在尝试在 RockyLinux 机器上安装 mozilla synstorage-RS,我可以逐步减少错误数量,但现在我卡住了。
我发现在 Makefile 中执行以下命令以防 SSL 出现问题,所以我这样做了
cargo build --features grpcio/openssl
这很好,这终于奏效了
cargo build --features grpcio/openssl
Compiling syncstorage v0.10.2 (/var/www/html/syncstorage-rs)
Finished dev [unoptimized + debuginfo] target(s) in 35.59s
但是当我现在尝试 运行 make run
或 make test
或其他任何东西时,我只是得到
= note: /usr/bin/ld: /var/www/html/syncstorage-rs/target/debug/deps/libopenssl-dc6f50ea1194640f.rlib(openssl-dc6f50ea1194640f.openssl.9bacb62b-cgu.1.rcgu.o): undefined reference to symbol 'OPENSSL_cipher_name@@OPENSSL_1_1_1'
//usr/lib64/libssl.so.1.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
= help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
error: could not compile `syncstorage` due to previous error
make: *** [Makefile:45: test] Error 101
我错过了什么? 我想在构建之后它可能 运行 很容易。
所以答案是在继续之前使用 cargo clean
。我不知道为什么,但即使我以前没有建造过,也似乎有一些旧的人工制品。然而,在执行 cargo clear 命令后,构建 openssl 完全运行(比之前多了很多行),之后,还有一小步要做:
python3 -m venv venv # creates a virtual environment named "venv"
source venv/bin/activate # enters the virtual environment
python3 -m pip install -r requirements.txt # installs the packages
终于 make run
成功了。
有关详细信息,请参阅 https://github.com/mozilla-services/syncstorage-rs/issues/1241