Bug#956820: gccgo does not implement syscall in hurd-i386
Package: gccgo-9
Version: 9.3.0-9
Severity: important
X-debbugs-cc: debian-hurd@lists.debian.org
golang-github-nsf-termbox-go is failing to build with gcc-go (changed
Build-Depends to golang-any and built on hurd-i386 latest sid).
There are many failures like this,
src/github.com/nsf/termbox-go/termbox.go:507:37: error: reference to
undefined identifier ‘syscall.SYS_FCNTL’ 507 | r, _, e :=
syscall.Syscall(syscall.SYS_FCNTL, uintptr(fd), uintptr(cmd),
| ^
src/github.com/nsf/termbox-go/termbox.go:50:17: error: use of undefined
type ‘syscall_Termios’
50 | orig_tios syscall_Termios
$ go version
go version go1.12.2 gccgo (Debian 9.3.0-9) 9.3.0 hurd/386
Discussion with hurd maintainers
https://lists.debian.org/debian-hurd/2020/04/msg00026.html
Full build log attached. I think gccgo needs to implement these syscall
interfaces for hurd.
golang-github-nsf-termbox-go-0.0~git20160914$ dpkg-buildpackage
dpkg-buildpackage: info: source package golang-github-nsf-termbox-go
dpkg-buildpackage: info: source version 0.0~git20160914-3
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Michael Stapelberg <stapelberg@debian.org>
dpkg-buildpackage: info: host architecture hurd-i386
dpkg-source --before-build .
fakeroot debian/rules clean
I: golang-github-nsf-termbox-go_0.0~git20160914
dh clean --buildsystem=golang --with=golang
dh_auto_clean -O--buildsystem=golang
dh_clean -O--buildsystem=golang
dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building golang-github-nsf-termbox-go using existing ./golang-github-nsf-termbox-go_0.0~git20160914.orig.tar.gz
dpkg-source: info: building golang-github-nsf-termbox-go in golang-github-nsf-termbox-go_0.0~git20160914-3.debian.tar.xz
dpkg-source: info: building golang-github-nsf-termbox-go in golang-github-nsf-termbox-go_0.0~git20160914-3.dsc
debian/rules build
I: golang-github-nsf-termbox-go_0.0~git20160914
dh build --buildsystem=golang --with=golang
dh_update_autotools_config -O--buildsystem=golang
dh_auto_configure -O--buildsystem=golang
dh_auto_build -O--buildsystem=golang
cd obj-i686-gnu && go install -gcflags=all=\"-trimpath=/home/pravi/golang-github-nsf-termbox-go-0.0\~git20160914/obj-i686-gnu/src\" -asmflags=all=\"-trimpath=/home/pravi/golang-github-nsf-termbox-go-0.0\~git20160914/obj-i686-gnu/src\" -v -p 1 github.com/nsf/termbox-go
github.com/mattn/go-runewidth
github.com/nsf/termbox-go
# github.com/nsf/termbox-go
src/github.com/nsf/termbox-go/termbox.go:507:37: error: reference to undefined identifier â??syscall.SYS_FCNTLâ??
507 | r, _, e := syscall.Syscall(syscall.SYS_FCNTL, uintptr(fd), uintptr(cmd),
| ^
src/github.com/nsf/termbox-go/termbox.go:50:17: error: use of undefined type â??syscall_Termiosâ??
50 | orig_tios syscall_Termios
| ^
src/github.com/nsf/termbox-go/api.go:57:6: error: reference to field â??Iflagâ?? in object which has no fields or methods
57 | tios.Iflag &^= syscall_IGNBRK | syscall_BRKINT | syscall_PARMRK |
| ^
src/github.com/nsf/termbox-go/api.go:57:17: error: reference to undefined name â??syscall_IGNBRKâ??
57 | tios.Iflag &^= syscall_IGNBRK | syscall_BRKINT | syscall_PARMRK |
| ^
src/github.com/nsf/termbox-go/api.go:57:34: error: reference to undefined name â??syscall_BRKINTâ??
57 | tios.Iflag &^= syscall_IGNBRK | syscall_BRKINT | syscall_PARMRK |
| ^
src/github.com/nsf/termbox-go/api.go:57:51: error: reference to undefined name â??syscall_PARMRKâ??
57 | tios.Iflag &^= syscall_IGNBRK | syscall_BRKINT | syscall_PARMRK |
| ^
src/github.com/nsf/termbox-go/api.go:58:3: error: reference to undefined name â??syscall_ISTRIPâ??
58 | syscall_ISTRIP | syscall_INLCR | syscall_IGNCR |
| ^
src/github.com/nsf/termbox-go/api.go:58:20: error: reference to undefined name â??syscall_INLCRâ??
58 | syscall_ISTRIP | syscall_INLCR | syscall_IGNCR |
| ^
src/github.com/nsf/termbox-go/api.go:58:36: error: reference to undefined name â??syscall_IGNCRâ??
58 | syscall_ISTRIP | syscall_INLCR | syscall_IGNCR |
| ^
src/github.com/nsf/termbox-go/api.go:59:3: error: reference to undefined name â??syscall_ICRNLâ??
59 | syscall_ICRNL | syscall_IXON
| ^
src/github.com/nsf/termbox-go/api.go:59:19: error: reference to undefined name â??syscall_IXONâ??
59 | syscall_ICRNL | syscall_IXON
| ^
src/github.com/nsf/termbox-go/api.go:60:6: error: reference to field â??Lflagâ?? in object which has no fields or methods
60 | tios.Lflag &^= syscall_ECHO | syscall_ECHONL | syscall_ICANON |
| ^
src/github.com/nsf/termbox-go/api.go:60:17: error: reference to undefined name â??syscall_ECHOâ??
60 | tios.Lflag &^= syscall_ECHO | syscall_ECHONL | syscall_ICANON |
| ^
src/github.com/nsf/termbox-go/api.go:60:32: error: reference to undefined name â??syscall_ECHONLâ??
60 | tios.Lflag &^= syscall_ECHO | syscall_ECHONL | syscall_ICANON |
| ^
src/github.com/nsf/termbox-go/api.go:60:49: error: reference to undefined name â??syscall_ICANONâ??
60 | tios.Lflag &^= syscall_ECHO | syscall_ECHONL | syscall_ICANON |
| ^
src/github.com/nsf/termbox-go/api.go:61:3: error: reference to undefined name â??syscall_ISIGâ??
61 | syscall_ISIG | syscall_IEXTEN
| ^
src/github.com/nsf/termbox-go/api.go:61:18: error: reference to undefined name â??syscall_IEXTENâ??
61 | syscall_ISIG | syscall_IEXTEN
| ^
src/github.com/nsf/termbox-go/api.go:62:6: error: reference to field â??Cflagâ?? in object which has no fields or methods
62 | tios.Cflag &^= syscall_CSIZE | syscall_PARENB
| ^
src/github.com/nsf/termbox-go/api.go:62:17: error: reference to undefined name â??syscall_CSIZEâ??
62 | tios.Cflag &^= syscall_CSIZE | syscall_PARENB
| ^
src/github.com/nsf/termbox-go/api.go:62:33: error: reference to undefined name â??syscall_PARENBâ??
62 | tios.Cflag &^= syscall_CSIZE | syscall_PARENB
| ^
src/github.com/nsf/termbox-go/api.go:63:6: error: reference to field â??Cflagâ?? in object which has no fields or methods
63 | tios.Cflag |= syscall_CS8
| ^
src/github.com/nsf/termbox-go/api.go:63:16: error: reference to undefined name â??syscall_CS8â??
63 | tios.Cflag |= syscall_CS8
| ^
src/github.com/nsf/termbox-go/api.go:64:6: error: reference to field â??Ccâ?? in object which has no fields or methods
64 | tios.Cc[syscall_VMIN] = 1
| ^
src/github.com/nsf/termbox-go/api.go:64:10: error: reference to undefined name â??syscall_VMINâ??
64 | tios.Cc[syscall_VMIN] = 1
| ^
src/github.com/nsf/termbox-go/api.go:65:6: error: reference to field â??Ccâ?? in object which has no fields or methods
65 | tios.Cc[syscall_VTIME] = 0
| ^
src/github.com/nsf/termbox-go/api.go:65:10: error: reference to undefined name â??syscall_VTIMEâ??
65 | tios.Cc[syscall_VTIME] = 0
| ^
src/github.com/nsf/termbox-go/termbox.go:274:15: error: reference to undefined name â??syscall_TCSETSâ??
274 | fd, uintptr(syscall_TCSETS), uintptr(unsafe.Pointer(termios)))
| ^
src/github.com/nsf/termbox-go/termbox.go:283:15: error: reference to undefined name â??syscall_TCGETSâ??
283 | fd, uintptr(syscall_TCGETS), uintptr(unsafe.Pointer(termios)))
| ^
src/github.com/nsf/termbox-go/termbox.go:50:17: error: use of undefined type â??syscall_Termiosâ??
50 | orig_tios syscall_Termios
| ^
src/github.com/nsf/termbox-go/termbox.go:50:17: error: use of undefined type â??syscall_Termiosâ??
dh_auto_build: error: cd obj-i686-gnu && go install -gcflags=all=\"-trimpath=/home/pravi/golang-github-nsf-termbox-go-0.0\~git20160914/obj-i686-gnu/src\" -asmflags=all=\"-trimpath=/home/pravi/golang-github-nsf-termbox-go-0.0\~git20160914/obj-i686-gnu/src\" -v -p 1 github.com/nsf/termbox-go returned exit code 2
debian/rules:7: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Reply to: