Benjamin-Loison / matrix-commander-rs

simple but convenient CLI-based Matrix client app for sending and receiving (in Rust)
GNU General Public License v3.0
0 stars 0 forks source link

Faster installation than compiling with `cargo install matrix-commander`? #2

Open Benjamin-Loison opened 12 months ago

Benjamin-Loison commented 12 months ago

With Oracle Cloud shape with 4 vCPU and 24 GB of RAM.

cargo install matrix-commander

I could build my own binary but as may have different dependencies than the target machine it does not look like a good idea.

Otherwise I will stick to Python until further resolution of this issue.

Output: ``` Updating crates.io index Downloaded matrix-commander v0.3.0 Downloaded 1 crate (366.0 KB) in 0.26s Installing matrix-commander v0.3.0 Updating crates.io index Downloaded futures-macro v0.3.29 Downloaded futures-sink v0.3.29 Downloaded anstyle-query v1.0.2 Downloaded wasm-bindgen-futures v0.4.39 Downloaded ring v0.17.7 Downloaded winnow v0.5.26 Downloaded web-sys v0.3.66 Downloaded serde_json v1.0.108 Downloaded semver v1.0.20 Downloaded regex v1.10.2 Downloaded webpki-roots v0.25.3 Downloaded wasm-bindgen-shared v0.2.89 Downloaded wasm-bindgen-macro v0.2.89 Downloaded wasm-bindgen-backend v0.2.89 Downloaded wasm-bindgen v0.2.89 Downloaded uuid v1.6.1 Downloaded url v2.5.0 Downloaded untrusted v0.9.0 Downloaded unicode-bidi v0.3.14 Downloaded tracing-subscriber v0.3.18 Downloaded tracing-log v0.2.0 Downloaded tracing-attributes v0.1.27 Downloaded tracing v0.1.40 Downloaded toml_datetime v0.6.5 Downloaded tokio-util v0.7.10 Downloaded tokio v1.35.0 Downloaded thiserror-impl v1.0.50 Downloaded spin v0.9.8 Downloaded socket2 v0.5.5 Downloaded socket2 v0.4.10 Downloaded smallvec v1.11.2 Downloaded sharded-slab v0.1.7 Downloaded serde_derive v1.0.193 Downloaded flate2 v1.0.28 Downloaded clap_lex v0.6.0 Downloaded base64 v0.21.5 Downloaded reqwest v0.11.22 Downloaded regex-syntax v0.8.2 Downloaded futures-util v0.3.29 Downloaded futures-task v0.3.29 Downloaded anstyle-parse v0.2.3 Downloaded try-lock v0.2.5 Downloaded sct v0.7.1 Downloaded rustls-webpki v0.101.7 Downloaded rustix v0.38.27 Downloaded parking_lot_core v0.9.9 Downloaded linux-raw-sys v0.4.12 Downloaded ipnet v2.9.0 Downloaded hyper-rustls v0.24.2 Downloaded http-body v0.4.6 Downloaded getrandom v0.2.11 Downloaded futures-core v0.3.29 Downloaded clap_builder v4.4.11 Downloaded clap v4.4.11 Downloaded byteorder v1.5.0 Downloaded rtoolbox v0.0.2 Downloaded anstyle v1.0.4 Downloaded aho-corasick v1.1.2 Downloaded async-trait v0.1.74 Downloaded wasm-bindgen-macro-support v0.2.89 Downloaded tracing-core v0.1.32 Downloaded tokio-macros v2.2.0 Downloaded thiserror v1.0.50 Downloaded syn v2.0.39 Downloaded sha2 v0.10.8 Downloaded serde v1.0.193 Downloaded rustls-pemfile v1.0.4 Downloaded rustls v0.21.10 Downloaded rpassword v7.3.1 Downloaded regex-automata v0.4.3 Downloaded proc-macro2 v1.0.70 Downloaded percent-encoding v2.3.1 Downloaded openssl-sys v0.9.97 Downloaded openssl v0.10.61 Downloaded once_cell v1.19.0 Downloaded mio v0.8.10 Downloaded memchr v2.6.4 Downloaded lock_api v0.4.11 Downloaded libc v0.2.150 Downloaded js-sys v0.3.66 Downloaded indexmap v2.1.0 Downloaded idna v0.5.0 Downloaded http v0.2.11 Downloaded hashbrown v0.14.3 Downloaded h2 v0.3.22 Downloaded futures-channel v0.3.29 Downloaded errno v0.3.8 Downloaded cpufeatures v0.2.11 Downloaded clap_derive v4.4.7 Downloaded bitflags v2.4.1 Downloaded futures-io v0.3.29 Downloaded form_urlencoded v1.2.1 Downloaded anstream v0.6.5 Downloaded ahash v0.7.7 Downloaded ureq v2.9.1 Downloaded 95 crates (15.1 MB) in 2.03s (largest was `ring` at 4.1 MB) Compiling proc-macro2 v1.0.70 Compiling unicode-ident v1.0.12 Compiling libc v0.2.150 Compiling cfg-if v1.0.0 Compiling version_check v0.9.4 Compiling typenum v1.17.0 Compiling generic-array v0.14.7 Compiling autocfg v1.1.0 Compiling quote v1.0.33 Compiling serde v1.0.193 Compiling syn v2.0.39 Compiling getrandom v0.2.11 Compiling once_cell v1.19.0 Compiling cc v1.0.83 Compiling pin-project-lite v0.2.13 Compiling itoa v1.0.9 Compiling syn v1.0.109 Compiling bytes v1.5.0 Compiling unicase v2.7.0 Compiling subtle v2.5.0 Compiling thiserror v1.0.50 Compiling futures-core v0.3.29 Compiling tracing-core v0.1.32 Compiling rand_core v0.6.4 Compiling ppv-lite86 v0.2.17 Compiling crypto-common v0.1.6 Compiling ryu v1.0.15 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.6.0 Compiling fnv v1.0.7 Compiling serde_json v1.0.108 Compiling percent-encoding v2.3.1 Compiling form_urlencoded v1.2.1 Compiling http v0.2.11 Compiling unicode-normalization v0.1.22 Compiling mio v0.8.10 Compiling num_cpus v1.16.0 Compiling socket2 v0.5.5 Compiling ahash v0.7.7 Compiling getrandom v0.1.16 Compiling unicode-bidi v0.3.14 Compiling slab v0.4.9 Compiling memchr v2.6.4 Compiling idna v0.5.0 Compiling equivalent v1.0.1 Compiling bitflags v2.4.1 Compiling hashbrown v0.14.3 Compiling serde_derive v1.0.193 Compiling thiserror-impl v1.0.50 Compiling tracing-attributes v0.1.27 Compiling tokio-macros v2.2.0 Compiling tokio v1.35.0 Compiling zeroize_derive v1.4.2 Compiling tracing v0.1.40 Compiling futures-task v0.3.29 Compiling log v0.4.20 Compiling zeroize v1.3.0 Compiling indexmap v2.1.0 Compiling rand_chacha v0.3.1 Compiling block-buffer v0.10.4 Compiling cpufeatures v0.2.11 Compiling winnow v0.5.26 Compiling toml_datetime v0.6.5 Compiling vcpkg v0.2.15 Compiling pkg-config v0.3.27 Compiling futures-util v0.3.29 Compiling anyhow v1.0.75 Compiling openssl-sys v0.9.97 Compiling toml_edit v0.19.15 Compiling url v2.5.0 Compiling digest v0.10.7 Compiling rand v0.8.5 Compiling hashbrown v0.12.3 Compiling rand_core v0.5.1 Compiling futures-macro v0.3.29 Compiling aho-corasick v1.1.2 Compiling block-padding v0.3.3 Compiling indexmap v1.9.3 Compiling byteorder v1.5.0 Compiling pulldown-cmark v0.9.3 Compiling pin-utils v0.1.0 Compiling js_int v0.2.2 Compiling regex-syntax v0.8.2 Compiling opaque-debug v0.3.0 Compiling smallvec v1.11.2 Compiling proc-macro-crate v1.3.1 Compiling ruma-identifiers-validation v0.9.1 Compiling inout v0.1.3 Compiling toml v0.5.11 Compiling regex-automata v0.4.3 Compiling digest v0.9.0 Compiling lock_api v0.4.11 Compiling instant v0.1.12 Compiling bitflags v1.3.2 Compiling scopeguard v1.2.0 Compiling base64 v0.13.1 Compiling futures-channel v0.3.29 Compiling ruma-macros v0.10.5 Compiling regex v1.10.2 Compiling cipher v0.4.4 Compiling hmac v0.12.1 Compiling js_option v0.1.1 Compiling ring v0.17.7 Compiling uuid v1.6.1 Compiling wildmatch v2.1.1 Compiling either v1.9.0 Compiling crc32fast v1.3.2 Compiling strsim v0.10.0 Compiling ident_case v1.0.1 Compiling const-oid v0.7.1 Compiling darling_core v0.14.4 Compiling der v0.5.1 Compiling itertools v0.10.5 Compiling ruma-common v0.10.5 Compiling curve25519-dalek v3.2.1 Compiling rand_chacha v0.2.2 Compiling sha2 v0.10.8 Compiling arrayvec v0.7.4 Compiling block-buffer v0.9.0 Compiling parking_lot_core v0.9.9 Compiling maplit v1.0.2 Compiling openssl v0.10.61 Compiling rustix v0.38.27 Compiling signature v1.6.4 Compiling foreign-types-shared v0.1.1 Compiling assign v1.1.1 Compiling base64ct v1.6.0 Compiling foreign-types v0.3.2 Compiling ed25519 v1.5.3 Compiling password-hash v0.4.2 Compiling sha2 v0.9.9 Compiling rand v0.7.3 Compiling prost-derive v0.11.9 Compiling darling_macro v0.14.4 Compiling spki v0.5.4 Compiling serde_bytes v0.11.12 Compiling openssl-macros v0.1.1 Compiling memoffset v0.9.0 Compiling untrusted v0.9.0 Compiling crossbeam-utils v0.8.16 Compiling parking_lot_core v0.8.6 Compiling spin v0.9.8 Compiling native-tls v0.2.11 Compiling async-trait v0.1.74 Compiling futures-sink v0.3.29 Compiling httparse v1.8.0 Compiling linux-raw-sys v0.4.12 Compiling matrix-sdk-common v0.6.0 Compiling tokio-util v0.7.10 Compiling prost v0.11.9 Compiling ed25519-dalek v1.0.1 Compiling darling v0.14.4 Compiling pkcs7 v0.3.0 Compiling pbkdf2 v0.11.0 Compiling x25519-dalek v1.2.0 Compiling hkdf v0.12.3 Compiling aes v0.8.3 Compiling cbc v0.1.2 Compiling pin-project-internal v1.1.3 Compiling blake3 v1.5.0 Compiling universal-hash v0.4.0 Compiling cipher v0.3.0 Compiling crossbeam-epoch v0.9.15 Compiling try-lock v0.2.5 Compiling openssl-probe v0.1.5 Compiling want v0.3.1 Compiling chacha20 v0.8.2 Compiling ruma-client-api v0.15.3 Compiling pin-project v1.1.3 Compiling poly1305 v0.7.2 Compiling vodozemac v0.3.0 Compiling gensym v0.1.1 Compiling dashmap v5.5.3 Compiling derive_builder_core v0.11.2 Compiling h2 v0.3.22 Compiling ctr v0.9.2 Compiling async-stream-impl v0.3.5 Compiling http-body v0.4.6 Compiling ruma v0.7.4 Compiling aead v0.4.3 Compiling socket2 v0.4.10 Compiling httpdate v1.0.3 Compiling event-listener v2.5.3 Compiling discard v1.0.4 Compiling arrayref v0.3.7 Compiling base64 v0.21.5 Compiling adler v1.0.2 Compiling atomic v0.5.3 Compiling utf8parse v0.2.1 Compiling constant_time_eq v0.3.0 Compiling rustls v0.21.10 Compiling tower-service v0.3.2 Compiling hyper v0.14.27 Compiling anstyle-parse v0.2.3 Compiling matrix-sdk-crypto v0.6.0 Compiling miniz_oxide v0.7.1 Compiling futures-signals v0.3.33 Compiling chacha20poly1305 v0.9.1 Compiling async-stream v0.3.5 Compiling parking_lot v0.11.2 Compiling derive_builder_macro v0.11.2 Compiling tokio-native-tls v0.3.1 Compiling sct v0.7.1 Compiling rustls-webpki v0.101.7 Compiling fxhash v0.2.1 Compiling lru v0.8.1 Compiling displaydoc v0.2.4 Compiling fs2 v0.4.3 Compiling colorchoice v1.0.0 Compiling mime v0.3.17 Compiling anstyle v1.0.4 Compiling anstyle-query v1.0.2 Compiling option-ext v0.2.0 Compiling semver v1.0.20 Compiling lazy_static v1.4.0 Compiling matrix-sdk-sled v0.2.0 Compiling dirs-sys v0.4.1 Compiling anstream v0.6.5 Compiling matrix-sdk-base v0.6.1 Compiling sled v0.34.7 Compiling matrix-sdk-store-encryption v0.2.0 Compiling hyper-tls v0.5.0 Compiling derive_builder v0.11.2 Compiling mime_guess v2.0.4 Compiling flate2 v1.0.28 Compiling terminal_size v0.3.0 Compiling serde_urlencoded v0.7.1 Compiling encoding_rs v0.8.33 Compiling overload v0.1.1 Compiling ipnet v2.9.0 Compiling unicode-width v0.1.11 Compiling heck v0.4.1 Compiling fs_extra v1.3.0 Compiling clap_lex v0.6.0 Compiling webpki-roots v0.25.3 Compiling matrix-sdk v0.6.2 Compiling clap_builder v4.4.11 Compiling ureq v2.9.1 Compiling reqwest v0.11.22 Compiling clap_derive v4.4.7 Compiling nu-ansi-term v0.46.0 Compiling directories v5.0.1 Compiling sharded-slab v0.1.7 Compiling is-terminal v0.4.9 Compiling backoff v0.4.0 Compiling tracing-log v0.2.0 Compiling thread_local v1.1.7 Compiling rtoolbox v0.0.2 Compiling anymap2 v0.13.0 Compiling tracing-subscriber v0.3.18 Compiling rpassword v7.3.1 Compiling colored v2.0.4 Compiling update-informer v1.1.0 Compiling clap v4.4.11 Compiling json v0.12.4 Compiling matrix-commander v0.3.0 Finished release [optimized] target(s) in 21m 47s Replacing /home/ubuntu/.cargo/bin/matrix-commander-rs Replaced package `matrix-commander v0.2.0` with `matrix-commander v0.3.0` (executable `matrix-commander-rs`) ```

