darkrenaissance/darkfi

drk: build script doesn't enable optional dependency `play`

Closed this issue · 5 comments

cargo build -p drk, will run into the error below:

image

Reason is that this line in build.rs will only enable the play feature for rustc but not the cargo optional dependency play. This seems to be expected behavior, please see Features enabled through build scripts should have an effect on dependencies.

Please note that this error will not surface, if make is used since make implies --all-features. Doing a make check, however, will trigger the error.

Since according to the README, libmpg123 is a required dependency anyway, we might want to make crate play a mandatory dependency for drk.

OTOH, the feature seems to be prone to causing issues (see #144), we might also consider to let the fun police 👮 have it's way and remove the play feature.

WDYT?

I've implemented an alternative way to do it with rodio: 88865e2

Let me know if this works.

I think the fix unfortunately has a new dependency

image

The build error I do get is

image

Looks like the alsa development headers are needed. On my system I had to install libasound2-dev.

make check works now 🎉

Ok yeah, thanks. Will test it on a clean system and report back.

@adoerr: libasound2-dev was added as dependency in docs, scripts, etc.
Let us know if you encounter any issue with fun feature, otherwise we can close this ticket.
Your feedback is really appreciated!

On a sidenote, please prefer using codeblocks rather than screenshots to share logs.

Fixed.