[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: