What steps will reproduce the problem?
1. sudo port install ncurses (ncurses @5.9_2)
2. go get code.google.com/p/goncurses
What is the expected output? What do you see instead?
The expectation is installation. Instead I get the following panic:
# code.google.com/p/goncurses
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x15672]
goroutine 16 [running]:
runtime.panic(0x1dae60, 0x31b9e4)
/usr/local/go/src/pkg/runtime/panic.c:279 +0xf5
main.(*typeConv).Type(0x208466420, 0x2208384a00, 0x2084dbf20, 0xb3c4, 0x1)
/usr/local/go/src/cmd/cgo/gcc.go:1288 +0x1632
main.(*typeConv).Type(0x208466420, 0x2208384908, 0x2084dbe30, 0xb3c4, 0x4)
/usr/local/go/src/cmd/cgo/gcc.go:1189 +0x3dd6
main.(*typeConv).Struct(0x208466420, 0x2085c1e60, 0xb3c4, 0x6, 0x0, 0x0, 0x8)
/usr/local/go/src/cmd/cgo/gcc.go:1551 +0x70b
main.(*typeConv).Type(0x208466420, 0x220838a070, 0x2085c1e60, 0xb3c4,
0x2084ddac0)
/usr/local/go/src/cmd/cgo/gcc.go:1234 +0x3038
main.(*typeConv).Type(0x208466420, 0x2208384a00, 0x2084da690, 0xb3c4, 0x26d401)
/usr/local/go/src/cmd/cgo/gcc.go:1269 +0x1301
main.(*typeConv).Type(0x208466420, 0x2208384908, 0x2084da390, 0xb3c4, 0x4)
/usr/local/go/src/cmd/cgo/gcc.go:1189 +0x3dd6
main.(*typeConv).Struct(0x208466420, 0x2085c1c80, 0xb3c4, 0x6, 0x0, 0x0, 0x4)
/usr/local/go/src/cmd/cgo/gcc.go:1551 +0x70b
main.(*typeConv).Type(0x208466420, 0x220838a070, 0x2085c1c80, 0xb3c4, 0x1)
/usr/local/go/src/cmd/cgo/gcc.go:1234 +0x3038
main.(*typeConv).Type(0x208466420, 0x2208384908, 0x2084fd980, 0xb3c4, 0x0)
/usr/local/go/src/cmd/cgo/gcc.go:1189 +0x3dd6
main.(*typeConv).Struct(0x208466420, 0x2085c1b00, 0xb3c4, 0x6, 0x0, 0x0, 0x8)
/usr/local/go/src/cmd/cgo/gcc.go:1551 +0x70b
main.(*typeConv).Type(0x208466420, 0x220838a070, 0x2085c1b00, 0xb3c4,
0x2084dd840)
/usr/local/go/src/cmd/cgo/gcc.go:1234 +0x3038
main.(*typeConv).Type(0x208466420, 0x2208384a00, 0x2084fce70, 0xb3c4, 0x1)
/usr/local/go/src/cmd/cgo/gcc.go:1269 +0x1301
main.(*typeConv).Type(0x208466420, 0x2208384908, 0x2084fce10, 0xb3c4, 0x4)
/usr/local/go/src/cmd/cgo/gcc.go:1189 +0x3dd6
main.(*typeConv).FuncArg(0x208466420, 0x2208384908, 0x2084fce10, 0xb3c4, 0x1)
/usr/local/go/src/cmd/cgo/gcc.go:1405 +0x59
main.(*typeConv).FuncType(0x208466420, 0x20852ab40, 0xb3c4, 0x20852ab40)
/usr/local/go/src/cmd/cgo/gcc.go:1458 +0x534
main.(*Package).loadDWARF(0x20836f1e0, 0x208439500, 0x208516c00, 0x42, 0x80)
/usr/local/go/src/cmd/cgo/gcc.go:539 +0x1462
main.(*Package).Translate(0x20836f1e0, 0x208439500)
/usr/local/go/src/cmd/cgo/gcc.go:182 +0x150
main.main()
/usr/local/go/src/cmd/cgo/main.go:259 +0xef1
goroutine 19 [finalizer wait]:
runtime.park(0x4fed0, 0x31feb8, 0x31f269)
/usr/local/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x31feb8, 0x31f269)
/usr/local/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
/usr/local/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
/usr/local/go/src/pkg/runtime/proc.c:1445
What version of the product are you using? On what operating system?
Head version on OS X 10.9.3.
Please provide any additional information below.
ncurses confirmed installed and working correctly with a "Hello World" app.
$ vi ncurses.c
$ gcc -o ncurses ncurses.c -lncurses
$ ./ncurses
$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/chris/go:/Users/chris/go/src"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments
-fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
$ go version
go version go1.3 darwin/amd64
$ go run hello.go
Hello, world
On the same machine with the same configuration, this worked in Go 1.2.