erigon icon indicating copy to clipboard operation
erigon copied to clipboard

New dynamic dependency within evm

Open namiloh opened this issue 6 months ago • 7 comments

Backtrace

I built the binary like this: https://github.com/holiman/goevmlab/blob/master/docker/Dockerfile#L46

RUN git clone https://github.com/ledgerwatch/erigon --depth 1
RUN cd erigon && make evm && cp ./build/bin/evm /erigon_vm

But the resulting binary has a new dynamic dependency which it didn't have previously:

root@683bec3f3dd9:/# ldd ./erigon_vm 
	linux-vdso.so.1 (0x00007ffc41bec000)
	libsilkworm_capi.so => not found
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd6a130a000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd6a12e6000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd6a1104000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd6a1565000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd6a1025000)
/erigon_vm: error while loading shared libraries: libsilkworm_capi.so: cannot open shared object file: No such file or directory

I guess I just need to dig it up and copy it over, or somehow enable static build mode. Just wanted to file this, in case you did not know that some recent change made a previously standalone binary into a dynamic dependency binary.

The location where it winds up is /go/pkg/mod/github.com/erigontech/[email protected]/lib/linux_x64/libsilkworm_capi.so

namiloh avatar Feb 06 '24 08:02 namiloh