second-state / wasmedge-quickjs

A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge.
Apache License 2.0
477 stars 59 forks source link

Build without SIMD #121

Open lastmjs opened 8 months ago

lastmjs commented 8 months ago

Our environment does not support SIMD. I am not sure how to build wasmedge-quickjs without SIMD. I found this PR: https://github.com/second-state/wasmedge-quickjs/pull/32#issuecomment-1874708271

I've tried removing the Rust compiler flag but we still get a SIMD validation error in our environment. lib/libquickjs.a seems to have been compiled with SIMD128 support. How do I recomplie lib/libquickjs.a to remove that?

L-jasmine commented 8 months ago

You can recomplie lib/libquickjs.a with this

lastmjs commented 8 months ago

What is wasicc and wasiar?

lastmjs commented 8 months ago

I suppose they're installed with this? https://medium.com/wasmer/wasienv-wasi-development-workflow-for-humans-1811d9a50345

lastmjs commented 8 months ago

Is there a Discord channel or somewhere else I can go for questions during my build process? I've got things popping up and if I could just get ahold of someone that would make things much easier.

alabulei1 commented 8 months ago

Hi @lastmjs

Thanks for you question. We do have a Discord server. You can join via this link.

L-jasmine commented 8 months ago

What is wasicc and wasiar?

https://github.com/wasienv/wasienv

lastmjs commented 8 months ago

I have successfully compiled and have wasmedge-quickjs working in our environment without SIMD.

What do you think about making this a Cargo feature or somehow allowing wasmedge-quickjs to have this on be default by able to be turned off?

L-jasmine commented 8 months ago

How about downloading quickjs-wasi and building libquickjs.a every time during compilation?

lastmjs commented 7 months ago

Sounds fine for my use case, we aren't often changing wasmedge-quickjs.