In my current team, we are renewing our infrastructure going to instances GCE. We have almost everything working fine. There's one increment that we really like to do that is baking the binary outside the node and then copy to and from on bucket on cloud that binary.

So we have one pipeline building this binary and copying it to the node properly. The issue is that when we do that we get the following errors:

./tezos-node: error while loading shared libraries: libffi.so.7: cannot open shared object file: No such file or directory

This error just happens when the binary is built outside the node. When building on the node it works properly. The pipeline executes exactly the same steps that when executing in the nodes. I'm using a node running Ubuntu 20.04 and in the pipeline is a docker image with Ubuntu 20.04. This is the commands executed in the pipeline and nodes:


wget https://sh.rustup.rs/rustup-init.sh chmod +x rustup-init.sh ./rustup-init.sh --profile minimal --default-toolchain 1.44.0 -y source /root/.cargo/env

Zcash parameter for Tezos

wget https://raw.githubusercontent.com/zcash/zcash/master/zcutil/fetch-params.sh chmod +x fetch-params.sh ./fetch-params.sh

Installing OPAM

echo | sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) --version 2.0.9 opam init opam update opam switch create 4.10.2 eval opam config env eval $(opam env)

Checkout Tezos

git clone https://gitlab.com/tezos/tezos.git cd tezos git checkout latest-release git rev-parse HEAD

#Tezos dependencies and compile apt-get install -y cargo make build-deps eval $(opam env) make

I really appreciate your help. Many thanks!



Looks like you are missing the libffi6 (probably 7 for you on Ubuntu 20) package somewhere:

Ubuntu 18:
 $ find /usr/ -name "libffi.so*"

 $ dpkg -S /usr/lib/x86_64-linux-gnu/libffi.so*
 libffi-dev:amd64: /usr/lib/x86_64-linux-gnu/libffi.so
 libffi6:amd64: /usr/lib/x86_64-linux-gnu/libffi.so.6
  • Thanks! I have a doubt about this. Because the same node has a package that was built direct. And that binary works well in the same environment. I really arrive in moments of despair here where I was not able to move anymore.
    – Luthiano
    Aug 26 '21 at 16:13
  • Make sure that package is installed in both environments and you shouldn't have to worry. Make sure to install it within docker container too.
    – utdrmac
    Aug 27 '21 at 17:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.