Coder Social home page Coder Social logo

blas-src's Introduction

blas-src Package Documentation Build

The packages provides a BLAS source of choice.

Configuration

The following implementations are available:

  • accelerate, which is the one in the Accelerate framework (macOS only),
  • blis, which is the one in BLIS,
  • intel-mkl, which is the one in Intel MKL,
  • netlib, which is the reference one by Netlib,
  • openblas, which is the one in OpenBLAS, and
  • r, which is the one in R.

An implementation can be chosen as follows:

[dependencies]
blas-src = { version = "0.9", features = ["accelerate"] }
blas-src = { version = "0.9", features = ["blis"] }
blas-src = { version = "0.9", features = ["intel-mkl"] }
blas-src = { version = "0.9", features = ["netlib"] }
blas-src = { version = "0.9", features = ["openblas"] }
blas-src = { version = "0.9", features = ["r"] }

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

blas-src's People

Contributors

bluss avatar bnaras avatar ivanukhov avatar jedbrown avatar maoe avatar messense avatar stefan-k avatar termoshtt avatar zietzm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blas-src's Issues

Accelerate Linkage Failure -- without explicit linkage in build.rs

General Description:

The accelerate libary fails to link, despite correct dependency and feature specification. Clonable minmial repo example below.
For a simple crate, addition of a build.rs script explicitely linking the library seems to fix this ("cargo:rustc-link-lib=framework=Accelerate").

Exception:

However, not show below, I was not able to fix this problem with a build-script for a Workspace based repo.

