go-python / gopy

gopy generates a CPython extension module from a go package.
BSD 3-Clause "New" or "Revised" License
2.05k stars 113 forks source link

Docker command provided in readme fails #270

Open skamensky opened 2 years ago

skamensky commented 2 years ago

Running

docker run --rm -v `pwd`:/go/src/in -v `pwd`:/out gopy/gopy app bind -output=/out in

from the root of the repository results in this error:

panic: could not look-up "interface{}"!

goroutine 1 [running]:
github.com/go-python/gopy/bind.(*symtab).addSliceType(0xc420160360, 0xc420011630, 0x838ac0, 0xc420011810, 0x834540, 0xc420014ff0, 0x8, 0xc4201604a0, 0x1f, 0xc4200156a0, ...)
        /go/src/github.com/go-python/gopy/bind/symtab.go:552 +0x9fc
github.com/go-python/gopy/bind.(*symtab).addType(0xc420160360, 0x838ac0, 0xc420011810, 0x834540, 0xc420014ff0)
        /go/src/github.com/go-python/gopy/bind/symtab.go:389 +0x1213
github.com/go-python/gopy/bind.(*symtab).processTuple(0xc420160360, 0xc42000b140)
        /go/src/github.com/go-python/gopy/bind/symtab.go:357 +0xe3
github.com/go-python/gopy/bind.(*symtab).addSymbol(0xc420160360, 0x8387a0, 0xc420011860)
        /go/src/github.com/go-python/gopy/bind/symtab.go:337 +0xb73
github.com/go-python/gopy/bind.(*Package).process(0xc42009a960, 0x0, 0xc42006bad0)
        /go/src/github.com/go-python/gopy/bind/package.go:182 +0x1f2c
github.com/go-python/gopy/bind.NewPackage(0xc420011630, 0xc4200b9960, 0x0, 0x0, 0x0)
        /go/src/github.com/go-python/gopy/bind/package.go:47 +0x2c6
main.newPackageFrom(0xc420088a80, 0xc420011630, 0x2, 0xc420011630, 0x0)
        /go/src/app/gen.go:222 +0xeb
main.newPackage(0x7ffd3612ef4c, 0x2, 0xc42001491c, 0x4, 0x0)
        /go/src/app/gen.go:199 +0x5b5
main.gopyRunCmdBind(0xc4200ae6c0, 0xc42000e130, 0x1, 0x1, 0x0, 0x0)
        /go/src/app/cmd_bind.go:82 +0x3b9
github.com/gonuts/commander.(*Command).Dispatch(0xc4200ae6c0, 0xc42000e120, 0x2, 0x2, 0x1, 0x7f544dab5000)
        /go/src/github.com/gonuts/commander/commands.go:221 +0x20a
github.com/gonuts/commander.(*Command).Dispatch(0xc4200ae7e0, 0xc42000e110, 0x3, 0x3, 0x0, 0x0)
        /go/src/github.com/gonuts/commander/commands.go:187 +0x6a4
main.run(0xc42000e110, 0x3, 0x3, 0xc42003bf78, 0x671709)
        /go/src/app/main.go:35 +0x297
main.main()
        /go/src/app/main.go:43 +0x6c

Also, I'm. not sure if it's related but bind is not currently part of the CLI but it's used in the command sent to Docker. Looking at historical issues bind seems to be part of an older backwards-incompatible version of the CLI

rcoreilly commented 2 years ago

Hmm. I haven't tested the docker setup at all -- it could well be entirely out of date. If you or someone else happens to be proficient with docker and could submit a PR, that would be great -- I have somehow managed to avoid using it ever, though it is on my todo list..