Replies: 12 comments
-
Hey @mgiessing! Have you tried using the WASM build for ppc64? That's our recommended approach for unsupported platforms: #17452 I doubt we'll be adding a ppc64 build anytime soon – and even if we did, we'd need upstream versions of |
Beta Was this translation helpful? Give feedback.
-
Hi @philipp-spiess - thank you for your quick response! I added this but it seems to be not working and I get the same issue - did I miss anything or have to edit another file? diff --git a/package.json b/package.json
index 054baf3..9330bf6 100644
--- a/package.json
+++ b/package.json
@@ -144,5 +144,10 @@
"engines": {
"node": ">=18.13.0 <=22.x.x",
"npm": ">=6.0.0"
+ },
+ "overrides": {
+ "@parcel/watcher": "npm:@parcel/watcher-wasm",
+ "lightningcss": "npm:lightningcss-wasm",
+ "@tailwindcss/oxide": "npm:@tailwindcss/oxide-wasm32-wasi"
}
} Thank you! |
Beta Was this translation helpful? Give feedback.
-
Hmm does the npm config take effect at all? You may try this in your package root: node -p "require('@tailwindcss/oxide/package.json').name"
# should print: @tailwindcss/oxide-wasm32-wasi
node -p "require('lightningcss/package.json').name"
# should print: lightningcss-wasm
node -p "require('@parcel/watcher/package.json').name"
# should print: @parcel/watcher-wasm What node and npm version are you running? |
Beta Was this translation helpful? Give feedback.
-
Ah sorry my bad - I didn't properly delete the package-lock.json and node_modules - now it does work, the only issue left seem to be it's stuck after the build process finishes: [...]
[vite-plugin-static-copy] Copied 2 items.
✓ built in 2m
Run npm run preview to preview your production build locally.
> Using @sveltejs/adapter-static
Wrote site to "build"
✔ done So both - the terminal command You can actually try yourself and reproduce the issue e.g. on ARM: docker run -ti --rm node:22 bash
apt-get update && apt-get install vim -y
git clone --depth 1 -b v0.6.28 https://github.com/open-webui/open-webui && cd open-webui
# change package.json accordingly and add the above overrides
rm -rf node_modules/ package-lock.json
#follow install from open-webui
npm install --force
npm ci --force
#this will hang as shown above
npm run build Btw. I'm using node:22 and npm 10.9.3 |
Beta Was this translation helpful? Give feedback.
-
I got it working by building },
"overrides": {
"@parcel/watcher": "npm:@parcel/watcher-wasm",
"lightningcss": "npm:lightningcss-wasm",
"@tailwindcss/oxide": "<link-to-the-private-repo>oxide-4.1.13.tgz"
} Inside oxide I edited I also checked and it actually seems that |
Beta Was this translation helpful? Give feedback.
-
@mgiessing Yikes, sorry about the hangup, the node wasi bindings did appear super early when we built the wasm integration a couple of months back so maybe that's still the case. |
Beta Was this translation helpful? Give feedback.
-
No worries :) Since Mainly setting up rust, pnpm, napi, gcc/g++-toolchain and editing a few files accordingly. I believe this is the core part [...]
rustup target add powerpc64le-unknown-linux-gnu
export CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc
pnpm run --filter ./crates/node build:platform --target=powerpc64le-unknown-linux-gnu
powerpc64le-linux-gnu-strip ./crates/node/tailwindcss-oxide.linux-ppc64-gnu.node
[...] |
Beta Was this translation helpful? Give feedback.
-
Thanks! I can see us supporting that in the future but since there isn't a lot of reqests for it, going to tread this as a feature request for now especially since you're unblocked. We should look into what's wrong with the WASM variant though. We're pretty behind on napi-rs so maybe it's that? 🤔 |
Beta Was this translation helpful? Give feedback.
-
Yes - that's a good point! Power (&s390x) are to some extend more backend systems where enterprises ran core applications and it were less used in any kind of frontends but I feel that is changing and opening up with Linux being available on these platforms. If this is something that is accepted I can draft a PR to build the oxide binary; I do see it's already using cross-compilation for e.g. armv7 :) |
Beta Was this translation helpful? Give feedback.
-
For the WASM variant that'll be great but I'm also wondering if that would have any kind of drawback (is it performance?) - otherwise I'm wondering why there are native bindings at all for x86, arm etc. |
Beta Was this translation helpful? Give feedback.
-
Yeah perf is better with the native builds right now for sure! Happy to take a contribution for this but I think we should update napi-rs first haha (I'm trying to look into this soon) |
Beta Was this translation helpful? Give feedback.
-
@mgiessing Just a heads up: The latest insider release has updated napi-rs bindings. Might be worth checking if this fixes your issue? Going to migrate this thread to a feature request for ppc64 though, as stated above it's not something we'll be adding right now because the downstream dependencies don't support it either yet :/ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
What version of Tailwind CSS are you using?
v4.0.6
What build tool (or framework if it abstracts the build tool) are you using?
Vite 5.4.14
What version of Node.js are you using?
v22
What browser are you using?
N/A
What operating system are you using?
Linux
Describe your issue
I'm trying to build open-webui on ppc64le but it crashed due to tailwindcss/postcss (from
postcss.config.js
) is not supported on that architecture. Digging a bit deeper I believe the reason is that the rust binary (@tailwindcss/oxide-linux-powerpc64le-gnu) is missing.The error during the build is:
Is there a possibility to build/provide this as well? Rust itself is supported on IBM Power
Beta Was this translation helpful? Give feedback.
All reactions