go-bindata icon indicating copy to clipboard operation
go-bindata copied to clipboard

How do I create bindata for linux/s390x?

Open sandeep-at-ibm opened this issue 3 years ago • 1 comments

Hi @kevinburke , very new to golang, so I might totally off-base here. A go application got onto my plate which compiles well for linux/amd64 & Darwin, but for linux/s390x, it is looking for a bindata file like go-bindata-linux-s390x

  • how do I create bindata for linux/s390x?
  • I downloaded the Source, but not sure what /data files are required.

sandeep-at-ibm avatar May 18 '21 20:05 sandeep-at-ibm

I know this issue is old, but for posterity: So are you looking for the go-bindata binary for linux-s390x?

go probably has the best cross-compilation setup in existence. You just set some environment variables and you're done. From any CPU and any OS, you can do:

GOOS=linux GOARCH=s390x go install github.com/kevinburke/go-bindata/...@latest

Now your s390x binary is going to be named go-bindata in, probably, $HOME/go/bin/linux_s390x/ although if your GOPATH is set differently, it might end up elsewhere. Also, if $GOBIN is set, it will end up in that directory. If the program you're running is looking for go-bindata-linux-s390x, just rename go-bindata to that filename.

I just verified to make sure:

~/go/bin/linux_s390x
> file go-bindata
go-bindata: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), statically linked, Go BuildID=S35VsuHVm3Mp8uRoEUz2/vmn7zEKj4L7oxc4zWJSO/351VCsmD8LA5pF_ThMy8/H74-1VydGMk8Sf1D41jy, not stripped

Note that if you're already on linux/s390x, you don't have to set the environment variables. It will just give you the right binary automatically.

hut8 avatar Apr 16 '22 20:04 hut8