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

https://www.youtube.com/watch?v=jdtoyIW4Lec 获取分步说明。