Minimal Repo Example:

  • accelerate-test
  • you can clone and just disable/enable the build-rs script. (Or I can, I don't know if this is universal.)

Error on build:

error: linking with `cc` failed: exit status: 1
  |
  = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="
...
"
  = note: ld: Undefined symbols:
            _cblas_cgemm, referenced from:
                ndarray::linalg::impl_linalg::mat_mul_impl::ha5aa880a642f660e in accelerate_test-df9792214fc029cd.4wf4kx2jc5a77go6.rcgu.o
            _cblas_dgemm, referenced from:
                ndarray::linalg::impl_linalg::mat_mul_impl::ha5aa880a642f660e in accelerate_test-df9792214fc029cd.4wf4kx2jc5a77go6.rcgu.o
            _cblas_sgemm, referenced from:
                ndarray::linalg::impl_linalg::mat_mul_impl::ha5aa880a642f660e in accelerate_test-df9792214fc029cd.4wf4kx2jc5a77go6.rcgu.o
            _cblas_zgemm, referenced from:
                ndarray::linalg::impl_linalg::mat_mul_impl::ha5aa880a642f660e in accelerate_test-df9792214fc029cd.4wf4kx2jc5a77go6.rcgu.o
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: could not compile `accelerate-test` (bin "accelerate-test") due to previous error

Caused by:
  process didn't exit successfully: `/Users/username/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rustc --crate-name accelerate_test --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=181 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C metadata=df9792214fc029cd -C extra-filename=-df9792214fc029cd --out-dir /Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/deps -C incremental=/Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/incremental -L dependency=/Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/deps --extern blas_src=/Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/deps/libblas_src-8261a14688e7d167.rlib --extern ndarray=/Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/deps/libndarray-cebad4e9c98c9d7b.rlib --extern ndarray_linalg=/Users/username/Documents/Programming_Dirs/Rust/accelerate-test/target/debug/deps/libndarray_linalg-435cbc831f01e25f.rlib` (exit status: 1)

System & Cargo information:

  • cargo 1.74.1 (ecb9851af 2023-10-18)
  • Apple M2 Max
  • macOS Sonoma (14.2)

Compilation error: name 'raw' is defined multiple times

Compiling on Mac, I see the following error:

   Compiling blas-src v0.8.0
error[E0259]: the name `raw` is defined multiple times
  --> /Users/lee/.cargo/registry/src/github.com-1ecc6299db9ec823/blas-src-0.8.0/src/lib.rs:50:1
   |
38 | extern crate accelerate_src as raw;
   | ----------------------------------- previous import of the extern crate `raw` here
...
50 | extern crate openblas_src as raw;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `raw` reimported here
   |
   = note: `raw` must be defined only once in the type namespace of this module
help: you can use `as` to change the binding name of the import
   |
50 | extern crate openblas_src as other_raw;
   |

For more information about this error, try `rustc --explain E0259`.
error: could not compile `blas-src` due to previous error

Any ideas how to fix this?

The library is compiled in a Cargo.toml that includes the following:

# For BLAS, use the native libraries on Mac
[target.'cfg(target_os = "macos")'.dependencies]
blas-src = { version = "0.8", features = ["accelerate"] }

# For other platforms, use openblas, which we will probably have to manually install
[target.'cfg(any(target_os = "windows", target_os = "linux"))'.dependencies]
blas-src = { version = "0.8", features = ["openblas"] }
openblas-src = { version = "*", features = ["system"]}

New source of blas + lapack (from R) available

I have created a new source of BLAS that is sometimes needed for for building new R packages that use Rust plus BLAS and LAPACK. For example, see: R package clarabel and the underlying Rust package Clarabel which requires BLAS and LAPACK to link against. It makes sense to make this available under your blas-lapack-rs umbrella, rather than my personal repo before I publish the crate. Would you agree? Let me know.

Here's the link: https://github.com/bnaras/r-blas-lapack-src

Examples?

It would be great if there was some example of usage. Perhaps a project with a basic operation with cargo run with any actions required outside of cargo run specified.

Export features in `*-src` crates in `blas-src`

openblas-src and netlib-src (and potentially others) have features that are not accessible from this crate (e.g. static for static linking and system for using a system-local install). Can these features be exported in blas-src?

An example implementation may be

# Cargo.toml

[features]
static = ["openblas-src?/static", "netlib-src?/static"]
# Other features

I think disabling LAPACK builds by default for supported BLAS implementations is also desirable, i.e. don't build LAPACK code in OpenBLAS from blas-src.

Unpredictable & CPU Intensive Compilation Step & Compilation Failure in Jupyter Environment

Hey maintainers. I'd like to say thank you for developing and maintaining this crate. I've been utilizing it within a Jupiter environment through evcxr_jupyter. However, I wanted to bring to your attention that I am currently encountering a significant issue with the compilation process. The compilation is not only highly intensive but also exhibits substantial delays, as illustrated in the accompanying screenshot ~ 10 mins if successful.
Screenshot from 2023-12-19 13-13-44

Sometimes, the compilation step fails, and results in the following:

Full Log
Compilation failed, but no parsable errors were found. STDERR:
   Compiling libc v0.2.151
   Compiling proc-macro2 v1.0.70
   Compiling unicode-ident v1.0.12
   Compiling vcpkg v0.2.15
   Compiling pkg-config v0.3.27
   Compiling cfg-if v1.0.0
   Compiling bitflags v2.4.1
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.6.0
   Compiling crc32fast v1.3.2
   Compiling rustix v0.38.28
   Compiling foreign-types-shared v0.1.1
   Compiling openssl v0.10.61
   Compiling foreign-types v0.3.2
   Compiling linux-raw-sys v0.4.12
   Compiling once_cell v1.19.0
   Compiling openssl-probe v0.1.5
   Compiling adler v1.0.2
   Compiling native-tls v0.2.11
   Compiling percent-encoding v2.3.1
   Compiling quote v1.0.33
   Compiling syn v2.0.41
   Compiling unicode-bidi v0.3.14
   Compiling base64 v0.21.5
   Compiling unicode-normalization v0.1.22
   Compiling rustls-pemfile v1.0.4
   Compiling form_urlencoded v1.2.1
   Compiling cc v1.0.83
   Compiling miniz_oxide v0.7.1
   Compiling anyhow v1.0.75
   Compiling idna v0.5.0
   Compiling log v0.4.20
   Compiling thiserror v1.0.51
   Compiling filetime v0.2.23
   Compiling rustls-native-certs v0.6.3
   Compiling same-file v1.0.6
   Compiling walkdir v2.4.0
   Compiling url v2.5.0
   Compiling flate2 v1.0.28
   Compiling dirs-sys v0.3.7
   Compiling dirs v3.0.2
   Compiling openssl-sys v0.9.97
   Compiling xattr v1.1.3
   Compiling tar v0.4.40
   Compiling openssl-macros v0.1.1
   Compiling thiserror-impl v1.0.51
   Compiling ureq v2.9.1
   Compiling openblas-build v0.10.8
   Compiling openblas-src v0.10.8
The following warnings were emitted during compilation:

warning: [email protected]: OpenBLAS is built as a shared library. You need to set LD_LIBRARY_PATH=/tmp/.tmpd7NQ2j/target/x86_64-unknown-linux-gnu/debug/build/openblas-src-60bc0895ecafd60f/out

error: failed to run custom build command for `openblas-src v0.10.8`

Caused by:
  process didn't exit successfully: `/tmp/.tmpd7NQ2j/target/debug/build/openblas-src-d018aeb1be6cbe2e/build-script-build` (exit status: 101)
  --- stdout
  cargo:warning=OpenBLAS is built as a shared library. You need to set LD_LIBRARY_PATH=/tmp/.tmpd7NQ2j/target/x86_64-unknown-linux-gnu/debug/build/openblas-src-60bc0895ecafd60f/out

  --- stderr
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: creating ../libopenblas_haswellp-r0.3.21.a
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  parameter.c: In function ‘blas_set_parameter’:
  parameter.c:273:7: warning: unused variable ‘size’ [-Wunused-variable]
    273 |   int size = 16;
        |       ^~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  ../kernel/x86_64/omatcopy_rt.c: In function ‘somatcopy_k_rt’:
  ../kernel/x86_64/omatcopy_rt.c:130:3: warning: ‘dst_tmp’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    130 |   __asm__ __volatile__(\
        |   ^~~~~~~
  ../kernel/x86_64/omatcopy_rt.c:145:22: note: ‘dst_tmp’ was declared here
    145 |   float *src, *dst, *dst_tmp, *src_base, *dst_base;
        |                      ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c: In function ‘dgemm_oncopy’:
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:66:18: warning: unused variable ‘ctemp62’ [-Wunused-variable]
     66 |   FLOAT ctemp61, ctemp62, ctemp63, ctemp64;
        |                  ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:66:9: warning: unused variable ‘ctemp61’ [-Wunused-variable]
     66 |   FLOAT ctemp61, ctemp62, ctemp63, ctemp64;
        |         ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:65:36: warning: unused variable ‘ctemp60’ [-Wunused-variable]
     65 |   FLOAT ctemp57, ctemp58, ctemp59, ctemp60;
        |                                    ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:65:27: warning: unused variable ‘ctemp59’ [-Wunused-variable]
     65 |   FLOAT ctemp57, ctemp58, ctemp59, ctemp60;
        |                           ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:65:18: warning: unused variable ‘ctemp58’ [-Wunused-variable]
     65 |   FLOAT ctemp57, ctemp58, ctemp59, ctemp60;
        |                  ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:64:18: warning: unused variable ‘ctemp54’ [-Wunused-variable]
     64 |   FLOAT ctemp53, ctemp54, ctemp55, ctemp56;
        |                  ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:64:9: warning: unused variable ‘ctemp53’ [-Wunused-variable]
     64 |   FLOAT ctemp53, ctemp54, ctemp55, ctemp56;
        |         ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:63:36: warning: unused variable ‘ctemp52’ [-Wunused-variable]
     63 |   FLOAT ctemp49, ctemp50, ctemp51, ctemp52;
        |                                    ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:63:27: warning: unused variable ‘ctemp51’ [-Wunused-variable]
     63 |   FLOAT ctemp49, ctemp50, ctemp51, ctemp52;
        |                           ^~~~~~~
  ../kernel/x86_64/dgemm_ncopy_8_skylakex.c:63:18: warning: unused variable ‘ctemp50’ [-Wunused-variable]


// Output stripped


        |                ^
  lapacke_zgesvdq.c: In function ‘LAPACKE_zgesvdq’:
  lapacke_zgesvdq.c:51:16: warning: unused variable ‘i’ [-Wunused-variable]
     51 |     lapack_int i;
        |                ^
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  ar: `u' modifier ignored since `D' is the default (see `U')
  /usr/bin/ld: cannot find -lgfortran: No such file or directory
  collect2: error: ld returned 1 exit status
  make[1]: *** [Makefile:195: ../libopenblas_haswellp-r0.3.21.so] Error 1
  make: *** [Makefile:125: shared] Error 2

  thread 'main' panicked at /home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openblas-src-0.10.8/build.rs:177:44:
  called `Result::unwrap()` on an `Err` value: NonZeroExitStatus { status: 2 }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

STDOUT:{"reason":"compiler-artifact","package_id":"tinyvec_macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec_macros-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tinyvec_macros","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec_macros-0.1.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libtinyvec_macros-12bde555d2360c1a.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libtinyvec_macros-12bde555d2360c1a.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg-if","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libcfg_if-a0c20fc06196b176.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libcfg_if-a0c20fc06196b176.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"unicode-ident 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.12/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode-ident","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.12/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_ident-f07f34be3670c16c.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_ident-f07f34be3670c16c.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"bitflags 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"bitflags","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.4.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libbitflags-00eee6a59233f329.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libbitflags-00eee6a59233f329.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/foreign-types-shared-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"foreign-types-shared","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/foreign-types-shared-0.1.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libforeign_types_shared-73b5c1f9e29be3d2.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libforeign_types_shared-73b5c1f9e29be3d2.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"crc32fast 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crc32fast-1.3.2/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crc32fast-1.3.2/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/crc32fast-3faaaade155d1d72/build-script-build"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"proc-macro2 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.70/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.70/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/proc-macro2-d0a433b741493ae1/build-script-build"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"crc32fast 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["crc32fast_stdarchx86"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/crc32fast-482e0052a24613b6/out"}
{"reason":"build-script-executed","package_id":"proc-macro2 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["wrap_proc_macro","proc_macro_span"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/proc-macro2-d39cae68a04144bc/out"}
{"reason":"compiler-artifact","package_id":"libc 0.2.151 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.151/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.151/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/libc-155a807d3fed01bd/build-script-build"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/foreign-types-0.3.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"foreign-types","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/foreign-types-0.3.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libforeign_types-bcec9f183167490d.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libforeign_types-bcec9f183167490d.rmeta"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"libc 0.2.151 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["freebsd11","libc_priv_mod_use","libc_union","libc_const_size_of","libc_align","libc_int128","libc_core_cvoid","libc_packedN","libc_cfg_target_vendor","libc_non_exhaustive","libc_long_array","libc_ptr_addr_of","libc_underscore_const_names","libc_const_extern_fn"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/libc-fda961ceb2c9ff1a/out"}
{"reason":"compiler-artifact","package_id":"rustix 0.38.28 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.28/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.28/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","fs","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/rustix-7cc7a0ce615362a6/build-script-build"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openssl 0.10.61 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.61/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.61/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/openssl-80d93a5a98c19306/build-script-build"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"rustix 0.38.28 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["static_assertions","linux_raw","linux_like","linux_kernel"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/rustix-9143d69e404df4f0/out"}
{"reason":"compiler-artifact","package_id":"openssl-probe 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-probe-0.1.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"openssl-probe","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-probe-0.1.5/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl_probe-8a5268dfd14bfd7d.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl_probe-8a5268dfd14bfd7d.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"once_cell 1.19.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.19.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"once_cell","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.19.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","race","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libonce_cell-5cc9bd9b086856dc.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libonce_cell-5cc9bd9b086856dc.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"pkg-config 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pkg-config-0.3.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"pkg-config","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pkg-config-0.3.27/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libpkg_config-f262b35758904ab7.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libpkg_config-f262b35758904ab7.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"adler 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/adler-1.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"adler","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/adler-1.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libadler-f50a0daf97743f48.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libadler-f50a0daf97743f48.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"percent-encoding 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/percent-encoding-2.3.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"percent-encoding","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/percent-encoding-2.3.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libpercent_encoding-1c08958498a538dd.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libpercent_encoding-1c08958498a538dd.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"linux-raw-sys 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/linux-raw-sys-0.4.12/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"linux-raw-sys","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/linux-raw-sys-0.4.12/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["elf","errno","general","ioctl","no_std","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/liblinux_raw_sys-a482045adec9b453.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/liblinux_raw_sys-a482045adec9b453.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"native-tls 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/native-tls-0.2.11/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/native-tls-0.2.11/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/native-tls-3f14529ae489bd84/build-script-build"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"tinyvec 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.6.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tinyvec","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.6.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","tinyvec_macros"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libtinyvec-ad8fc3bea187c8a2.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libtinyvec-ad8fc3bea187c8a2.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"quote 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.33/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"quote","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.33/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libquote-0452e74ab51a3cc7.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libquote-0452e74ab51a3cc7.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"vcpkg 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/vcpkg-0.2.15/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"vcpkg","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/vcpkg-0.2.15/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libvcpkg-30f5b26ece09be73.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libvcpkg-30f5b26ece09be73.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"proc-macro2 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.70/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"proc-macro2","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.70/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libproc_macro2-42794e56f7b398b8.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libproc_macro2-42794e56f7b398b8.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"rustls-pemfile 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-pemfile-1.0.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustls-pemfile","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-pemfile-1.0.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/librustls_pemfile-2b4863b32e3c17f8.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/librustls_pemfile-2b4863b32e3c17f8.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"base64 0.21.5 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/base64-0.21.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/base64-0.21.5/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libbase64-125d8355113fdf7a.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libbase64-125d8355113fdf7a.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"libc 0.2.151 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.151/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libc","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.151/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/liblibc-ee5bc8d9f0207d83.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/liblibc-ee5bc8d9f0207d83.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"form_urlencoded 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/form_urlencoded-1.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"form_urlencoded","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/form_urlencoded-1.2.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libform_urlencoded-6bffb553b6cc3045.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libform_urlencoded-6bffb553b6cc3045.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"crc32fast 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crc32fast-1.3.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crc32fast","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crc32fast-1.3.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libcrc32fast-04306b490d8ab901.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libcrc32fast-04306b490d8ab901.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"unicode-normalization 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-normalization-0.1.22/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode-normalization","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-normalization-0.1.22/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_normalization-9a2dd40525a1f01d.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_normalization-9a2dd40525a1f01d.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"log 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.20/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"log","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.20/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/liblog-887e95f706f4eb20.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/liblog-887e95f706f4eb20.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"anyhow 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/anyhow-5d81db28e3f38ba4/build-script-build"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"anyhow 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["backtrace"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/anyhow-575ed8b796913058/out"}
{"reason":"compiler-artifact","package_id":"filetime 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/filetime-0.2.23/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"filetime","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/filetime-0.2.23/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libfiletime-038baa3c7023a4ff.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libfiletime-038baa3c7023a4ff.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"unicode-bidi 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-bidi-0.3.14/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_bidi","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-bidi-0.3.14/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["hardcoded-data","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_bidi-82be4eacd548adc3.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libunicode_bidi-82be4eacd548adc3.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/same-file-1.0.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"same-file","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/same-file-1.0.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libsame_file-a027300eb93b50ec.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libsame_file-a027300eb93b50ec.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"thiserror 1.0.51 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.51/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.51/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/thiserror-01f9bcbd6522f100/build-script-build"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"rustls-native-certs 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-native-certs-0.6.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustls-native-certs","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-native-certs-0.6.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/librustls_native_certs-a56e23685c7cd01b.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/librustls_native_certs-a56e23685c7cd01b.rmeta"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"thiserror 1.0.51 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["error_generic_member_access"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/thiserror-88d5a6ec3a326e72/out"}
{"reason":"compiler-artifact","package_id":"walkdir 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/walkdir-2.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"walkdir","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/walkdir-2.4.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libwalkdir-168de711fa8cbfa1.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libwalkdir-168de711fa8cbfa1.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"miniz_oxide 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/miniz_oxide-0.7.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"miniz_oxide","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/miniz_oxide-0.7.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["with-alloc"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libminiz_oxide-6c67bfadb5567dcc.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libminiz_oxide-6c67bfadb5567dcc.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"idna 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"idna","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/src/lib.rs","edition":"2018","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libidna-8ab7ee3036aeb483.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libidna-8ab7ee3036aeb483.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"dirs 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dirs-3.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"dirs","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dirs-3.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libdirs-fe3e5d8259457777.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libdirs-fe3e5d8259457777.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"flate2 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flate2-1.0.28/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"flate2","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flate2-1.0.28/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["any_impl","default","miniz_oxide","rust_backend"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libflate2-aa836eb66d670e7d.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libflate2-aa836eb66d670e7d.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"cc 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cc-1.0.83/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cc","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cc-1.0.83/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libcc-63cea06e2aeca302.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libcc-63cea06e2aeca302.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"dirs-sys 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dirs-sys-0.3.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"dirs-sys","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dirs-sys-0.3.7/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libdirs_sys-08e4a3cdfd490547.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libdirs_sys-08e4a3cdfd490547.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"anyhow 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"anyhow","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libanyhow-1e34ac0542620c96.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libanyhow-1e34ac0542620c96.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"url 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"url","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/liburl-1bf6d315cf3be540.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/liburl-1bf6d315cf3be540.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openssl-sys 0.9.97 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.97/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-main","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.97/build/main.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/openssl-sys-b1746b13c14f328b/build-script-main"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"rustix 0.38.28 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.28/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustix","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.28/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","fs","std"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/librustix-0ecda168500f5692.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/librustix-0ecda168500f5692.rmeta"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"openssl-sys 0.9.97 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":["ssl","crypto"],"linked_paths":[],"cfgs":["osslconf=\"OPENSSL_NO_IDEA\"","osslconf=\"OPENSSL_NO_SSL3_METHOD\"","openssl","ossl300","ossl101","ossl102","ossl102f","ossl102h","ossl110","ossl110f","ossl110g","ossl110h","ossl111","ossl111b","ossl111c","ossl111d"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/openssl-sys-4ea0beaf50010a45/out"}
{"reason":"compiler-artifact","package_id":"xattr 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xattr-1.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"xattr","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xattr-1.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","unsupported"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libxattr-e0b51764da262746.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libxattr-e0b51764da262746.rmeta"],"executable":null,"fresh":false}
{"reason":"build-script-executed","package_id":"openssl 0.10.61 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["osslconf=\"OPENSSL_NO_IDEA\"","osslconf=\"OPENSSL_NO_SSL3_METHOD\"","ossl101","ossl102","ossl110","ossl110g","ossl110h","ossl111","ossl300"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/openssl-0a4b7405bd67017e/out"}
{"reason":"build-script-executed","package_id":"native-tls 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)","linked_libs":[],"linked_paths":[],"cfgs":["have_min_max_version"],"env":[],"out_dir":"/tmp/.tmpd7NQ2j/target/debug/build/native-tls-86e830afb13a1300/out"}
{"reason":"compiler-artifact","package_id":"tar 0.4.40 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tar-0.4.40/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"tar","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tar-0.4.40/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","xattr"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libtar-6d7fa0539baab9cb.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libtar-6d7fa0539baab9cb.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"syn 2.0.41 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.41/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.41/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","full","parsing","printing","proc-macro","quote"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libsyn-b2e9ce176a8242f5.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libsyn-b2e9ce176a8242f5.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openssl-sys 0.9.97 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.97/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"openssl-sys","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.97/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl_sys-af5b730dd3516753.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl_sys-af5b730dd3516753.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openssl-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-macros-0.1.1/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"openssl-macros","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-macros-0.1.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl_macros-214f6941a9fcdfee.so"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"thiserror-impl 1.0.51 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-impl-1.0.51/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror-impl","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-impl-1.0.51/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libthiserror_impl-e3d4fe8252ba7eb2.so"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"thiserror 1.0.51 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.51/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.51/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libthiserror-a59e51291dc379bc.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libthiserror-a59e51291dc379bc.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"native-tls 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/native-tls-0.2.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"native-tls","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/native-tls-0.2.11/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libnative_tls-c8c8df8f6ed2deed.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libnative_tls-c8c8df8f6ed2deed.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openssl 0.10.61 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.61/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"openssl","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-0.10.61/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl-8b8c5ac3d4c2d2ed.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libopenssl-8b8c5ac3d4c2d2ed.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openblas-build 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openblas-build-0.10.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"openblas-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openblas-build-0.10.8/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libopenblas_build-5c81eb32a51cf884.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libopenblas_build-5c81eb32a51cf884.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"ureq 2.9.1 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ureq-2.9.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ureq","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ureq-2.9.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["gzip","native-certs","native-tls"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/deps/libureq-1f66b9edb8919ebb.rlib","/tmp/.tmpd7NQ2j/target/debug/deps/libureq-1f66b9edb8919ebb.rmeta"],"executable":null,"fresh":false}
{"reason":"compiler-artifact","package_id":"openblas-src 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)","manifest_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openblas-src-0.10.8/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/home/mahmoud/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openblas-src-0.10.8/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["cblas","default","lapacke"],"filenames":["/tmp/.tmpd7NQ2j/target/debug/build/openblas-src-d018aeb1be6cbe2e/build-script-build"],"executable":null,"fresh":false}
{"reason":"build-finished","success":false}

You can refer to this notebook to reproduce on your machine.

I appreciate your efforts in creating and maintaining this valuable crate.

Love,
Mahmoud

Add pure rust implementation

Hey. In order to improve the beginner-friendliness of this library I think it would be cool to add a pure rust backend.

I have found two candidates blasoxide and libblas. For me blasoxide doesn't compile out of the box. The author seems to have tried to get his library used in ndarray and nalgebra, but didn't succeed, and has later stopped working on this.

The latter crate works fine for me. Although no changes have been made in 4 years it seems to be the better candidate. From what I can tell it is compatible with BLAS, except for using generics to distinguish between f64 and f32 instead of having two versions of each function

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.