containers / krunvm

Create microVMs from OCI images

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fails to build on a clean clone

AnharMiah opened this issue · comments

what did you do?

  • cloned down $ git clone https://github.com/containers/krunvm
  • cd into the newly cloned folder $ cd krunvm/
  • started the build as per README.md $ cargo build --release

what was the outcome?

it failed to compile with the following error message:

error: failed to run custom build command for `krunvm v0.2.2 (/.../krunvm)`

Caused by:
  process didn't exit successfully: `/.../krunvm/target/release/build/krunvm-93a7e7b5f83e43bd/build-script-build` (exit status: 101)
  --- stderr
  Error from running 'asciidoctor': No such file or directory (os error 2)
  thread 'main' panicked at 'failed to generate man page: No such file or directory (os error 2)', build.rs:25:13
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed

what was the expected outcome?

it should compile on a clean fresh clone

what are you system/OS software versions?

  • Linux Ubuntu 20.04.5 LTS
  • Rust v1.58.1

Well, when building something, you need to satisfy its dependencies. Here we see an unsatisfied dependency for asciidoctor. Basically, at some point, during the build process, something is trying to run the asciidoctor program, but that is nowhere to be found in the OS.

The solution would be to install it. :-)

I'm not sure if this is something that Rust should do automatically or anything. In openSUSE, that asciidoctor thing seems to come from a Ruby GEM, so I don't think it's under Rust control. But maybe I'm wrong...

thanks @dfaggioli I'm aware that the issue is a missing dependency, however if you read the README this is what is shows:

image

It doesn't really state that asciidoctor is a required dependency, so someone who like me simply cloned down the repo and followed the README instructions didn't result in a compiled from source working binary.

In my mind I believe a good test of build instructions is that they're accurate and is not a matter of "but it works on my machine"

are there any other dependencies needed? I would be happy to submit an updated README that contains more accurate build instructions?

Resolved in #46, added asciidoctor to build instructions.