golang/go

cmd/ld: linking of go-sqlite3 failing in MacOSX 10.6

Closed this issue · 4 comments

by relishpl:

go version go1.2.2 darwin/amd64
MacOSX 10.6.8 (2011 Macbook Air)

What steps reproduce the problem?
1. go get code.google.com/p/go-sqlite/go1/sqlite3
2. go install -ldflags -linkmode=external relish/relish   # A program that imports
sqlite3 package

What happened?

# relish/relish
ld: in /var/folders/D1/D15nqFpwE3qvRmejtXleAE+++TI/-Tmp-//go-link-vJ7Xxe/go.o, in
section __TEXT,__text reloc 0: local relocation for address 0x00002067 in section __text
does not target section __rodata
collect2: ld returned 1 exit status
/usr/local/go/pkg/tool/darwin_amd64/6l: running gcc failed: unsuccessful exit status
0x100

What should have happened instead?
Successful build

Please provide any additional information below.

Is this related to bug 5130? How do I proceed?

Comment 1:

I'd first try internal linking mode.
I think there are some problems with 10.6's ld64.

Comment 2 by relishpl:

Internal linking doesn't work:
Steps:
1. go get code.google.com/p/go-sqlite/go1/sqlite3
2. go install relish/relish
What happened?
# relish/relish
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol close
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol access
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol getcwd
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol stat$INODE64
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol fstat$INODE64
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol ftruncate
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol fcntl
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol read
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol pread
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol write
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol pwrite
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol fchmod
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol unlink
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol mkdir
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol rmdir
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol mmap
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unexpected reloc for dynamic
symbol munmap
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unhandled relocation for close
(type 32 rtype 120)
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unhandled relocation for access
(type 32 rtype 120)
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unhandled relocation for getcwd
(type 32 rtype 120)
code.google.com/p/go-sqlite/go1/sqlite3(__DATA/__data): unhandled relocation for
stat$INODE64 (type 32 rtype 120)
too many errors
rsc commented

If we drop Snow Leopard (#9511) this goes away.

rsc commented

Per #9511, we will not be making any further bug fixes specific to 10.6.