amethyst/evoli

Missing dependencies - alsa, some XCB libs

frcr opened this issue · 6 comments

frcr commented

README does not mention any dependencies and cargo run is supposed to be the only thing needed to be done.

However, the following error may be encountered

thread 'main' panicked at 'called `Result::unwrap()` on 
an `Err` value: "`\"pkg-config\" \"--libs\" \"--cflags\" \"alsa\"` 
did not exit successfully: exit code: 1\n--- stderr\n
Package alsa was not found in the pkg-config search path.\n
Perhaps you should add the directory containing `alsa.pc\'\nto 
the PKG_CONFIG_PATH environment variable\nNo package
 \'alsa\' found\n"', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable
 to display a backtrace.

First of all, the error message is garbled (this is the exact form it is presented in terminal - escape slashes and all).

Second, it might be worth mentioning in README that libasound2-dev is required.

Thanks for the report!

We'll update the README to reference amethyst's dependencies https://github.com/amethyst/amethyst/#dependencies

frcr commented

While we're at it there's a similar issue with XCB:

note: /usr/bin/ld: cannot find -lxcb-render
          /usr/bin/ld: cannot find -lxcb-shape
          /usr/bin/ld: cannot find -lxcb-xfixes
          collect2: error: ld returned 1 exit status
          
error: aborting due to previous error
error: Could not compile `evolution-island`.

On a Debian system it can be solved by sudo apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

frcr commented

We'll update the README to reference amethyst's dependencies https://github.com/amethyst/amethyst/#dependencies

That's the thing though, isn't it? I didn't install amethyst, I cloned and tried to compile the evolution island. If I was installing amethyst, I'd've checked its dependencies.
But the whole installation guide of EI is just

To play
Ensure you have Cargo installed (use rustup if you don't), and run the following:
cargo run

and it doesn't mention amethyst.

I realise that this whole thing is an amethyst in-house project and for you guys even the idea of not realizing what's what sounds preposterous, but for a user coming in from google search page or Reddit it'd be helpful to at least outline the possible dep problems.

Sorry if I was not clear enough. You are right, users should not require knowledge of Amethyst and we missed that the installation is more complex than cargo run on Linux machines.

We are going to update our README so that future users will not struggle to get everything working.

Again thanks for reporting, it is very important that it is easy to get started :)

I updated the Readme.
@frcr Did you manage to get it to run? If not, can you tell us if the updated Readme helps?

frcr commented

I updated the Readme.
@frcr Did you manage to get it to run? If not, can you tell us if the updated Readme helps?

Yeah, sure I got it to run.
If I was obnoxious enough to nag you about an unclear readme, do you really think I would've stopped whining here if it didn't even run?

These four libs were all the problems I encountered. After getting them it compiled and ran fine.