vectordotdev / vector

A high-performance observability data pipeline.
https://vector.dev
Mozilla Public License 2.0
17.63k stars 1.55k forks source link

vector support on x86 32 bit #10223

Open jszwedko opened 2 years ago

jszwedko commented 2 years ago

Discussed in https://github.com/vectordotdev/vector/discussions/10220

Originally posted by **bmallya** December 1, 2021 Hello, In the downloads section, I did not see any off the shelf binaries available for 32 bit systems. Then I tried to look if there is any docker image in the rust embedded section which can be used to compile using `cross`, but did not find any. Is this supported?
jszwedko commented 2 years ago

Hi @bmallya !

You are correct, we don't currently build for i686. We do build for armv7 though, which is 32-bit, so it might not be too hard to get working.

I tried it just now by adding the following diff:

diff --git a/Cargo.toml b/Cargo.toml
index 47952cd96..7e42a0ef4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -363,6 +363,7 @@ target-x86_64-unknown-linux-musl = ["api", "api-client", "disk-buffer", "rdkafka
 target-powerpc64le-unknown-linux-gnu = ["api", "api-client", "disk-buffer", "enrichment-tables", "rdkafka-cmake", "sinks", "sources", "sources-dnstap", "transforms", "unix", "vendor-libz", "vendor-openssl", "vrl-cli", "datadog-pipelines"]
 # currently doesn't build due to lack of support for 64-bit atomics
 target-powerpc-unknown-linux-gnu = ["api", "api-client", "disk-buffer", "enrichment-tables", "rdkafka-cmake", "sinks", "sources", "sources-dnstap", "transforms", "unix", "vendor-libz", "vendor-openssl", "vrl-cli", "datadog-pipelines"]
+target-i686-unknown-linux-gnu = ["api", "api-client", "disk-buffer", "enrichment-tables", "rdkafka-cmake", "sinks", "sources", "sources-dnstap", "transforms", "unix", "vendor-libz", "vendor-openssl", "vrl-cli", "datadog-pipelines"]

 # Enables `rdkafka` dependency.
 # This feature is more portable, but requires `cmake` as build dependency. Use it if `rdkafka-plain` doesn't work.
diff --git a/scripts/cross/i686-unknown-linux-gnu.dockerfile b/scripts/cross/i686-unknown-linux-gnu.dockerfile
new file mode 100644
index 000000000..68da34d72
--- /dev/null
+++ b/scripts/cross/i686-unknown-linux-gnu.dockerfile
@@ -0,0 +1,4 @@
+FROM rustembedded/cross:i686-unknown-linux-gnu
+
+COPY bootstrap-ubuntu.sh .
+RUN ./bootstrap-ubuntu.sh

But ran into clang issues:

error: failed to run custom build command for `onig_sys v69.7.1`

Caused by:
  process didn't exit successfully: `/target/release/build/onig_sys-3f43075698c84254/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', /cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.56.0/src/lib.rs:1922:31
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

So we'll probably need to dig into that more.

smitsr72 commented 2 years ago

We would like to use vector on a 32 bit industrial PC. Would also love to have windows 32 bit support.

bmallya commented 11 months ago

Reviving this ticket to see if there has been any change towards having 32 bit version available.

jszwedko commented 11 months ago

Not on our part. I'd love to see someone give this a shot though.

smitsr72 commented 11 months ago

Yes still very much want a 32 bits windows version. We are a machine manufacturer. New machines will get 64 bit industrial PC's, the the existing ones out in the field are 32 bit Windows Industrial PC's. They are here for a long time. We run 1 software stack on all machines, so this basically prohibits us to use vector.

On Thu, 2 Nov 2023 at 17:03, Jesse Szwedko @.***> wrote:

Not on our part. I'd love to see someone give this a shot though.

— Reply to this email directly, view it on GitHub https://github.com/vectordotdev/vector/issues/10223#issuecomment-1791023789, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIF33G5OQKZRU5QRCMRZPDYCO76XAVCNFSM5JFCKXB2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZZGEYDEMZXHA4Q . You are receiving this because you commented.Message ID: @.***>

-- Groeten, Roland