Skip to content

gollvm: undefined reference to C functions #35623

@heylinn

Description

@heylinn

What version of Go are you using (go version)?

$ go version
go version go1.13 gollvm LLVM 10.0.0svn linux/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

$ uname -m -v
#1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64

$ cat /etc/debian_version 
9.4

What did you do?

$ git clone https://github.com/opencontainers/runc.git
$ cd runc
$ mkdir -p .gopath/src/github.com/opencontainers/
$ ln -sf `pwd` `pwd`/.gopath/src/github.com/opencontainers/runc
$ export GOPATH=`pwd`/.gopath
$ cd .gopath/src/github.com/opencontainers/runc/
$ go build -tags "seccomp" -o runc .

What did you expect to see?

Clean compilation.

What did you see instead?

$ go build -tags "seccomp" -o runc .
# github.com/opencontainers/runc
/home/chernik_e/work/gollvm/try20191114/runc/.gopath/src/github.com/opencontainers/runc/vendor/github.com/seccomp/libseccomp-golang/seccomp.go:380: error: undefined reference to 'github.x2ecom..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.x2ecom..z2fseccomp..z2flibseccomp..z2dgolang._cgoCheckPointer'
/home/chernik_e/work/gollvm/try20191114/runc/.gopath/src/github.com/opencontainers/runc/vendor/github.com/seccomp/libseccomp-golang/seccomp.go:397: error: undefined reference to 'github.x2ecom..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.x2ecom..z2fseccomp..z2flibseccomp..z2dgolang._cgoCheckPointer'
/home/chernik_e/work/gollvm/try20191114/runc/.gopath/src/github.com/opencontainers/runc/vendor/github.com/seccomp/libseccomp-golang/seccomp.go:421: error: undefined reference to 'github.x2ecom..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.x2ecom..z2fseccomp..z2flibseccomp..z2dgolang._cgoCheckPointer'
/home/chernik_e/work/gollvm/try20191114/runc/.gopath/src/github.com/opencontainers/runc/vendor/github.com/seccomp/libseccomp-golang/seccomp.go:555: error: undefined reference to 'github.x2ecom..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.x2ecom..z2fseccomp..z2flibseccomp..z2dgolang._cgoCheckPointer'
cgo-generated-wrappers:76: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_ALLOW'
cgo-generated-wrappers:77: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_ERRNO'
cgo-generated-wrappers:78: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_KILL'
cgo-generated-wrappers:79: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_LOG'
cgo-generated-wrappers:80: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_TRACE'
cgo-generated-wrappers:81: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ACT_TRAP'
cgo-generated-wrappers:82: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_AARCH64'
cgo-generated-wrappers:83: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_ARM'
cgo-generated-wrappers:84: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_BAD'
cgo-generated-wrappers:85: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPS'
cgo-generated-wrappers:86: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPS64'
cgo-generated-wrappers:87: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPS64N32'
cgo-generated-wrappers:88: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPSEL'
cgo-generated-wrappers:89: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPSEL64'
cgo-generated-wrappers:90: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_MIPSEL64N32'
cgo-generated-wrappers:91: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_NATIVE'
cgo-generated-wrappers:92: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_PPC'
cgo-generated-wrappers:93: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_PPC64'
cgo-generated-wrappers:94: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_PPC64LE'
cgo-generated-wrappers:95: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_S390'
cgo-generated-wrappers:96: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_S390X'
cgo-generated-wrappers:97: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_X32'
cgo-generated-wrappers:98: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_X86'
cgo-generated-wrappers:99: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ARCH_X86_64'
cgo-generated-wrappers:100: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ATTRIBUTE_BADARCH'
cgo-generated-wrappers:101: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ATTRIBUTE_DEFAULT'
cgo-generated-wrappers:102: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ATTRIBUTE_LOG'
cgo-generated-wrappers:103: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ATTRIBUTE_NNP'
cgo-generated-wrappers:104: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_ATTRIBUTE_TSYNC'
cgo-generated-wrappers:105: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_EQ'
cgo-generated-wrappers:106: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_GE'
cgo-generated-wrappers:107: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_GT'
cgo-generated-wrappers:108: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_LE'
cgo-generated-wrappers:109: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_LT'
cgo-generated-wrappers:110: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_MASKED_EQ'
cgo-generated-wrappers:111: error: undefined reference to 'github.com..z2fopencontainers..z2frunc..z2fvendor..z2fgithub.com..z2fseccomp..z2flibseccomp..z2dgolang.Cvar_C_CMP_NE'

Comment

The issue is the same as the following from 2014:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61880
https://gcc.gnu.org/bugzilla/attachment.cgi?id=33173

$ tar xvfz CGO_FALURE.tar.gz
$ cd CGO_FALURE
$ export GOPATH=`pwd`
$ go build ./src/cgo_problem/demo.go
# command-line-arguments
cgo-gccgo-export-file-prolog:27: error: undefined reference to 'cgo_problem..z2fexample.com..z2fdemo.Cgoexp_Dummy'

Workaround with renaming '.' to '_' in a package path helps to override this issue. (example.com -> example_com, github.com -> github_com)
The issue is actual for runc and docker projects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions