Closed dfense closed 6 years ago
Looks the same as this issue: https://github.com/golang/go/issues/18866
Looks like there are some suggested approaches in that thread.
I would be open to patches that specialize with build constraints based on GOARCH (we have build constraints based on GOOS and CGO right now, but not GOARCH).
the same issue with GOARCH=mips (using Go 1.9.2)
EDIT: after a whole day of try and error, and after trying several other serial port packages for GO, I've found that package: "github.com/jacobsa/go-serial/serial" works for MIPS, however, I needed to cross-compile c++ program (included in comments there) to test it on my MIPS platform (in my case, ar7xxx). After that, I was able to find out that constants to be changed there are:
original LINUX
kTCSETS2 = 0x402C542B
kBOTHER = 0x1000
kNCCS = 19
changes for AR7xxx
TCSETS2 = 0x8030542B
BOTHER = 0x00001000
NCCS = 23
After that, that package works. However, this is way complicated, time consuming, and not portable (one would have to cross compile c++, and manually change constants... etc etc). I hope this information will help you fix this package, since otherwise it works fine. I'm guessing it's just a matter of some constants somewhere, but...
This is still broken on mipsle and mips with the same error that OP reported.
After the merged patch, the missing fields are still referenced.
@nocko I believe this is compiling as expected on mips. I just pushed a change to the travis.yml file that adds cross compile targets for arm, mips, and mipsle and those at least compile (I have not personally tested mips, but arm and x64 are in production).
Hi,
Your library looks solid and can use on linux np. However, I did most recently purchase some new IoT Omega2 processors from onion.io and they could be quite popular.
I have been writing programs in GO and running on it w/no problem. Runs great, small and tight. I was hoping to get some serial port development going on it, and of course, seem to be quite a few platform specific items breaking.
Your serial lib seems the closest. I try to compile the simple default sample you provide with the library, and get the following error using this compile syntax.
GOOS=linux GOARCH=mipsle go build -compiler gc serial.go
Anything I can do to help you support this platform ?