TL DR
Your Go app cannot allocate virtual memory to run. I have never developed a switch for a switch before, but if it uses the linux or unix version, check the group / user permissions and ulimit values ββto see if this user has any restrictions. Perhaps this question may help.
Longer version
So your problem here is not that you cannot work without the go development environment, because you really don't need it. Go is known for creating static binaries that are, by definition, standalone and independent of other libraries to run.
If you look better at your error message, you will notice that it says:
"cannot reserve virtual arena address space"
Perhaps you are asking yourself: "What is this arena?"
A quick look at the malloc source code gives us a hint:
Set up the distribution arena, an adjacent memory area where the highlighted data will be found. The arena starts with a bitmap enough to store 4 bits per highlighted word.
If you go through this source code, you will find an error message here .
Runtime Environment Β· The SysReserve C function is one that actually tries to reserve a virtual address space for the arena. If he cannot isolate it, he will throw out this error.
You can find the code for its Linux implementation here .
As usual, you are trying to avoid large distributions, as it may crash right away if your user cannot allocate something smaller than 64K, which means that your user has hard limits. Since I have no idea which OS your switch is working for, and I have no experience for them, I cannot go beyond that.
If you can provide more information, I can try to update this answer accordingly.