On an Oracle Cloud Ubuntu with 25 GB spare hard disk, 1 GB of RAM and 10 GB of SWAP, 2 vCores AMD EPYC 7J13 64-Core Processor:

Just installed cargo with sudo apt install -y cargo, also considering the fetching deltas time:

time cargo install matrix-commander
Output: ``` Updating crates.io index Downloaded matrix-commander v0.3.0 Downloaded 1 crate (366.0 KB) in 1.62s Installing matrix-commander v0.3.0 Downloaded anstyle v1.0.4 Downloaded adler v1.0.2 Downloaded async-stream-impl v0.3.5 Downloaded assign v1.1.1 Downloaded openssl-probe v0.1.5 Downloaded block-buffer v0.9.0 Downloaded opaque-debug v0.3.0 Downloaded openssl-macros v0.1.1 Downloaded colorchoice v1.0.0 Downloaded darling_macro v0.14.4 Downloaded derive_builder_macro v0.11.2 Downloaded fxhash v0.2.1 Downloaded foreign-types-shared v0.1.1 Downloaded equivalent v1.0.1 Downloaded discard v1.0.4 Downloaded foreign-types v0.3.2 Downloaded atomic v0.5.3 Downloaded futures-macro v0.3.30 Downloaded fnv v1.0.7 Downloaded block-padding v0.3.3 Downloaded option-ext v0.2.0 Downloaded anstyle-parse v0.2.3 Downloaded autocfg v1.1.0 Downloaded anymap2 v0.13.0 Downloaded anstyle-query v1.0.2 Downloaded arrayref v0.3.7 Downloaded aead v0.4.3 Downloaded cfg-if v1.0.0 Downloaded constant_time_eq v0.3.0 Downloaded cipher v0.3.0 Downloaded block-buffer v0.10.4 Downloaded mime v0.3.17 Downloaded maplit v1.0.2 Downloaded async-stream v0.3.5 Downloaded const-oid v0.7.1 Downloaded rand_chacha v0.3.1 Downloaded form_urlencoded v1.2.1 Downloaded scopeguard v1.2.0 Downloaded rand_chacha v0.2.2 Downloaded rpassword v7.3.1 Downloaded num_cpus v1.16.0 Downloaded byteorder v1.5.0 Downloaded generic-array v0.14.7 Downloaded futures-sink v0.3.30 Downloaded ident_case v1.0.1 Downloaded dashmap v5.5.3 Downloaded digest v0.10.7 Downloaded either v1.9.0 Downloaded futures-task v0.3.30 Downloaded cpufeatures v0.2.12 Downloaded rtoolbox v0.0.2 Downloaded futures-core v0.3.30 Downloaded directories v5.0.1 Downloaded lru v0.8.1 Downloaded dirs-sys v0.4.1 Downloaded async-trait v0.1.77 Downloaded event-listener v2.5.3 Downloaded proc-macro-crate v1.3.1 Downloaded percent-encoding v2.3.1 Downloaded ppv-lite86 v0.2.17 Downloaded instant v0.1.12 Downloaded clap_lex v0.6.0 Downloaded base64ct v1.6.0 Downloaded ahash v0.7.7 Downloaded pbkdf2 v0.11.0 Downloaded overload v0.1.1 Downloaded bitflags v2.4.1 Downloaded pin-utils v0.1.0 Downloaded pkg-config v0.3.28 Downloaded serde_bytes v0.11.14 Downloaded heck v0.4.1 Downloaded clap_derive v4.4.7 Downloaded getrandom v0.2.12 Downloaded prost-derive v0.11.9 Downloaded getrandom v0.1.16 Downloaded rand_core v0.6.4 Downloaded crc32fast v1.3.2 Downloaded darling v0.14.4 Downloaded fs_extra v1.3.0 Downloaded crypto-common v0.1.6 Downloaded itoa v1.0.10 Downloaded displaydoc v0.2.4 Downloaded backoff v0.4.0 Downloaded chacha20 v0.8.2 Downloaded inout v0.1.3 Downloaded hyper-tls v0.5.0 Downloaded httpdate v1.0.3 Downloaded rustls-pemfile v1.0.4 Downloaded anyhow v1.0.79 Downloaded hyper-rustls v0.24.2 Downloaded derive_builder_core v0.11.2 Downloaded nu-ansi-term v0.46.0 Downloaded crossbeam-utils v0.8.19 Downloaded clap v4.4.16 Downloaded futures-channel v0.3.30 Downloaded anstream v0.6.7 Downloaded sha2 v0.9.9 Downloaded cc v1.0.83 Downloaded poly1305 v0.7.2 Downloaded parking_lot_core v0.8.6 Downloaded parking_lot v0.11.2 Downloaded rand_core v0.5.1 Downloaded der v0.5.1 Downloaded pin-project-lite v0.2.13 Downloaded semver v1.0.21 Downloaded slab v0.4.9 Downloaded prost v0.11.9 Downloaded bumpalo v3.14.0 Downloaded parking_lot_core v0.9.9 Downloaded password-hash v0.4.2 Downloaded spin v0.9.8 Downloaded futures-signals v0.3.33 Downloaded httparse v1.8.0 Downloaded ipnet v2.9.0 Downloaded quote v1.0.35 Downloaded log v0.4.20 Downloaded hashbrown v0.12.3 Downloaded chacha20poly1305 v0.9.1 Downloaded base64 v0.21.7 Downloaded base64 v0.13.1 Downloaded flate2 v1.0.28 Downloaded lock_api v0.4.11 Downloaded darling_core v0.14.4 Downloaded hmac v0.12.1 Downloaded sct v0.7.1 Downloaded aes v0.8.3 Downloaded ryu v1.0.16 Downloaded proc-macro2 v1.0.76 Downloaded hashbrown v0.14.3 Downloaded pin-project-internal v1.1.3 Downloaded bytes v1.5.0 Downloaded once_cell v1.19.0 Downloaded indexmap v1.9.3 Downloaded native-tls v0.2.11 Downloaded futures-util v0.3.30 Downloaded hkdf v0.12.4 Downloaded clap_builder v4.4.16 Downloaded h2 v0.3.23 Downloaded aho-corasick v1.1.2 Downloaded blake3 v1.5.0 Downloaded miniz_oxide v0.7.1 Downloaded mime_guess v2.0.4 Downloaded crossbeam-epoch v0.9.18 Downloaded pin-project v1.1.3 Downloaded arrayvec v0.7.4 Downloaded openssl-sys v0.9.98 Downloaded ctr v0.9.2 Downloaded ed25519 v1.5.3 Downloaded errno v0.3.8 Downloaded digest v0.9.0 Downloaded http-body v0.4.6 Downloaded futures-io v0.3.30 Downloaded fs2 v0.4.3 Downloaded colored v2.1.0 Downloaded cipher v0.4.4 Downloaded bitflags v1.3.2 Downloaded cbc v0.1.2 Downloaded want v0.3.1 Downloaded unicode-normalization v0.1.22 Downloaded rand v0.8.5 Downloaded zeroize v1.3.0 Downloaded wasm-bindgen-shared v0.2.90 Downloaded tinyvec_macros v0.1.1 Downloaded url v2.5.0 Downloaded tracing-subscriber v0.3.18 Downloaded syn v1.0.109 Downloaded memchr v2.7.1 Downloaded js-sys v0.3.67 Downloaded signature v1.6.4 Downloaded indexmap v2.1.0 Downloaded thiserror v1.0.56 Downloaded lazy_static v1.4.0 Downloaded try-lock v0.2.5 Downloaded tokio-native-tls v0.3.1 Downloaded tracing-log v0.2.0 Downloaded typenum v1.17.0 Downloaded subtle v2.5.0 Downloaded spki v0.5.4 Downloaded utf8parse v0.2.1 Downloaded tower-service v0.3.2 Downloaded strsim v0.10.0 Downloaded mio v0.8.10 Downloaded json v0.12.4 Downloaded http v0.2.11 Downloaded encoding_rs v0.8.33 Downloaded curve25519-dalek v3.2.1 Downloaded matrix-sdk-common v0.6.0 Downloaded webpki-roots v0.25.3 Downloaded untrusted v0.9.0 Downloaded zeroize_derive v1.4.2 Downloaded uuid v0.8.2 Downloaded sha2 v0.10.8 Downloaded uuid v1.6.1 Downloaded serde v1.0.195 Downloaded tokio v1.35.1 Downloaded syn v2.0.48 Downloaded toml_datetime v0.6.5 Downloaded sharded-slab v0.1.7 Downloaded tracing v0.1.40 Downloaded vcpkg v0.2.15 Downloaded rand v0.7.3 Downloaded unicode-ident v1.0.12 Downloaded matrix-sdk-store-encryption v0.2.0 Downloaded serde_derive v1.0.195 Downloaded winnow v0.5.34 Downloaded socket2 v0.5.5 Downloaded serde_urlencoded v0.7.1 Downloaded smallvec v1.11.2 Downloaded ruma-identifiers-validation v0.9.1 Downloaded toml v0.5.11 Downloaded tracing-core v0.1.32 Downloaded sled v0.34.7 Downloaded unicase v2.7.0 Downloaded ruma v0.7.4 Downloaded unicode-bidi v0.3.14 Downloaded web-sys v0.3.67 Downloaded wildmatch v2.3.0 Downloaded thread_local v1.1.7 Downloaded tokio-macros v2.2.0 Downloaded pkcs7 v0.3.0 Downloaded js_int v0.2.2 Downloaded wasm-bindgen-backend v0.2.90 Downloaded wasm-bindgen-macro-support v0.2.90 Downloaded wasm-bindgen-macro v0.2.90 Downloaded wasm-bindgen-futures v0.4.40 Downloaded gensym v0.1.1 Downloaded ed25519-dalek v1.0.1 Downloaded js_option v0.1.1 Downloaded vodozemac v0.3.0 Downloaded update-informer v1.1.0 Downloaded reqwest v0.11.23 Downloaded derive_builder v0.11.2 Downloaded tokio-rustls v0.24.1 Downloaded version_check v0.9.4 Downloaded matrix-sdk-sled v0.2.0 Downloaded matrix-sdk-indexeddb v0.2.0 Downloaded tracing-attributes v0.1.27 Downloaded toml_edit v0.19.15 Downloaded indexed_db_futures v0.2.3 Downloaded tinyvec v1.6.0 Downloaded pulldown-cmark v0.9.3 Downloaded universal-hash v0.4.0 Downloaded thiserror-impl v1.0.56 Downloaded terminal_size v0.3.0 Downloaded serde_json v1.0.111 Downloaded unicode-width v0.1.11 Downloaded itertools v0.10.5 Downloaded ruma-macros v0.10.5 Downloaded ruma-federation-api v0.6.0 Downloaded x25519-dalek v1.2.0 Downloaded rustls-webpki v0.101.7 Downloaded tokio-util v0.7.10 Downloaded ureq v2.9.1 Downloaded hyper v0.14.28 Downloaded regex v1.10.2 Downloaded openssl v0.10.62 Downloaded idna v0.5.0 Downloaded wasm-bindgen v0.2.90 Downloaded rustls v0.21.10 Downloaded ruma-client-api v0.15.3 Downloaded matrix-sdk v0.6.2 Downloaded rustix v0.38.30 Downloaded regex-syntax v0.8.2 Downloaded matrix-sdk-base v0.6.1 Downloaded matrix-sdk-crypto v0.6.0 Downloaded regex-automata v0.4.3 Downloaded ruma-common v0.10.5 Downloaded libc v0.2.152 Downloaded linux-raw-sys v0.4.12 Downloaded ring v0.17.7 Downloaded 270 crates (23.6 MB) in 5.50s (largest was `ring` at 4.1 MB) Compiling proc-macro2 v1.0.76 Compiling unicode-ident v1.0.12 Compiling libc v0.2.152 Compiling quote v1.0.35 Compiling cfg-if v1.0.0 Compiling syn v2.0.48 Compiling version_check v0.9.4 Compiling typenum v1.17.0 Compiling generic-array v0.14.7 Compiling serde v1.0.195 Compiling getrandom v0.2.12 Compiling once_cell v1.19.0 Compiling autocfg v1.1.0 Compiling cc v1.0.83 Compiling pin-project-lite v0.2.13 Compiling bytes v1.5.0 Compiling itoa v1.0.10 Compiling syn v1.0.109 Compiling serde_derive v1.0.195 Compiling unicase v2.7.0 Compiling subtle v2.5.0 Compiling thiserror v1.0.56 Compiling tracing-core v0.1.32 Compiling rand_core v0.6.4 Compiling ppv-lite86 v0.2.17 Compiling thiserror-impl v1.0.56 Compiling crypto-common v0.1.6 Compiling futures-core v0.3.30 Compiling tinyvec_macros v0.1.1 Compiling ryu v1.0.16 Compiling tinyvec v1.6.0 Compiling tracing-attributes v0.1.27 Compiling cpufeatures v0.2.12 Compiling fnv v1.0.7 Compiling serde_json v1.0.111 Compiling percent-encoding v2.3.1 Compiling form_urlencoded v1.2.1 Compiling http v0.2.11 Compiling tracing v0.1.40 Compiling unicode-normalization v0.1.22 Compiling tokio-macros v2.2.0 Compiling ahash v0.7.7 Compiling mio v0.8.10 Compiling socket2 v0.5.5 Compiling num_cpus v1.16.0 Compiling unicode-bidi v0.3.14 Compiling getrandom v0.1.16 Compiling idna v0.5.0 Compiling tokio v1.35.1 Compiling zeroize_derive v1.4.2 Compiling slab v0.4.9 Compiling equivalent v1.0.1 Compiling log v0.4.20 Compiling memchr v2.7.1 Compiling hashbrown v0.14.3 Compiling indexmap v2.1.0 Compiling zeroize v1.3.0 Compiling url v2.5.0 Compiling rand_chacha v0.3.1 Compiling block-buffer v0.10.4 Compiling winnow v0.5.34 Compiling toml_datetime v0.6.5 Compiling vcpkg v0.2.15 Compiling anyhow v1.0.79 Compiling pkg-config v0.3.28 Compiling toml_edit v0.19.15 Compiling openssl-sys v0.9.98 Compiling rand v0.8.5 Compiling digest v0.10.7 Compiling rand_core v0.5.1 Compiling hashbrown v0.12.3 Compiling aho-corasick v1.1.2 Compiling futures-macro v0.3.30 Compiling indexmap v1.9.3 Compiling block-padding v0.3.3 Compiling pin-utils v0.1.0 Compiling bitflags v2.4.1 Compiling regex-syntax v0.8.2 Compiling js_int v0.2.2 Compiling smallvec v1.11.2 Compiling futures-task v0.3.30 Compiling byteorder v1.5.0 Compiling opaque-debug v0.3.0 Compiling pulldown-cmark v0.9.3 Compiling proc-macro-crate v1.3.1 Compiling regex-automata v0.4.3 Compiling futures-util v0.3.30 Compiling ruma-identifiers-validation v0.9.1 Compiling inout v0.1.3 Compiling toml v0.5.11 error: failed to run custom build command for `openssl-sys v0.9.98` Caused by: process didn't exit successfully: `/tmp/cargo-installSRlJS9/release/build/openssl-sys-c319563f31298ddb/build-script-main` (exit status: 101) --- stdout cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=OPENSSL_LIB_DIR OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_DIR OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=OPENSSL_STATIC cargo:rerun-if-env-changed=OPENSSL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=OPENSSL_STATIC cargo:rerun-if-env-changed=OPENSSL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR run pkg_config fail: Could not run `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags openssl` The pkg-config command could not be found. Most likely, you need to install a pkg-config package for your OS. Try `apt install pkg-config`, or `yum install pkg-config`, or `pkg install pkg-config`, or `apk add pkgconfig` depending on your distribution. If you've already installed it, ensure the pkg-config command is one of the directories in the PATH environment variable. If you did not expect this build to link to a pre-installed system library, then check documentation of the openssl-sys crate for an option to build the library from source, or disable features or dependencies that require pkg-config. --- stderr thread 'main' panicked at ' Could not find directory of OpenSSL installation, and this `-sys` crate cannot proceed without this knowledge. If OpenSSL is installed and this crate had trouble finding it, you can set the `OPENSSL_DIR` environment variable for the compilation process. Make sure you also have the development packages of openssl installed. For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora. If you're in a situation where you think the directory *should* be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message. $HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-gnu openssl-sys = 0.9.98 It looks like you're compiling on Linux and also targeting Linux. Currently this requires the `pkg-config` utility to find OpenSSL but unfortunately `pkg-config` could not be found. If you have OpenSSL installed you can likely fix this by installing `pkg-config`. ', /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.98/build/find_normal.rs:190:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: failed to compile `matrix-commander v0.3.0`, intermediate artifacts can be found at `/tmp/cargo-installSRlJS9` real 9m30.200s user 10m50.487s sys 0m43.964s ```
sudo apt install -y pkg-config
time cargo install matrix-commander
Output: ``` Updating crates.io index Installing matrix-commander v0.3.0 Compiling proc-macro2 v1.0.76 Compiling unicode-ident v1.0.12 Compiling libc v0.2.152 Compiling quote v1.0.35 Compiling cfg-if v1.0.0 Compiling version_check v0.9.4 Compiling syn v2.0.48 Compiling typenum v1.17.0 Compiling generic-array v0.14.7 Compiling serde v1.0.195 Compiling getrandom v0.2.12 Compiling once_cell v1.19.0 Compiling autocfg v1.1.0 Compiling cc v1.0.83 Compiling pin-project-lite v0.2.13 Compiling itoa v1.0.10 Compiling syn v1.0.109 Compiling bytes v1.5.0 Compiling serde_derive v1.0.195 Compiling unicase v2.7.0 Compiling subtle v2.5.0 Compiling thiserror v1.0.56 Compiling tracing-core v0.1.32 Compiling rand_core v0.6.4 Compiling ppv-lite86 v0.2.17 Compiling thiserror-impl v1.0.56 Compiling crypto-common v0.1.6 Compiling ryu v1.0.16 Compiling tinyvec_macros v0.1.1 Compiling futures-core v0.3.30 Compiling tinyvec v1.6.0 Compiling tracing-attributes v0.1.27 Compiling cpufeatures v0.2.12 Compiling fnv v1.0.7 Compiling serde_json v1.0.111 Compiling percent-encoding v2.3.1 Compiling form_urlencoded v1.2.1 Compiling http v0.2.11 Compiling tracing v0.1.40 Compiling unicode-normalization v0.1.22 Compiling tokio-macros v2.2.0 Compiling ahash v0.7.7 Compiling mio v0.8.10 Compiling socket2 v0.5.5 Compiling num_cpus v1.16.0 Compiling unicode-bidi v0.3.14 Compiling getrandom v0.1.16 Compiling idna v0.5.0 Compiling tokio v1.35.1 Compiling zeroize_derive v1.4.2 Compiling slab v0.4.9 Compiling equivalent v1.0.1 Compiling hashbrown v0.14.3 Compiling log v0.4.20 Compiling memchr v2.7.1 Compiling indexmap v2.1.0 Compiling zeroize v1.3.0 Compiling url v2.5.0 Compiling rand_chacha v0.3.1 Compiling block-buffer v0.10.4 Compiling pkg-config v0.3.28 Compiling vcpkg v0.2.15 Compiling anyhow v1.0.79 Compiling winnow v0.5.34 Compiling toml_datetime v0.6.5 Compiling openssl-sys v0.9.98 Compiling digest v0.10.7 Compiling rand v0.8.5 Compiling rand_core v0.5.1 Compiling toml_edit v0.19.15 Compiling hashbrown v0.12.3 Compiling aho-corasick v1.1.2 Compiling futures-macro v0.3.30 Compiling indexmap v1.9.3 Compiling block-padding v0.3.3 Compiling bitflags v2.4.1 Compiling pin-utils v0.1.0 Compiling pulldown-cmark v0.9.3 Compiling js_int v0.2.2 Compiling futures-task v0.3.30 Compiling regex-syntax v0.8.2 Compiling smallvec v1.11.2 Compiling opaque-debug v0.3.0 Compiling byteorder v1.5.0 Compiling futures-util v0.3.30 Compiling regex-automata v0.4.3 Compiling proc-macro-crate v1.3.1 Compiling ruma-identifiers-validation v0.9.1 Compiling inout v0.1.3 Compiling toml v0.5.11 error: failed to run custom build command for `openssl-sys v0.9.98` Caused by: process didn't exit successfully: `/tmp/cargo-installdsoy4r/release/build/openssl-sys-c319563f31298ddb/build-script-main` (exit status: 101) --- stdout cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=OPENSSL_LIB_DIR OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_DIR OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=OPENSSL_STATIC cargo:rerun-if-env-changed=OPENSSL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR run pkg_config fail: pkg-config exited with status code 1 > PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags openssl The system library `openssl` required by crate `openssl-sys` was not found. The file `openssl.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory. The PKG_CONFIG_PATH environment variable is not set. HINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `openssl.pc`. --- stderr thread 'main' panicked at ' Could not find directory of OpenSSL installation, and this `-sys` crate cannot proceed without this knowledge. If OpenSSL is installed and this crate had trouble finding it, you can set the `OPENSSL_DIR` environment variable for the compilation process. Make sure you also have the development packages of openssl installed. For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora. If you're in a situation where you think the directory *should* be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message. $HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-gnu openssl-sys = 0.9.98 ', /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.98/build/find_normal.rs:190:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: failed to compile `matrix-commander v0.3.0`, intermediate artifacts can be found at `/tmp/cargo-installdsoy4r` real 4m15.125s user 6m59.400s sys 0m24.265s ```
sudo apt install -y libssl-dev
time cargo install matrix-commander

Stopped on matrix-compilation compilation after 126m13.980s.

Unclear https://github.com/8go/matrix-commander-rs/releases/download/v0.1.32/matrix-commander-rs_v0.1.32_linux.tar.gz.sha256sum purpose.

https://github.com/8go/matrix-commander-rs/releases/download/v0.1.31/matrix-commander-rs_v0.1.31_linux.tar.gz seems to be the latest available linux binary but it leads to:

./matrix-commander-rs
./matrix-commander-rs: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

https://crates.io does not seem to contain any binary.

Proposing a Docker image as for Python could be a possibility.

With OVH c2-120 it takes 10 minutes on a Windows using msys2, cf #3.

Benjamin-Loison commented 7 months ago

Related to matrix-commander-rs/issues/1, matrix-commander-rs/issues/43 and matrix-commander-rs/issues/92

8go commented 7 months ago

openssl and openssl-devel or equivalent packages need to be installed as prerequisites.

On local machine of average spec it takes about 2 minutes to compile.

8go commented 7 months ago

See also see issue https://github.com/8go/matrix-commander-rs/issues/93

Benjamin-Loison commented 5 months ago

On my Debian 12 GNOME Pegasus i9-7920X with 16 GB of RAM and on Corsair NX500 SSD:

cargo install matrix-commander
Finished `release` profile [optimized] target(s) in 4m 56s