Crate name: argmin
Build failure link: https://docs.rs/crate/argmin/0.2.6/builds/206318
Additional details:
Hi,
First of all thanks for providing this amazing service!
It was just pointed out to me that the docs of the argmin crate were not built successfully. It worked for 0.2.4, but fails since 0.2.5. I have to admit that I'm a bit lost and don't know where to start looking for solutions.
Since the error originates in a dev-dependency, I was wondering if it is possible for me to deactivate dev-dependencies during the docs build.
This is the relevant part of the build log:
[INFO] [stderr] error: failed to run custom build command for `openblas-src v0.7.0`
[INFO] [stderr]
[INFO] [stderr] Caused by:
[INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/build/openblas-src-13fdc4d8599cd912/build-script-build` (exit code: 101)
[INFO] [stderr] --- stdout
[INFO] [stderr] Running: `"cp" "cp" "-R" "source" "source_x86_64-unknown-linux-gnu_tmp"`
[INFO] [stderr]
[INFO] [stderr] --- stderr
[INFO] [stderr] cp: cannot create directory 'source_x86_64-unknown-linux-gnu_tmp': Read-only file system
[INFO] [stderr] thread 'main' panicked at 'Failed: `"cp" "cp" "-R" "source" "source_x86_64-unknown-linux-gnu_tmp"` (exit code: 1)', /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/openblas-src-0.7.0/build.rs:68:17
[INFO] [stderr] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Any help is highly appreciated! Thanks! :)
This is because openblas-src is trying to modify the source directory, which is not allowed. This is fixed in the latest 0.9.0 release of openblas.
It seems odd that we're trying to build dev-dependencies. I tried to clone https://github.com/argmin-rs/argmin to verify myself, but since GitHub is giving 500s right now I can't check until later.
Hmm, this is interesting, cargo +nightly doc --lib --no-deps doesn't compile openblas-sys when I run it locally, but it does in a docs.rs instance.
Aha, the issue is that even though openblas-sys is a dev-dependency on master, it is a normal dependency on argmin 0.2.6.
This is strange. I can't find openblas-sys in the Cargo.toml of 0.2.5 (here). So I thought maybe you meant via argmin_core 0.2.5, but I also can't find it there. So I guess it must be via another dependency; however, the only one I can think of is ndarray-linalg in argmin_core, but there, the openblas feature gate is not provided. But maybe it still needs it for some reason.
It seems as if argmin_core is the culprit, but since this is now deprecated anyways I think I can just go ahead with a new release of argmin and hope that it works :)
Thanks a lot for the help, I really appreciate it! :)
I recommend using cargo tree, which will show you which dependencies you pull in and why.
$ cargo tree -p openblas-src -i
openblas-src v0.7.0
โโโ blas-src v0.4.0
โ โโโ ndarray-linalg v0.12.0
โ โโโ modcholesky v0.1.2
โ โโโ argmin_core v0.2.5
โ โโโ argmin v0.2.6 (/home/joshua/src/argmin)
โ [dev-dependencies]
โ โโโ argmin v0.2.6 (/home/joshua/src/argmin) (*)
โโโ lapack-src v0.4.0
โโโ ndarray-linalg v0.12.0 (*)
Thanks for the tip!
I guess this is solved, so I'll close it.