Per the instructions, I installed the listed pre-reqs and then executed the following build command:
>$ cargo build --release
After a while, I received the following build error:
...
Compiling chrono-tz v0.6.1
Compiling is-terminal v0.4.5
Compiling thread_local v1.1.4
error: failed to run custom build command for `devicemapper-sys v0.1.5`
Caused by:
process didn't exit successfully: `/home/m*****/projects/fido-device-onboard-rs/target/release/build/devicemapper-sys-3043b94ff55de525/build-script-build` (exit status: 101)
--- stderr
dm.h:2:10: fatal error: 'libdevmapper.h' file not found
thread 'main' panicked at 'Could not generate dm.h bindings: ClangDiagnostic("dm.h:2:10: fatal error: 'libdevmapper.h' file not found\n")', /home/mmillsap/.cargo/registry/src/github.com-1ecc6299db9ec823/devicemapper-sys-0.1.5/build.rs:24:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
After some searching on 'libdevmapper.h', a recommended package in which to find that header file was 'device-mapper-devel'. I installed that package on my system and the build was able to successfully complete.
Hello Mike, thanks for opening this issue, the build dependencies are valid for Fedora 37, 38 and 39.
I will update the CONTRIBUTING guide in order to make this clear.
My system was a NUC with a fresh install of Fedora 36 desktop. I checked out tag v0.4.9 and followed the build instructions located at: https://github.com/fedora-iot/fido-device-onboard-rs/blob/v0.4.9/CONTRIBUTING.md
Per the instructions, I installed the listed pre-reqs and then executed the following build command:
>$ cargo build --release
After a while, I received the following build error:
After some searching on 'libdevmapper.h', a recommended package in which to find that header file was 'device-mapper-devel'. I installed that package on my system and the build was able to successfully complete.