tensorflow / tensorflow/tensorboard

Tensorboard data server fails to build through rust due to rust cargo not building on pcc64le

Open
#6,760 1 comment 1 reaction 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.