When I run one of the test file in Ethereum on mac (10.13.4)
I came across this mistakes
/usr/local/Cellar/go/1.11.2/libexec/pkg/tool/darwin_amd64/link: running clang failed: exit status 1
duplicate symbol _secp256k1GoPanicError in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000000.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000013.o
duplicate symbol _secp256k1GoPanicIllegal in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000000.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000013.o
duplicate symbol _secp256k1_context_destroy in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_seckey_verify in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_verify in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_recoverable_signature_convert in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_nonce_function_default in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_recoverable_signature_serialize_compact in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_signature_serialize_compact in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_recoverable_signature_parse_compact in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_signature_parse_compact in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_recover in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_signature_serialize_der in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_signature_parse_der in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_sign in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ext_scalar_mul in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_privkey_tweak_mul in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_tweak_mul in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_context_set_error_callback in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_context_set_illegal_callback in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_context_randomize in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_signature_normalize in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_serialize in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_create in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_context_create in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_parse in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_context_clone in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_combine in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ecdsa_sign_recoverable in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_privkey_tweak_add in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_ec_pubkey_tweak_add in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _CURVE_B in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
duplicate symbol _secp256k1_nonce_function_rfc6979 in:
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000003.o
/var/folders/0s/r9y8prn97fgc9_zkymk3zz0h0000gn/T/go-link-301605448/000016.o
ld: 33 duplicate symbols for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
Compilation finished with exit code 2
Can anyone tell me what happened to my link and how should I do?
Those look like C symbols, not Go symbols. My first guess would be that some cgo comments need to declare functions as static. Or perhaps a #cgo LDFLAGS line is causing the same code to be linked in twice. Or there are various other possibilities. You didn't say what exactly you were building (there is a lot of Ethereum code) so I don't know where the problem is.
We don't normally use the issue tracker for questions about how to build or write things in Go. Please see https://golang.org/wiki/Questions . Thanks.
I don't think there is anything to fix in the Go project here, so closing this issue. Please comment if you disagree.
Thank you for your suggestion !
I will close this issue and move to golang wiki
@dylanpoe have you solved this issue?
/Users/zuvakin/.go/go/pkg/tool/darwin_amd64/link: running clang failed: exit status 1
duplicate symbol _FetchPEMRootsCTX509_MountainLion in:
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000029.o
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000032.o
duplicate symbol _FetchPEMRootsCTX509 in:
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000029.o
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000032.o
duplicate symbol _useOldCodeCTX509 in:
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000029.o
/var/folders/y5/qgmddvt13_j31wl9rxtnsyj40000gn/T/go-link-725821426/000032.o
ld: 3 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
same issue happened to me, how to fix it?
@weijinxy This issue is closed, so this is not a good place to look for an answer. And, as noted above, please see https://golang.org/wiki/Questions. Thanks.
@dylanpoe how you solved the issue?
just add CGO_ENABLED=0, and it works, if build or run with goland, you need set it on goland setting
Most helpful comment
just add CGO_ENABLED=0, and it works, if build or run with goland, you need set it on goland setting