Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libwasmvm.so is missing for non-Docker setup #1284

Closed
vorotech opened this issue Apr 18, 2022 · 5 comments · Fixed by #1286
Closed

libwasmvm.so is missing for non-Docker setup #1284

vorotech opened this issue Apr 18, 2022 · 5 comments · Fixed by #1286
Assignees

Comments

@vorotech
Copy link

vorotech commented Apr 18, 2022

What is the issue?

libwasmvm.so is missing when executing osmosisd binary downloaded from the releases page.

This is not a Docker based, but Full Node setup

$ osmosisd init moniker-1 --home=/home/cosmos/.osmosisd --chain-id=osmosis-1
...
osmosisd: error while loading shared libraries: libwasmvm.so: cannot open shared object file: No such file or directory

System

$ uanme -a
Linux #23~20.04.2-Ubuntu SMP Thu Mar 31 11:36:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version go1.18.1 linux/amd64

osmosisd is https://github.com/osmosis-labs/osmosis/releases/download/v7.2.0/osmosisd-7.2.0-linux-amd64

Last known working version for both downloaded binary as well as built from source without any issues is v6.4.0

Workaround

The only workaround I've found is to build from sources, but make extra steps similar to those in Docker file

wget https://github.com/CosmWasm/wasmvm/releases/download/v1.0.0-beta7/libwasmvm_muslc.a -O /lib/libwasmvm_muslc.a
git clone https://github.com/osmosis-labs/osmosis
cd osmosis
BUILD_TAGS=muslc make build
cp ./build/osmosisd /usr/local/bin

NOTE: Only version v1.0.0-beta7 of CosmWasm/wasmvm is working, other (newer) has breaking interface changes

Expected result

The osmosisd downloaded from the releases page works without any additional requirements or at lease this process is documented.

@p0mvn
Copy link
Member

p0mvn commented Apr 18, 2022

Thank you for this issue. It seems that our builder image was not updated with the cosm wasm related dependencies. I will look into it

@alexanderbez
Copy link
Contributor

Does this have anything to do with cross-compiling? If so, enabling CGO and shared libs in automated builds that cross compile is not possible AFAIK (e.g. this is why Ledger doesn't work on cross-compiled builds).

@ValarDragon
Copy link
Member

My understanding is that cosmwasm statically links the wasmvm binary on supported systems, but on any unsupported system it wouldn't, and requires it to be dynamically linked.
Likely the system this release was made for then didn't have a static link available, and so assumed it would be dynamically linked. (Which it wasn't - hence the failure)

@p0mvn
Copy link
Member

p0mvn commented Apr 18, 2022

My understanding is that cosmwasm statically links the wasmvm binary on supported systems, but on any unsupported system it wouldn't, and requires it to be dynamically linked. Likely the system this release was made for then didn't have a static link available, and so assumed it would be dynamically linked. (Which it wasn't - hence the failure)

That's correct. However, our build scripts were broken and didn't statically link the binary on the supported system (linux/amd64). It is now fixed in #1286

I updated the v7.2.0 release binary and tested it locally with no issues. @vorotech please let us know if you have issues with the newly uploaded binaries

@vorotech
Copy link
Author

@p0mvn I've tested the new binary of v7.2.0 and it works fine now 👍

Repository owner moved this from 🏃 In Progress to ✅ Done in Osmosis Chain Development Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants