Can't install WasmEdge with wasmedge_rustls plugin (tested on Fedora and Ubuntu)
JohnFrrr opened this issue · comments
Summary
When trying to install WasmEdge with the wasmedge_rustls plugin using the command:
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugins wasmedge_rustls
In Ubuntu 22.04.3 LTS it returns the error:
ERROR - Plugin not compatible: ubuntu20.04aarch64wasmedge_rustls
In Fedora CoreOS 39.20240128.2.2 it returns the error:
ERROR - Plugin not compatible: manylinux2014aarch64wasmedge_rustls
Hardware: Macbook M2 Pro Max
Hi @JohnFrrr
We only provided a pre-built plugin of the wasmedge_rustls on the x86_64 Linux platforms. If you want to use this plugin on arm64, please build from source instead.
Hi @hydai
Thanks for the clarification, but when I try to build it from source following these instructions I get the error:
error: no packages found with binaries or examples
Can you help me find out if I'm doing something wrong?
Here is the terminal history (already installed CMake and Rust):
~/WasmEdge/plugins/wasmedge_rustls$ cargo build --release
Compiling libc v0.2.153
Compiling cc v1.0.83
Compiling proc-macro2 v1.0.78
Compiling unicode-ident v1.0.12
Compiling cfg-if v1.0.0
Compiling getrandom v0.2.12
Compiling untrusted v0.9.0
Compiling ring v0.17.7
Compiling spin v0.9.8
Compiling ring v0.16.20
Compiling quote v1.0.35
Compiling syn v2.0.48
Compiling wasmedge_sys_ffi v0.13.0
Compiling thiserror v1.0.57
Compiling paste v1.0.14
Compiling thiserror-impl v1.0.57
Compiling webpki v0.22.4
Compiling log v0.4.20
Compiling once_cell v1.19.0
Compiling spin v0.5.2
Compiling untrusted v0.7.1
Compiling rustls v0.20.9
Compiling sct v0.7.1
Compiling wasmedge_plugin_sdk v0.2.0
Compiling webpki-roots v0.22.6
Compiling bytes v1.5.0
Compiling wasmedge_rustls_plugin v0.2.0 (/home/docker/WasmEdge/plugins/wasmedge_rustls)
Finished release [optimized] target(s) in 18.10s
~/WasmEdge/plugins/wasmedge_rustls$ cargo install --path .
error: no packages found with binaries or examples
Hi @JohnFrrr
Could you please check if there is a libwasmedge_rustls.so
file inside target/release
? If so, please copy it into your plugin folder.
Hi @L-jasmine
Please check if the issue about install --path .
is not working after the Lunar New Year vacation.
Thank you @hydai !
After copying the file to the plugin folder I can run the hyper https client example successfully using the rustls plugin, although I still receive the following three errors, should I worry about them?
[2024-02-18 18:03:40.345] [error] instantiation failed: module name conflict, Code: 0x60
[2024-02-18 18:03:40.345] [error] At AST node: module
[2024-02-18 18:03:40.350] [error] AOT section -- library load failed:loading failed: integer too large, Code: 0x35 , use interpreter mode instead.
*The first two are the same as the #2418 issue.
Here is a more complete history of the terminal:
sudo ls $HOME/.wasmedge/plugin #confirming that the file was correctly copied to the wasmedge plugin folder
libwasmedge_rustls.so #here it is
~$ cd wasmedge_hyper_demo/client-https
~/wasmedge_hyper_demo/client-https$ wasmedge wasmedge_hyper_client_https.wasm
[2024-02-18 18:03:40.345] [error] instantiation failed: module name conflict, Code: 0x60
[2024-02-18 18:03:40.345] [error] At AST node: module
[2024-02-18 18:03:40.350] [error] AOT section -- library load failed:loading failed: integer too large, Code: 0x35 , use interpreter mode instead.
Response: 200 OK
Headers: {
"date": "Sun, 18 Feb 2024 18:03:40 GMT",
"content-type": "application/json",
"content-length": "238",
"connection": "keep-alive",
"server": "gunicorn/19.9.0",
"access-control-allow-origin": "*",
"access-control-allow-credentials": "true",
}
{
"args": {
"msg": "WasmEdge"
},
"headers": {
"Host": "httpbin.org",
"X-Amzn-Trace-Id": "Root=1-65d2467c-3c79b310673c469c3b42e5d5"
},
"origin": "179.250.248.61",
"url": "https://httpbin.org/get?msg=WasmEdge"
}
Done!
These error msg could be ignored correctly.
The first two errors are triggered when using the rust plugin.
The third error is the pre-compiled wasm file contains some incompatible AOT section so we just skip the AOT part and use the interpreter mode instead.