I want to use a go library( https://github.com/xtaci/kcp-go ) and compile it on ios platform. The library itself can't be totally exported because go-mobile type limitation.
I write a custom package to use the library and export function to be used in ios platform. But gomobile bind give errors. The full log is attached later. The error line is ../../../go/src/golang.org/x/net/internal/socket/cmsghdr.go:9:10: undefined: cmsghdr gomobile bind works if I don't import the kcp-go library. And from the output, It seems that internal/socket can't link to the right ios library. I try to google the solution but nothing useful found. Anyone can help me for the issue? Is this gomobile limitation? How can I fix this problem. Thanks. Command: gomobile bind -target ios -o kcpgousage.framework -v kcpgousage write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/interfaces.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/gen/src/ObjC/interfaces.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/interfaces.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/interfaces.m write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/fakegopath/pkg/darwin_arm/kcpgousage.a write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/go_kcpgousagemain.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/go_main.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/iosbin/main.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/Kcpgousage.m write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/Kcpgousage.objc.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/kcpgousage.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/Universe.m write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/Universe.objc.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/universe.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/seq_darwin.m write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/seq_darwin.go write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/ref.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/seq.h write /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind/seq.go ObjC golang.org/x/mobile/internal/mobileinit golang.org/x/mobile/bind/seq _/var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/gomobile_bind command-line-arguments ObjC github.com/golang/snappy github.com/pkg/errors github.com/templexxx/reedsolomon github.com/templexxx/xor golang.org/x/mobile/internal/mobileinit golang.org/x/crypto/blowfish golang.org/x/crypto/cast5 golang.org/x/crypto/pbkdf2 golang.org/x/crypto/salsa20/salsa golang.org/x/crypto/tea golang.org/x/crypto/twofish golang.org/x/crypto/xtea golang.org/x/net/bpf golang.org/x/net/internal/iana golang.org/x/net/internal/socket golang.org/x/crypto/salsa20 github.com/xtaci/smux # golang.org/x/net/internal/socket ../../../go/src/golang.org/x/net/internal/socket/cmsghdr.go:9:10: undefined: cmsghdr golang.org/x/mobile/bind/seq gomobile: darwin-arm64: go build -pkgdir=/Users/lining/Documents/GitHub/kcptun/pkg/gomobile/pkg_darwin_arm64 -tags ios -v -buildmode=c-archive -o /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/kcpgousage-arm64.a /var/folders/gq/gxxxlb3d4m19m87vxc3849gm0000gn/T/gomobile-work-068740646/src/iosbin/main.go failed: exit status 2 -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.