[Pkg-rust-maintainers] Illegal hardware instruction
infinity0 at debian.org
Tue Sep 1 13:02:29 UTC 2015
If even the upstream binaries are failing for you, this sounds like an upstream issue and you should contact them about it.
If you want to try compiling from source, you don't need to cross-compile, you can just try to re-build the package on your i586 directly.
But if you need to use your amd64 machine, you can set up a i386 chroot on it, using `ARCH=i386 git pbuilder create` after installing git-buildpackage and cowbuilder/pbuilder.
You can then do `ARCH=i386 git pbuilder login` to play about inside it, or use `cowbuilder --basepath /var/cache/pbuilder/base-sid-i386.cow --build rustc_*.dsc` to build a source package directly using it.
On 01/09/15 14:49, James Fisher wrote:
> I've been attempting to get Rust up and running on an old i586 laptop.
> i586 is a superset of i386 but a subset of x86_64 and I understand that i586 is not supported by Rust officially but that i386 binaries should be sufficient.
> I've tried the stable and nightly binaries of Rust (which are downloaded and installed as i686). I've also installed tried the i386 binaries installed from Debian Unstable repos.
> In all cases, when I try to compile some rust eg the hello world example; rustc fails with an error 'illegal hardware instruction'.
> I suspect I may need to compile Rust from source myself, setting the right CFLAGS for my target architecture. However I'm not sure where to start. I've managed to cross compile C code on my amd64 that runs on the i586 by simply building with -m32 however I'm sure building Rust is not that simple.
> Can anyone help me debug the Debian Rust packages or help me set up a toolchain for cross compiling i586 packages?
> Kind regards, James
More information about the Pkg-rust-maintainers