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.

Reply via email to