tensorflow / tensorflow/tensorboard
Tensorboard data server fails to build through rust due to rust cargo not building on pcc64le
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.2k
- Forks
- 1.7k
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 1
Description
I am attempting to set tensorboard to run on ppc64le, built through the Spack package manager. Spack handles all environment and build issues. Spack first builds the package py-tensorboard-data-server, which is from /tensorboard/data/server, and then builds the rest of py-tensorboard. To build py-tensorboard-data-server it uses the cargo system, and essentially just does cargo build --release in the directory. The code fails due to the rust cargo, ring, failing to build. From what I can gather here, ringv0.16.20 can not be built on ppc64le, but the newer versions can be. I was hoping to see if someone can update the dependencies on tensorboard/data/server so that they use 0.17.0+ so that tensorboard can be built on ppc.. I have attempted to do this on my own a number of ways, from manually editing the cargo.toml, to trying to use cargo-raze, but I have had no luck with cargo-raze.
Environment information (required)
Attached is the environment file that was generated by spack.
spack-build-env.txt
Steps to reproduce (required)
After spack generates the environement, it runs cargo build --release in the //tensorboard/data/server .
The error I get is
...
Compiling ring v0.16.20
Compiling tracing-futures v0.2.5
Compiling tokio v1.19.2
Compiling futures-util v0.3.8
Compiling rand v0.7.3
Compiling prost-types v0.9.0
Compiling serde_json v1.0.61
Compiling serde_urlencoded v0.7.0
Compiling time v0.3.14
error: failed to run custom build command for `ring v0.16.20`
Caused by:
process didn't exit successfully: `/tmp/dax/spack-stage/spack-stage-py-tensorboard-data-server-0.8.0-cub5uadxzbvogsbw57gmnn7biqw4py3p/spack-src/tensorboard/data/server/target/release/build/ring-aa93677e37a58da5/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at /tmp/dax/spack-stage/spack-stage-py-tensorboard-data-server-0.8.0-cub5uadxzbvogsbw57gmnn7biqw4py3p/spack-src/registry/src/index.crates.io-6f17d22bba15001f/ring-0.16.20/build.rs:358:10:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in tensorboard/data/server, inspect the Cargo dependency declarations, and reproduce the failure with cargo build --release in the Spack-generated environment. Check how ring is selected and update the relevant dependency to a supported 0.17.0-or-newer release; done means the ppc64le build completes without the ring 0.16.20 failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100