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.