Open roccomuso opened 1 month ago
Heya @roccomuso, Which OS are you trying to run the explorer on?
The root cause for the issue is the CGO compilation that dora needs to compile C libs for cryptography & sqlite.
When using CGO, the resulting build always targets the GLIBC version of the build system.
The github workflows that are building the release binaries are running on ubuntu-latest
, which always targets a recent version of GLIBC.
I've been curious to see if I can get the explorer running on older systems. And yea, it's actually not hard when building it yourself.
We could actually generate builds for older GLIBC versions by using docker for the build environment.
eg. for GLIBC_2.27
:
git clone https://github.com/ethpandaops/dora.git
cd dora
cat > ./Dockerfile-legacy <<- EOF
FROM ubuntu:18.04
RUN apt-get update -y && apt-get install -y --no-install-recommends \
curl ca-certificates build-essential
# Download and install Go
ENV GO_VERSION 1.23.1
RUN curl -LO "https://go.dev/dl/go1.23.1.linux-amd64.tar.gz" && \
tar -C /usr/local -xzf "go1.23.1.linux-amd64.tar.gz" && \
rm "go1.23.1.linux-amd64.tar.gz"
# Set Go environment variables
ENV PATH="/usr/local/go/bin:${PATH}"
ENV GOPATH="/go"
ENV GOBIN="/go/bin"
# Set the working directory
WORKDIR /app
CMD ["/bin/bash"]
EOF
docker build --file ./Dockerfile-legacy . -t dora-build --load
docker run -it -v $(pwd):/app dora-build make build
ls ./bin
The resulting build is forward compatible with recent versions of GLIBC, but might be slightly slower due to a limited feature set. But I'm not sure if it's worth adding additional build artifacts for older systems to releases.
Getting this error when executing bin inside latest
dora_1.12.0_linux_amd64.tar.gz
: