StratusFearMe21/cargo-appimage

Doesn't work with the `--target` flag.

Closed this issue · 7 comments

Sorry for the rapid-fire bug reports!

It appears that cargo-appimage always looks in target/release/ for the executables. However, when building using the --target option Cargo puts the binaries in a directory specific to the given target.

For example, if building with --target=x86_64-unknown-linux-gnu, Cargo will put the executable files in target/x86_64-unknown-linux-gnu/. This results in cargo-appimage being unable to find the binaries and thus fail to build the appimages.

Hmm, I don't really see why you'd need to use the target option anyway unless building for a platform other than Linux, in which case cargo-appimage would not be needed because AppImages are only compatible with Linux.

I'll implement this anyway. Might take a while though.

Okay, the latest verison (1.3.1) respects target flags.

Sorry for the rapid-fire bug reports!

Constructive criticism and bug reports are always welcome, no matter the frequency in which I get them.

Hmm, I don't really see why you'd need to use the target option anyway

In my particular case it's because I'm using this on CI for automatically building and packaging releases, and it just makes it a little easier to use (roughly) the same commands on every OS. But I agree, it's not exactly critical, ha ha.

in which case cargo-appimage would not be needed because AppImages are only compatible with Linux

There are still different hardware architectures. But handling cross-building of AppImages for different hardware architectures is probably a bigger project, and isn't what I was personally running into anyway.

Okay, the latest verison (1.3.1) respects target flags.

Thanks so much! It works great, and will make my CI setup a bit easier to manage.

There are still different hardware architectures.

Whoops, that completely didn't cross my mind.

I'm trying to cross-compile and the LD_LIBRARY_PATH is hardcoded too (relevant with this issue - otherwise lets split it in a new one) instead of using the defaults + /usr/lib/$(uname -m)-linux-gnu or something.