Мой проект написан на Rust (Ubuntu 16.04, CMake 3.5.1
).
Ранее он использовал grpcio = "0.4.0"
в качестве зависимости в Cargo.toml
, и я мог успешно кросс-компилировать (то есть создать статический двоичный файл) его(используя cross
).Однако после того, как я изменил свою зависимость на grpcio = { version = "0.4.2", features = ["openssl"] }
, я больше не могу кросс-компилировать ее: он говорит, что не может скомпилировать grpcio-sys = "0.4.2"
и отображает несколько ошибок CMake (и я не могу продолжать использовать 0.4.0
потому что он не поддерживает features=["openssl"]
):
- Не удалось найти некоторые флаги среды для OpenSSL (хотя я установил
sudo apt-get install libssl-dev
) для Ubuntu 16.04
. gRPC_PROTOBUF_PROVIDER is "module" but PROTOBUF_ROOT_DIR is wrong
.
Как это исправить? В этом сообщении говорится, что я должен полностью избегать OpenSSL.А вот еще один пост о кросс-компиляции с OpenSSL.