steg86
cross
Our great sponsors
steg86 | cross | |
---|---|---|
2 | 105 | |
245 | 4,322 | |
- | 5.3% | |
7.3 | 9.4 | |
18 days ago | 4 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
steg86
-
Weird things I learned while writing an x86 emulator
This is a good list! Another fun quirk: because x86 is a register-memory architecture and allows all kinds of variants of reg/mem operand encodings, there are a handful of equivalent encodings with exactly the same lengths (and just slightly different ModR/M bytes). You can take advantage of this to do software fingerprinting or, in my case, steganography without changing an executable’s size or semantics[1].
- Yes, the 8086 wanted to be mechanically translatable from the 8080, but
cross
-
Was cross-compiling and cross-running tests always this simple?
A tool called cross-rs also exists, with some of the complexities you mentioned. As I understand it this is to unify the process for a wide range of targets (including e.g. Windows) and to isolate host dependencies.
Cross compiling with cargo has always been relatively simple; that's what you get by designing a default cross compiling toolchain. cargo cross also exists to make cross compilation and testing even simpler for most cases.
the qemu setup is black magic
-
Rust cross-compilation without struggles by using the nixpkgs-cross-overlay
This project is in the early development stage, but in my opinion, it is more convenient, fast, and powerful than projects like cross-rs. I am not a very good technical writer, and if something is not clear, ask me. And of course, any contributions and improvements are welcome.
-
Install a CLI in a project (not globally)
cargo install has no facility for per-project installation, but Rust binaries are statically linked aside from the C libraries they depend on, so it should work if you compilie the sqlx-cli binary against the oldest glibc you want to support (cross can help there) and then copy it to the other development machines through any means desired.)
-
Does anyone have resources on cross-compiling windows to mac?
I'm no expert, but Cargo Cross might help. This uses containers to cross compile rust projects.
-
How do I cross compile for Rasperry Pi 64 bit on Windows?
If you want to get it working with openssl for some reason, I would recommend using cross, but it won't do you much good by itself, as the default docker image (and therefore sysroot) doesn't have much. Given your errors, it likely doesn't come with a version of openssl. If you want to add it yourself, please look at the "Custom Docker Images" section of cross's readme page. You'll need a bit of knowledge of how to get cross compilation working on your Linux distro of choice for the docker base image. Good luck!
I've tried everything. I've tried following guides about doing it "by hand" but couldn't do it. I'm now using cargo cross as suggested by a lot of people, but it's just isn't working. I keep getting errors about OpenSSL. I've followed every suggestion possible but it's still isn't working. As per this article on the Cross wiki, I've added
Secondly, for pi's, I always use cross-rs
-
Conditional compilation to avoid cross compilation
I'm not sure who needs to see this, but I had been struggling with compile times using cross + Docker Desktop on Mac while working on a small personal project the past few days. Despite the whole project being fewer than 350 LOC between a few files, recompiling the project with any change was taking upwards of 2 minutes through cross. I went through the due diligence of reducing the number of dependencies, removing features and macros that I didn't need, not compiling in release mode, trying different file sharing implementations for Docker Desktop and with all of that combined the time dropped to around 1 minute and 30 seconds for an incremental build. Still far from ideal for a small personal project.
What are some alternatives?
dockcross - Cross compiling toolchains in Docker images
termux-adb-fastboot - android adb-fastboot tools for termux
opencv-rust - Rust bindings for OpenCV 3 & 4
rusqlite - Ergonomic bindings to SQLite for Rust
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
WoeUSB - A Microsoft Windows® USB installation media preparer for GNU+Linux
Cargo - The Rust package manager
dmd - dmd D Programming Language compiler
rustbreak - A simple, fast and easy to use self-contained single file storage for Rust
PrusaSlicer-ARM.AppImage - PrusaSlicer packaged in an ARM AppImage for the Pi 4. Pre-built AppImages located within releases.
noria - Fast web applications through dynamic, partially-stateful dataflow
rust-sfml - SFML bindings for Rust