build on ARM #1069
Describe what happened:
Is it currently possible to compile on (32-bit) ARM platforms, or cross-compile for them?
@blasagna yes that's possible even if through an undocumented feature (docs will come soon).
You can build what we call the "Puppy Agent", a lightweight version of the full Agent that cross compiles to different platforms at the price of having less features (most notably, the Python engine is missing, meaning you can't execute Python checks on Puppy).
To build the Puppy:
You can cross compile like any other Go project:
Let me know if this helps, we want ARM architectures to be first-class citizens so any feedback is appreciated!
I had a similar problem
But building Puppy worked:
I attempted to cross-compile from my Mac and experienced a different issue:
$ env GOOS=linux GOARCH=arm GOARM=5 invoke agent.build go build github.com/DataDog/datadog-agent/vendor/github.com/sbinet/go-python: build constraints exclude all Go files in /Users/taylor/projects/go/src/github.com/DataDog/datadog-agent/vendor/github.com/sbinet/go-python
But once I added the
referenced this issue
May 15, 2018
For the record, I have the same problem on a i686 box (Debian 8.11) with Go 1.10.3. i386.
Building the Puppy version works.