v0.10.0
Support for MIPS would enable running Vector on cheap OpenWrt routers and other MIPS boards.
Currently there are some issues with building due to missing native 64-bit atomics. Possible solution is to use atomic_shim, as it provides a fallback with proper target detection. Also quanta & metrics-runtime dependencies need to be bumped to at least 0.3.2 and 0.13.1, since similar changes were required.
Bump quanta to 0.3.2 and metrics-runtime to 0.13.1, use atomic_shim where 64-bit atomics are required (at least in src/sinks/datadog/metrics.rs, can submit a PR if needed).
CI can be handled with cross and mips(el)-unknown-linux-musl target, probably with vendored version of C/C++ dependencies.
@Hoverbear probably has thoughts/feelz here.
Hi @nazar554 , unfortunately we can't use cross at the moment. (We have some pretty esoteric crates that are hard to cross compile, and cross doesn't have C++ support for MUSL targets).
It's something we're actively investigating and hoping to adopt though. I'm planning to do some exploratory work with cross next week. I'll let you know if we manage to add support!
@Hoverbear Are you sure about C++ being unsupported? I see a checkbox in README in row for mipsel-unknown-linux-musl. Also I had sucess building vector with cross once, but I am unsure whether I included all features.
Oh heck you're right. :) Well, then I might be able to slip it in with our cross adoption!!! Good catch!
WIP PR here https://github.com/timberio/vector/pull/3599
Need to figure out static linking issues and vendor-sasl one.
Also unsure why I need to specify libstdc++ and others manually, I thought they will get picked up by dependencies
@nazar554 Thank you!
Yeah I've encountered those issues before too. It's OK to not have sasl for mips at first. :) You can turn it off via feature flag.
You might find things from https://github.com/timberio/vector/blob/cross-env/Makefile useful? I'm not sure. It was an earlier attempt of mine at a more general solution.
@nazar554 we're about to merge https://github.com/timberio/vector/pull/3701 which should make this task much easier