It looks like the Geth binary for ARMv5 architecture was compiled using ld-linux.so.3 for the dynamic linker. But I'm trying to run it in OpenWrt Linux, which uses Musl C standard library instead (ld-musl-arm.so.1) Is there a quick fix for this, like finding precompiled ld-linux.so.3 online and copying it to my OpenWrt lib directory, or do I need to cross compile ld-linux.so myself?... if I can find the source code (still looking) Or should I try to cross compile Geth myself using musl instead? Is there a way to edit the XGO cross compiler setup to change the dynamic linker??


I was able to get it compiled by setting the ldflag to static in the go-ethereum Makefile for arm-5. It is originally set for static on the MIPS builds, but not ARM. I used the XGo and go-ethereum instructions for cross compile, but was also looking into using the GCCGO cross compiler, that is an OpenWrt method http://www.sajalkayan.com/post/golang-openwrt-mips.html I am curious how to use GCCGO to compile Geth source code though. The Geth binary crashed when I tried it on a router. Linksys EA4500 with 128Mb RAM. fatal error: runtime: out of memory! Maybe I'll try cpp-ethereum, but it looks like 1GB of RAM is necessary.

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.