Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

codelens: ldflags do not make effects in run test #1831

Open
Troublor opened this issue Oct 9, 2021 · 7 comments · May be fixed by #2428
Open

codelens: ldflags do not make effects in run test #1831

Troublor opened this issue Oct 9, 2021 · 7 comments · May be fixed by #2428
Labels
debug/config Issues for config discrepancies b/n settings.json, launch.json, launch with F5, run test, debug test Debug Issues related to the debugging functionality of the extension.

Comments

@Troublor
Copy link

Troublor commented Oct 9, 2021

What version of Go, VS Code & VS Code Go extension are you using?

Version Information
  • Run go version to get version of Go from the VS Code integrated terminal.
    • go version go1.17.2 linux/amd64
  • Run gopls -v version to get version of Gopls from the VS Code integrated terminal.
Build info
----------
golang.org/x/tools/gopls v0.7.2
    golang.org/x/tools/[email protected] h1:kRKKdvA8GOzra8rhSFDClOR7hV/x8v0J0Vm4C/gWq8s=
    github.com/BurntSushi/[email protected] h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
    github.com/google/[email protected] h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
    github.com/sergi/[email protected] h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
    golang.org/x/[email protected] h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
    golang.org/x/[email protected] h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
    golang.org/x/[email protected] h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA=
    golang.org/x/[email protected] h1:C0nyHiBU2m0cR6hDiUORWqQIt3h37wsp1255QBSSXqY=
    golang.org/x/[email protected] h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
    honnef.co/go/[email protected] h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE=
    mvdan.cc/[email protected] h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
    mvdan.cc/xurls/[email protected] h1:59Olnbt67UKpxF1EwVBopJvkSUBmgtb468E4GVWIZ1I=
  • Run code -v or code-insiders -v to get version of VS Code or VS Code Insiders.
1.61.0
ee8c7def80afc00dd6e593ef12f37756d8f504ea
x64
  • Check your installed extensions to get the version of the VS Code Go extension
    • v0.28.1
  • Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) > Go: Locate Configured Go Tools command.
Checking configured tools....
GOBIN: undefined
toolsGopath: 
gopath: /home/troublor/.gvm/pkgsets/go1.17.2/global
GOROOT: /home/troublor/.gvm/gos/go1.17.2
PATH: /home/troublor/.gvm/gos/go1.17.2/bin:/home/troublor/.vscode-server/bin/ee8c7def80afc00dd6e593ef12f37756d8f504ea/bin:/home/troublor/.jenv/shims:/home/troublor/.jenv/bin:/home/troublor/.gvm/pkgsets/go1.17.2/global/bin:/home/troublor/.gvm/pkgsets/go1.17.2/global/overlay/bin:/home/troublor/.gvm/bin:/home/troublor/.gvm/bin:/home/troublor/.svm/solc/0.8.4:/home/troublor/.nvm/versions/node/v16.2.0/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/.vscode-server/bin/ee8c7def80afc00dd6e593ef12f37756d8f504ea/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/anaconda3/condabin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin
PATH (vscode launched with): /home/troublor/.vscode-server/bin/ee8c7def80afc00dd6e593ef12f37756d8f504ea/bin:/home/troublor/.jenv/shims:/home/troublor/.jenv/bin:/home/troublor/.gvm/pkgsets/go1.17.2/global/bin:/home/troublor/.gvm/gos/go1.17.2/bin:/home/troublor/.gvm/pkgsets/go1.17.2/global/overlay/bin:/home/troublor/.gvm/bin:/home/troublor/.gvm/bin:/home/troublor/.svm/solc/0.8.4:/home/troublor/.nvm/versions/node/v16.2.0/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/.vscode-server/bin/ee8c7def80afc00dd6e593ef12f37756d8f504ea/bin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/home/troublor/anaconda3/condabin:/home/troublor/Softwares/go-ethereum/build/bin:/home/troublor/troubterm/scripts:/home/troublor/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin

	go:	/home/troublor/.gvm/gos/go1.17.2/bin/go: go version go1.17.2 linux/amd64

	gopkgs:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/gopkgs: go1.17.2
		path	github.com/uudashr/gopkgs/v2/cmd/gopkgs
		mod	github.com/uudashr/gopkgs/v2	v2.1.2	h1:A0+QH6wqNRHORJnxmqfeuBEsK4nYQ7pgcOHhqpqcrpo=
		dep	github.com/karrick/godirwalk	v1.12.0	h1:nkS4xxsjiZMvVlazd0mFyiwD4BR9f3m6LXGhM2TUx3Y=
		dep	github.com/pkg/errors	v0.8.1	h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
	
	go-outline:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/go-outline: go1.17.2
		path	github.com/ramya-rao-a/go-outline
		mod	github.com/ramya-rao-a/go-outline	v0.0.0-20210608161538-9736a4bde949	h1:iaD+iVf9xGfajsJp+zYrg9Lrk6gMJ6/hZHO4cYq5D5o=
		dep	golang.org/x/tools	v0.1.1	h1:wGiQel/hW0NnEkJUk8lbzkX2gFJU6PFxf1v5OlCfuOs=
	
	gotests:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/gotests: go1.17.2
		path	github.com/cweill/gotests/gotests
		mod	github.com/cweill/gotests	v1.6.0	h1:KJx+/p4EweijYzqPb4Y/8umDCip1Cv6hEVyOx0mE9W8=
		dep	golang.org/x/tools	v0.0.0-20191109212701-97ad0ed33101	h1:LCmXVkvpQCDj724eX6irUTPCJP5GelFHxqGSWL2D1R0=
	
	gomodifytags:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/gomodifytags: go1.17.2
		path	github.com/fatih/gomodifytags
		mod	github.com/fatih/gomodifytags	v1.16.0	h1:B65npXIXSk44F6c1hZGE1NazSnt+eXvtdEOG2Uy+QdU=
		dep	github.com/fatih/camelcase	v1.0.0	h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
		dep	github.com/fatih/structtag	v1.2.0	h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
		dep	golang.org/x/tools	v0.0.0-20180824175216-6c1c5e93cdc1	h1:EAPsk8kfGCjxQagrkWjzXlUWe2p3gj5MknO+z2o9GKc=
	
	impl:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/impl: go1.17.2
		path	github.com/josharian/impl
		mod	github.com/josharian/impl	v1.1.0	h1:gafhg1OFVMq46ifdkBa8wp4hlGogjktjjA5h/2j4+2k=
		dep	golang.org/x/mod	v0.2.0	h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
		dep	golang.org/x/tools	v0.0.0-20200522201501-cb1345f3a375	h1:SjQ2+AKWgZLc1xej6WSzL+Dfs5Uyd5xcZH1mGC411IA=
		dep	golang.org/x/xerrors	v0.0.0-20191204190536-9bdfabe68543	h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
	
	goplay:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/goplay: go1.17.2
		path	github.com/haya14busa/goplay/cmd/goplay
		mod	github.com/haya14busa/goplay	v1.0.0	h1:ED4BMrGQ3WH7H3YXrcnWMVzj1xeSepaYTkLh1DtFi/4=
		dep	github.com/skratchdot/open-golang	v0.0.0-20200116055534-eef842397966	h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
	
	dlv:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/dlv: go1.17.2
		path	github.com/go-delve/delve/cmd/dlv
		mod	github.com/go-delve/delve	v1.7.2	h1:QTDJlgx9OwUVYVm7xthyf2XHKrZcTQu3wkRbovktidM=
		dep	github.com/cosiner/argv	v0.1.0	h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg=
		dep	github.com/cpuguy83/go-md2man/v2	v2.0.0	h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
		dep	github.com/derekparker/trie	v0.0.0-20200317170641-1fdf38b7b0e9	h1:G765iDCq7bP5opdrPkXk+4V3yfkgV9iGFuheWZ/X/zY=
		dep	github.com/google/go-dap	v0.5.1-0.20210713061233-c91b005e3987	h1:aghNk+kvabZ5I1OC3cNHWvfZ8svcoDLAGyKYimqyGVk=
		dep	github.com/hashicorp/golang-lru	v0.5.4	h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
		dep	github.com/mattn/go-isatty	v0.0.3	h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI=
		dep	github.com/peterh/liner	v0.0.0-20170317030525-88609521dc4b	h1:8uaXtUkxiy+T/zdLWuxa/PG4so0TPZDZfafFNNSaptE=
		dep	github.com/russross/blackfriday/v2	v2.0.1	h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
		dep	github.com/shurcooL/sanitized_anchor_name	v1.0.0	h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
		dep	github.com/sirupsen/logrus	v1.6.0	h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
		dep	github.com/spf13/cobra	v1.1.3	h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M=
		dep	github.com/spf13/pflag	v1.0.5	h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
		dep	go.starlark.net	v0.0.0-20200821142938-949cc6f4b097	h1:YiRMXXgG+Pg26t1fjq+iAjaauKWMC9cmGFrtOEuwDDg=
		dep	golang.org/x/arch	v0.0.0-20190927153633-4e8777c89be4	h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI=
		dep	golang.org/x/sys	v0.0.0-20210514084401-e8d321eab015	h1:hZR0X1kPW+nwyJ9xRxqZk1vx5RUObAPBdKVvXPDUH/E=
		dep	gopkg.in/yaml.v2	v2.4.0	h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
	
	dlv-dap:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/dlv-dap: go1.17.2
		path	github.com/go-delve/delve/cmd/dlv
		mod	github.com/go-delve/delve	v1.7.3-0.20211008065819-69634d5d6023	h1:T6WSR1PPX8wiZCLsMj1pcFtqe5GUcZzXGLqsSbKPfJE=
		dep	github.com/cosiner/argv	v0.1.0	h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg=
		dep	github.com/cpuguy83/go-md2man/v2	v2.0.0	h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
		dep	github.com/derekparker/trie	v0.0.0-20200317170641-1fdf38b7b0e9	h1:G765iDCq7bP5opdrPkXk+4V3yfkgV9iGFuheWZ/X/zY=
		dep	github.com/google/go-dap	v0.6.0	h1:Y1RHGUtv3R8y6sXq2dtGRMYrFB2hSqyFVws7jucrzX4=
		dep	github.com/hashicorp/golang-lru	v0.5.4	h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
		dep	github.com/mattn/go-isatty	v0.0.3	h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI=
		dep	github.com/mattn/go-runewidth	v0.0.3	h1:a+kO+98RDGEfo6asOGMmpodZq4FNtnGP54yps8BzLR4=
		dep	github.com/peterh/liner	v1.2.1	h1:O4BlKaq/LWu6VRWmol4ByWfzx6MfXc5Op5HETyIy5yg=
		dep	github.com/russross/blackfriday/v2	v2.0.1	h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
		dep	github.com/shurcooL/sanitized_anchor_name	v1.0.0	h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
		dep	github.com/sirupsen/logrus	v1.6.0	h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
		dep	github.com/spf13/cobra	v1.1.3	h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M=
		dep	github.com/spf13/pflag	v1.0.5	h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
		dep	go.starlark.net	v0.0.0-20200821142938-949cc6f4b097	h1:YiRMXXgG+Pg26t1fjq+iAjaauKWMC9cmGFrtOEuwDDg=
		dep	golang.org/x/arch	v0.0.0-20190927153633-4e8777c89be4	h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI=
		dep	golang.org/x/sys	v0.0.0-20210514084401-e8d321eab015	h1:hZR0X1kPW+nwyJ9xRxqZk1vx5RUObAPBdKVvXPDUH/E=
		dep	gopkg.in/yaml.v2	v2.4.0	h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
	
	golangci-lint:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/golangci-lint: go1.17.2
		path	github.com/golangci/golangci-lint/cmd/golangci-lint
		mod	github.com/golangci/golangci-lint	v1.42.1	h1:nC4WyrbdnNdohDVUoNKjy/4N4FTM1gCFaVeXecy6vzM=
		dep	4d63.com/gochecknoglobals	v0.0.0-20201008074935-acfc0b28355a	h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw=
		dep	github.com/Antonboom/errname	v0.1.4	h1:lGSlI42Gm4bI1e+IITtXJXvxFM8N7naWimVFKcb0McY=
		dep	github.com/BurntSushi/toml	v0.4.1	h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
		dep	github.com/Djarvur/go-err113	v0.0.0-20210108212216-aea10b59be24	h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
		dep	github.com/Masterminds/semver	v1.5.0	h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
		dep	github.com/OpenPeeDeeP/depguard	v1.0.1	h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us=
		dep	github.com/alexkohler/prealloc	v1.0.0	h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
		dep	github.com/ashanbrown/forbidigo	v1.2.0	h1:RMlEFupPCxQ1IogYOQUnIQwGEUGK8g5vAPMRyJoSxbc=
		dep	github.com/ashanbrown/makezero	v0.0.0-20210520155254-b6261585ddde	h1:YOsoVXsZQPA9aOTy1g0lAJv5VzZUvwQuZqug8XPeqfM=
		dep	github.com/beorn7/perks	v1.0.1	h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
		dep	github.com/bkielbasa/cyclop	v1.2.0	h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A=
		dep	github.com/bombsimon/wsl/v3	v3.3.0	h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM=
		dep	github.com/cespare/xxhash/v2	v2.1.1	h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
		dep	github.com/charithe/durationcheck	v0.0.8	h1:cnZrThioNW9gSV5JsRIXmkyHUbcDH7Y9hkzFDVc9/j0=
		dep	github.com/chavacava/garif	v0.0.0-20210405164556-e8a0a408d6af	h1:spmv8nSH9h5oCQf40jt/ufBCt9j0/58u4G+rkeMqXGI=
		dep	github.com/daixiang0/gci	v0.2.9	h1:iwJvwQpBZmMg31w+QQ6jsyZ54KEATn6/nfARbBNW294=
		dep	github.com/davecgh/go-spew	v1.1.1	h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
		dep	github.com/denis-tingajkin/go-header	v0.4.2	h1:jEeSF4sdv8/3cT/WY8AgDHUoItNSoEZ7qg9dX7pc218=
		dep	github.com/esimonov/ifshort	v1.0.2	h1:K5s1W2fGfkoWXsFlxBNqT6J0ZCncPaKrGM5qe0bni68=
		dep	github.com/ettle/strcase	v0.1.1	h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw=
		dep	github.com/fatih/color	v1.12.0	h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
		dep	github.com/fatih/structtag	v1.2.0	h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
		dep	github.com/fsnotify/fsnotify	v1.4.9	h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
		dep	github.com/fzipp/gocyclo	v0.3.1	h1:A9UeX3HJSXTBzvHzhqoYVuE0eAhe+aM8XBCCwsPMZOc=
		dep	github.com/go-critic/go-critic	v0.5.6	h1:siUR1+322iVikWXoV75I1YRfNaC/yaLzhdF9Zwd8Tus=
		dep	github.com/go-toolsmith/astcast	v1.0.0	h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g=
		dep	github.com/go-toolsmith/astcopy	v1.0.0	h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8=
		dep	github.com/go-toolsmith/astequal	v1.0.0	h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ=
		dep	github.com/go-toolsmith/astfmt	v1.0.0	h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k=
		dep	github.com/go-toolsmith/astp	v1.0.0	h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg=
		dep	github.com/go-toolsmith/strparse	v1.0.0	h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4=
		dep	github.com/go-toolsmith/typep	v1.0.2	h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk=
		dep	github.com/go-xmlfmt/xmlfmt	v0.0.0-20191208150333-d5b6f63a941b	h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo=
		dep	github.com/gobwas/glob	v0.2.3	h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
		dep	github.com/gofrs/flock	v0.8.1	h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
		dep	github.com/golang/protobuf	v1.5.2	h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
		dep	github.com/golangci/check	v0.0.0-20180506172741-cfe4005ccda2	h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0=
		dep	github.com/golangci/dupl	v0.0.0-20180902072040-3e9179ac440a	h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
		dep	github.com/golangci/go-misc	v0.0.0-20180628070357-927a3d87b613	h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw=
		dep	github.com/golangci/gofmt	v0.0.0-20190930125516-244bba706f1a	h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks=
		dep	github.com/golangci/lint-1	v0.0.0-20191013205115-297bf364a8e0	h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA=
		dep	github.com/golangci/maligned	v0.0.0-20180506175553-b1d89398deca	h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA=
		dep	github.com/golangci/misspell	v0.3.5	h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo=
		dep	github.com/golangci/revgrep	v0.0.0-20210208091834-cd28932614b5	h1:c9Mqqrm/Clj5biNaG7rABrmwUq88nHh0uABo2b/WYmc=
		dep	github.com/golangci/unconvert	v0.0.0-20180507085042-28b1c447d1f4	h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys=
		dep	github.com/google/go-cmp	v0.5.5	h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
		dep	github.com/gordonklaus/ineffassign	v0.0.0-20210225214923-2e10b2664254	h1:Nb2aRlC404yz7gQIfRZxX9/MLvQiqXyiBTJtgAy6yrI=
		dep	github.com/gostaticanalysis/analysisutil	v0.4.1	h1:/7clKqrVfiVwiBQLM0Uke4KvXnO6JcCTS7HwF2D6wG8=
		dep	github.com/gostaticanalysis/comment	v1.4.1	h1:xHopR5L2lRz6OsjH4R2HG5wRhW9ySl3FsHIvi5pcXwc=
		dep	github.com/gostaticanalysis/forcetypeassert	v0.0.0-20200621232751-01d4955beaa5	h1:rx8127mFPqXXsfPSo8BwnIU97MKFZc89WHAHt8PwDVY=
		dep	github.com/gostaticanalysis/nilerr	v0.1.1	h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk=
		dep	github.com/hashicorp/errwrap	v1.0.0	h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
		dep	github.com/hashicorp/go-multierror	v1.1.1	h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
		dep	github.com/hashicorp/hcl	v1.0.0	h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
		dep	github.com/jgautheron/goconst	v1.5.1	h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM=
		dep	github.com/jingyugao/rowserrcheck	v1.1.0	h1:u6h4eiNuCLqk73Ic5TXQq9yZS+uEXTdusn7c3w1Mr6A=
		dep	github.com/jirfag/go-printf-func-name	v0.0.0-20200119135958-7558a9eaa5af	h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48=
		dep	github.com/julz/importas	v0.0.0-20210419104244-841f0c0fe66d	h1:XeSMXURZPtUffuWAaq90o6kLgZdgu+QA8wk4MPC8ikI=
		dep	github.com/kisielk/errcheck	v1.6.0	h1:YTDO4pNy7AUN/021p+JGHycQyYNIyMoenM1YDVK6RlY=
		dep	github.com/kisielk/gotool	v1.0.0	h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
		dep	github.com/kulti/thelper	v0.4.0	h1:2Nx7XbdbE/BYZeoip2mURKUdtHQRuy6Ug+wR7K9ywNM=
		dep	github.com/kunwardeep/paralleltest	v1.0.2	h1:/jJRv0TiqPoEy/Y8dQxCFJhD56uS/pnvtatgTZBHokU=
		dep	github.com/kyoh86/exportloopref	v0.1.8	h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M=
		dep	github.com/ldez/gomoddirectives	v0.2.2	h1:p9/sXuNFArS2RLc+UpYZSI4KQwGMEDWC/LbtF5OPFVg=
		dep	github.com/ldez/tagliatelle	v0.2.0	h1:693V8Bf1NdShJ8eu/s84QySA0J2VWBanVBa2WwXD/Wk=
		dep	github.com/magiconair/properties	v1.8.5	h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
		dep	github.com/maratori/testpackage	v1.0.1	h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ=
		dep	github.com/matoous/godox	v0.0.0-20210227103229-6504466cf951	h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA=
		dep	github.com/mattn/go-colorable	v0.1.8	h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
		dep	github.com/mattn/go-isatty	v0.0.12	h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
		dep	github.com/mattn/go-runewidth	v0.0.9	h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
		dep	github.com/matttproud/golang_protobuf_extensions	v1.0.1	h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
		dep	github.com/mbilski/exhaustivestruct	v1.2.0	h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo=
		dep	github.com/mgechev/dots	v0.0.0-20190921121421-c36f7dcfbb81	h1:QASJXOGm2RZ5Ardbc86qNFvby9AqkLDibfChMtAg5QM=
		dep	github.com/mgechev/revive	v1.1.1	h1:mkXNHP14Y6tfq+ocnQaiKEtgJDM41yaoyQq4qn6TD/4=
		dep	github.com/mitchellh/go-homedir	v1.1.0	h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
		dep	github.com/mitchellh/mapstructure	v1.4.1	h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
		dep	github.com/moricho/tparallel	v0.2.1	h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4=
		dep	github.com/nakabonne/nestif	v0.3.0	h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw=
		dep	github.com/nbutton23/zxcvbn-go	v0.0.0-20210217022336-fa2cb2858354	h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA=
		dep	github.com/nishanths/exhaustive	v0.2.3	h1:+ANTMqRNrqwInnP9aszg/0jDo+zbXa4x66U19Bx/oTk=
		dep	github.com/nishanths/predeclared	v0.2.1	h1:1TXtjmy4f3YCFjTxRd8zcFHOmoUir+gp0ESzjFzG2sw=
		dep	github.com/olekukonko/tablewriter	v0.0.5	h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
		dep	github.com/pelletier/go-toml	v1.9.3	h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
		dep	github.com/phayes/checkstyle	v0.0.0-20170904204023-bfd46e6a821d	h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA=
		dep	github.com/pkg/errors	v0.9.1	h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
		dep	github.com/pmezard/go-difflib	v1.0.0	h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
		dep	github.com/polyfloyd/go-errorlint	v0.0.0-20210722154253-910bb7978349	h1:Kq/3kL0k033ds3tyez5lFPrfQ74fNJ+OqCclRipubwA=
		dep	github.com/prometheus/client_golang	v1.7.1	h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA=
		dep	github.com/prometheus/client_model	v0.2.0	h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
		dep	github.com/prometheus/common	v0.10.0	h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc=
		dep	github.com/prometheus/procfs	v0.6.0	h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4=
		dep	github.com/quasilyte/go-ruleguard	v0.3.4	h1:F6l5p6+7WBcTKS7foNQ4wqA39zjn2+RbdbyzGxIq1B0=
		dep	github.com/quasilyte/regex/syntax	v0.0.0-20200407221936-30656e2c4a95	h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY=
		dep	github.com/ryancurrah/gomodguard	v1.2.3	h1:ww2fsjqocGCAFamzvv/b8IsRduuHHeK2MHTcTxZTQX8=
		dep	github.com/ryanrolds/sqlclosecheck	v0.3.0	h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw=
		dep	github.com/sanposhiho/wastedassign/v2	v2.0.6	h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA=
		dep	github.com/securego/gosec/v2	v2.8.1	h1:Tyy/nsH39TYCOkqf5HAgRE+7B5D8sHDwPdXRgFWokh8=
		dep	github.com/shazow/go-diff	v0.0.0-20160112020656-b6b7b6733b8c	h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU=
		dep	github.com/sirupsen/logrus	v1.8.1	h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
		dep	github.com/sonatard/noctx	v0.0.1	h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY=
		dep	github.com/sourcegraph/go-diff	v0.6.1	h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ=
		dep	github.com/spf13/afero	v1.6.0	h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
		dep	github.com/spf13/cast	v1.3.1	h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
		dep	github.com/spf13/cobra	v1.2.1	h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw=
		dep	github.com/spf13/jwalterweatherman	v1.1.0	h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
		dep	github.com/spf13/pflag	v1.0.5	h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
		dep	github.com/spf13/viper	v1.8.1	h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44=
		dep	github.com/ssgreg/nlreturn/v2	v2.1.0	h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA=
		dep	github.com/stretchr/objx	v0.1.1	h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
		dep	github.com/stretchr/testify	v1.7.0	h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
		dep	github.com/subosito/gotenv	v1.2.0	h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
		dep	github.com/tdakkota/asciicheck	v0.0.0-20200416200610-e657995f937b	h1:HxLVTlqcHhFAz3nWUcuvpH7WuOMv8LQoCWmruLfFH2U=
		dep	github.com/tetafro/godot	v1.4.9	h1:wsNd0RuUxISqqudFqchsSsMqsM188DoZVPBeKl87tP0=
		dep	github.com/timakin/bodyclose	v0.0.0-20200424151742-cb6215831a94	h1:ig99OeTyDwQWhPe2iw9lwfQVF1KB3Q4fpP3X7/2VBG8=
		dep	github.com/tomarrell/wrapcheck/v2	v2.3.0	h1:i3DNjtyyL1xwaBQOsPPk8LAcpayWfQv2rxNi9b/eEx4=
		dep	github.com/tommy-muehle/go-mnd/v2	v2.4.0	h1:1t0f8Uiaq+fqKteUR4N9Umr6E99R+lDnLnq7PwX2PPE=
		dep	github.com/ultraware/funlen	v0.0.3	h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA=
		dep	github.com/ultraware/whitespace	v0.0.4	h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg=
		dep	github.com/uudashr/gocognit	v1.0.5	h1:rrSex7oHr3/pPLQ0xoWq108XMU8s678FJcQ+aSfOHa4=
		dep	github.com/yeya24/promlinter	v0.1.0	h1:goWULN0jH5Yajmu/K+v1xCqIREeB+48OiJ2uu2ssc7U=
		dep	golang.org/x/mod	v0.4.2	h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
		dep	golang.org/x/sys	v0.0.0-20210630005230-0f9fa26af87c	h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
		dep	golang.org/x/text	v0.3.6	h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
		dep	golang.org/x/tools	v0.1.5	h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA=
		dep	golang.org/x/xerrors	v0.0.0-20200804184101-5ec99f83aff1	h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
		dep	google.golang.org/protobuf	v1.26.0	h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
		dep	gopkg.in/ini.v1	v1.62.0	h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
		dep	gopkg.in/yaml.v2	v2.4.0	h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
		dep	gopkg.in/yaml.v3	v3.0.0-20210107192922-496545a6307b	h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
		dep	honnef.co/go/tools	v0.2.1	h1:/EPr//+UMMXwMTkXvCCoaJDq8cpjMO80Ou+L4PDo2mY=
		dep	mvdan.cc/gofumpt	v0.1.1	h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
		dep	mvdan.cc/interfacer	v0.0.0-20180901003855-c20040233aed	h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
		dep	mvdan.cc/lint	v0.0.0-20170908181259-adc824a0674b	h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
		dep	mvdan.cc/unparam	v0.0.0-20210104141923-aac4ce9116a7	h1:HT3e4Krq+IE44tiN36RvVEb6tvqeIdtsVSsxmNPqlFU=
	
	gopls:	/home/troublor/.gvm/pkgsets/go1.17.2/global/bin/gopls: go1.17.2
		path	golang.org/x/tools/gopls
		mod	golang.org/x/tools/gopls	v0.7.2	h1:kRKKdvA8GOzra8rhSFDClOR7hV/x8v0J0Vm4C/gWq8s=
		dep	github.com/BurntSushi/toml	v0.4.1	h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
		dep	github.com/google/go-cmp	v0.5.6	h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
		dep	github.com/sergi/go-diff	v1.1.0	h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
		dep	golang.org/x/mod	v0.4.2	h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
		dep	golang.org/x/sync	v0.0.0-20210220032951-036812b2e83c	h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
		dep	golang.org/x/sys	v0.0.0-20210809222454-d867a43fc93e	h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA=
		dep	golang.org/x/tools	v0.1.6-0.20210908190839-cf92b39a962c	h1:C0nyHiBU2m0cR6hDiUORWqQIt3h37wsp1255QBSSXqY=
		dep	golang.org/x/xerrors	v0.0.0-20200804184101-5ec99f83aff1	h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
		dep	honnef.co/go/tools	v0.2.0	h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE=
		dep	mvdan.cc/gofumpt	v0.1.1	h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
		dep	mvdan.cc/xurls/v2	v2.3.0	h1:59Olnbt67UKpxF1EwVBopJvkSUBmgtb468E4GVWIZ1I=
	

go env
Workspace Folder (erebus): /home/troublor/workspace/erebus
	GO111MODULE=""
	GOARCH="amd64"
	GOBIN=""
	GOCACHE="/home/troublor/.cache/go-build"
	GOENV="/home/troublor/.config/go/env"
	GOEXE=""
	GOEXPERIMENT=""
	GOFLAGS=""
	GOHOSTARCH="amd64"
	GOHOSTOS="linux"
	GOINSECURE=""
	GOMODCACHE="/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod"
	GONOPROXY=""
	GONOSUMDB=""
	GOOS="linux"
	GOPATH="/home/troublor/.gvm/pkgsets/go1.17.2/global"
	GOPRIVATE=""
	GOPROXY="https://proxy.golang.org,direct"
	GOROOT="/home/troublor/.gvm/gos/go1.17.2"
	GOSUMDB="sum.golang.org"
	GOTMPDIR=""
	GOTOOLDIR="/home/troublor/.gvm/gos/go1.17.2/pkg/tool/linux_amd64"
	GOVCS=""
	GOVERSION="go1.17.2"
	GCCGO="gccgo"
	AR="ar"
	CC="gcc"
	CXX="g++"
	CGO_ENABLED="1"
	GOMOD="/home/troublor/workspace/erebus/go.mod"
	CGO_CFLAGS="-g -O2"
	CGO_CPPFLAGS=""
	CGO_CXXFLAGS="-g -O2"
	CGO_FFLAGS="-g -O2"
	CGO_LDFLAGS="-g -O2"
	PKG_CONFIG="pkg-config"
	GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build131872575=/tmp/go-build -gno-record-gcc-switches"
	

Share the Go related settings you have added/edited

Run Preferences: Open Settings (JSON) command to open your settings.json file.
Share all the settings with the go. or ["go"] or gopls prefixes.

{
  "go.buildFlags": [
      "-ldflags='-extldflags=-Wl,--allow-multiple-definition'"
    ]
}

Describe the bug

A clear and concise description of what the bug.

The ldflags: -extldflags=-Wl,--allow-multiple-definition' does not take effect when I run tests by clicking the run test button in the editor beside the test definition.
Compilation errors complain the multiple definitions of C functions.
The multiple definitions of secp256k1* functions are expected since I used two packages, one of which is a fork of the other, and they contains some identical C code.

Outputs are as follows:

Running tool: /home/troublor/.gvm/gos/go1.17.2/bin/go test -timeout 30s -run ^TestVersion$ github.com/Troublor/erebus/packages/erebus-hunter -ldflags='-X=main.version=1.0' -ldflags='-extldflags=-Wl,--allow-multiple-definition'

# github.com/Troublor/erebus/packages/erebus-hunter.test
/home/troublor/.gvm/gos/go1.17.2/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: /tmp/go-link-3410014877/000035.o: in function `secp256k1GoPanicIllegal':
/tmp/go-build/_cgo_export.c:25: multiple definition of `secp256k1GoPanicIllegal'; /tmp/go-link-3410014877/000000.o:/tmp/go-build/_cgo_export.c:25: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000035.o: in function `secp256k1GoPanicError':
/tmp/go-build/_cgo_export.c:44: multiple definition of `secp256k1GoPanicError'; /tmp/go-link-3410014877/000000.o:/tmp/go-build/_cgo_export.c:44: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_create':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:146: multiple definition of `secp256k1_context_create'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:56: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_clone':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:171: multiple definition of `secp256k1_context_clone'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:81: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_destroy':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:191: multiple definition of `secp256k1_context_destroy'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:91: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_set_illegal_callback':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:197: multiple definition of `secp256k1_context_set_illegal_callback'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:101: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_set_error_callback':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:206: multiple definition of `secp256k1_context_set_error_callback'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:109: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_parse':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:272: multiple definition of `secp256k1_ec_pubkey_parse'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:148: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_serialize':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:287: multiple definition of `secp256k1_ec_pubkey_serialize'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:163: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_signature_parse_der':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:334: multiple definition of `secp256k1_ecdsa_signature_parse_der'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:210: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_signature_parse_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:350: multiple definition of `secp256k1_ecdsa_signature_parse_compact'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:226: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_signature_serialize_der':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:371: multiple definition of `secp256k1_ecdsa_signature_serialize_der'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:247: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_signature_serialize_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:383: multiple definition of `secp256k1_ecdsa_signature_serialize_compact'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:259: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_scalar_is_high':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/scalar_4x64_impl.h:162: multiple definition of `secp256k1_ecdsa_signature_normalize'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/scalar_4x64_impl.h:162: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_verify':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:415: multiple definition of `secp256k1_ecdsa_verify'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:291: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_sign':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:470: multiple definition of `secp256k1_ecdsa_sign'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:343: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_seckey_verify':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:523: multiple definition of `secp256k1_ec_seckey_verify'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:389: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_create':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:534: multiple definition of `secp256k1_ec_pubkey_create'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:402: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_privkey_tweak_add':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:613: multiple definition of `secp256k1_ec_privkey_tweak_add'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:425: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_tweak_add':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:616: multiple definition of `secp256k1_ec_pubkey_tweak_add'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:448: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_privkey_tweak_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:661: multiple definition of `secp256k1_ec_privkey_tweak_mul'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:472: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_tweak_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:664: multiple definition of `secp256k1_ec_pubkey_tweak_mul'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:494: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_context_randomize':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:690: multiple definition of `secp256k1_context_randomize'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:518: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ec_pubkey_combine':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:696: multiple definition of `secp256k1_ec_pubkey_combine'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:525: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_recoverable_signature_parse_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:38: multiple definition of `secp256k1_ecdsa_recoverable_signature_parse_compact'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:38: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_recoverable_signature_serialize_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:60: multiple definition of `secp256k1_ecdsa_recoverable_signature_serialize_compact'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:60: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_recoverable_signature_convert':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:74: multiple definition of `secp256k1_ecdsa_recoverable_signature_convert'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:74: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_sign_recoverable':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:123: multiple definition of `secp256k1_ecdsa_sign_recoverable'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:123: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ecdsa_recover':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:170: multiple definition of `secp256k1_ecdsa_recover'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:170: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o: in function `secp256k1_ext_scalar_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/ext.h:101: multiple definition of `secp256k1_ext_scalar_mul'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/ext.h:101: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:468: multiple definition of `secp256k1_nonce_function_default'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:341: first defined here
/usr/bin/ld: /tmp/go-link-3410014877/000038.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:467: multiple definition of `secp256k1_nonce_function_rfc6979'; /tmp/go-link-3410014877/000003.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:340: first defined here
collect2: error: ld returned 1 exit status

FAIL	github.com/Troublor/erebus/packages/erebus-hunter [build failed]
FAIL

Multiple definition compilation errors should not be thrown.
When I copy & paste the command /home/troublor/.gvm/gos/go1.17.2/bin/go test -timeout 30s -run ^TestVersion$ github.com/Troublor/erebus/packages/erebus-hunter -ldflags='-X=main.version=1.0' -ldflags='-extldflags=-Wl,--allow-multiple-definition' in the viscode integrated terminal, it executes with no error and the test passes.

➜ /home/troublor/.gvm/gos/go1.17.2/bin/go test -timeout 30s -run ^TestVersion$ github.com/Troublor/erebus/packages/erebus-hunter -ldflags='-X=main.version=1.0' -ldflags='-extldflags=-Wl,--allow-multiple-definition'
ok      github.com/Troublor/erebus/packages/erebus-hunter       0.113s

Interestingly, debug test functionality works well.

Steps to reproduce the behavior:

As described in the previous section.

Screenshots or recordings

If applicable, add screenshots or recordings to help explain your problem.

@gopherbot gopherbot added this to the Untriaged milestone Oct 9, 2021
@stamblerre
Copy link
Contributor

Can you please add these flags to the go.testFlags setting and see if that addresses the issue?

@stamblerre stamblerre added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Oct 11, 2021
@stamblerre stamblerre modified the milestones: Untriaged, Unplanned Oct 11, 2021
@Troublor
Copy link
Author

Troublor commented Oct 12, 2021

settings.json is now like this:

{
  "go.buildFlags": [
    "-ldflags='-extldflags=-Wl,--allow-multiple-definition'"
  ],
  "go.testFlags": [
    "-ldflags='-extldflags=-Wl,--allow-multiple-definition'"
  ]
}

It makes no difference.
run test still fails with the same compilation error.
debug test works fine.

@hyangah
Copy link
Contributor

hyangah commented Oct 12, 2021

@Troublor What about the following? (no ' ' around the -ldflags value)

{
  "go.buildFlags": [
    "-ldflags=-extldflags=-Wl,--allow-multiple-definition"
  ],
}

But it's likely this setting - part of it was discussed in go-delve/delve#2718 (comment) :-(

@Troublor
Copy link
Author

Troublor commented Oct 13, 2021

Hmm, after I remove the ' ', strange things happened.

I am using testify, when I click the run test button of a test suite, it works without compilation error.

Running tool: /home/troublor/.gvm/gos/go1.17.2/bin/go test -timeout 30s -run ^TestCandidateTracerSuite$ github.com/Troublor/erebus/packages/erebus-hunter/fuzzing -ldflags=-extldflags=-Wl,--allow-multiple-definition

ok  	github.com/Troublor/erebus/packages/erebus-hunter/fuzzing	(cached)

However, if I click the run test button of a single test case, the compilation errors are still there.

Running tool: /home/troublor/.gvm/gos/go1.17.2/bin/go test -timeout 30s -run ^(TestVictimTracerCriticalVariablesSuite|TestVictimTracerAttackSinksTestSuite|TestCandidateTracerSuite)$ -testify.m ^(TestFitness)$ github.com/Troublor/erebus/packages/erebus-hunter/fuzzing -ldflags=-extldflags=-Wl,--allow-multiple-definition

# github.com/Troublor/erebus/packages/erebus-hunter/fuzzing.test
/home/troublor/.gvm/gos/go1.17.2/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: /tmp/go-link-1118259642/000035.o: in function `secp256k1GoPanicIllegal':
/tmp/go-build/_cgo_export.c:25: multiple definition of `secp256k1GoPanicIllegal'; /tmp/go-link-1118259642/000018.o:/tmp/go-build/_cgo_export.c:25: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000035.o: in function `secp256k1GoPanicError':
/tmp/go-build/_cgo_export.c:44: multiple definition of `secp256k1GoPanicError'; /tmp/go-link-1118259642/000018.o:/tmp/go-build/_cgo_export.c:44: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_create':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:146: multiple definition of `secp256k1_context_create'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:56: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_clone':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:171: multiple definition of `secp256k1_context_clone'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:81: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_destroy':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:191: multiple definition of `secp256k1_context_destroy'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:91: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_set_illegal_callback':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:197: multiple definition of `secp256k1_context_set_illegal_callback'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:101: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_set_error_callback':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:206: multiple definition of `secp256k1_context_set_error_callback'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:109: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_parse':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:272: multiple definition of `secp256k1_ec_pubkey_parse'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:148: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_serialize':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:287: multiple definition of `secp256k1_ec_pubkey_serialize'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:163: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_signature_parse_der':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:334: multiple definition of `secp256k1_ecdsa_signature_parse_der'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:210: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_signature_parse_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:350: multiple definition of `secp256k1_ecdsa_signature_parse_compact'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:226: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_signature_serialize_der':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:371: multiple definition of `secp256k1_ecdsa_signature_serialize_der'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:247: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_signature_serialize_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:383: multiple definition of `secp256k1_ecdsa_signature_serialize_compact'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:259: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_scalar_is_high':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/scalar_4x64_impl.h:162: multiple definition of `secp256k1_ecdsa_signature_normalize'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/scalar_4x64_impl.h:162: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_verify':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:415: multiple definition of `secp256k1_ecdsa_verify'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:291: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_sign':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:470: multiple definition of `secp256k1_ecdsa_sign'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:343: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_seckey_verify':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:523: multiple definition of `secp256k1_ec_seckey_verify'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:389: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_create':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:534: multiple definition of `secp256k1_ec_pubkey_create'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:402: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_privkey_tweak_add':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:613: multiple definition of `secp256k1_ec_privkey_tweak_add'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:425: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_tweak_add':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:616: multiple definition of `secp256k1_ec_pubkey_tweak_add'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:448: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_privkey_tweak_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:661: multiple definition of `secp256k1_ec_privkey_tweak_mul'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:472: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_tweak_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:664: multiple definition of `secp256k1_ec_pubkey_tweak_mul'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:494: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_context_randomize':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:690: multiple definition of `secp256k1_context_randomize'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:518: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ec_pubkey_combine':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:696: multiple definition of `secp256k1_ec_pubkey_combine'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:525: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_recoverable_signature_parse_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:38: multiple definition of `secp256k1_ecdsa_recoverable_signature_parse_compact'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:38: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_recoverable_signature_serialize_compact':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:60: multiple definition of `secp256k1_ecdsa_recoverable_signature_serialize_compact'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:60: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_recoverable_signature_convert':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:74: multiple definition of `secp256k1_ecdsa_recoverable_signature_convert'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:74: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_sign_recoverable':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:123: multiple definition of `secp256k1_ecdsa_sign_recoverable'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:123: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ecdsa_recover':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/modules/recovery/main_impl.h:170: multiple definition of `secp256k1_ecdsa_recover'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/modules/recovery/main_impl.h:170: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o: in function `secp256k1_ext_scalar_mul':
/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/ext.h:101: multiple definition of `secp256k1_ext_scalar_mul'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/ext.h:101: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:468: multiple definition of `secp256k1_nonce_function_default'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:341: first defined here
/usr/bin/ld: /tmp/go-link-1118259642/000038.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ledgerwatch/[email protected]/./libsecp256k1/src/secp256k1.c:467: multiple definition of `secp256k1_nonce_function_rfc6979'; /tmp/go-link-1118259642/000021.o:/home/troublor/.gvm/pkgsets/go1.17.2/global/pkg/mod/github.com/ethereum/[email protected]/crypto/secp256k1/./libsecp256k1/src/secp256k1.c:340: first defined here
collect2: error: ld returned 1 exit status

FAIL	github.com/Troublor/erebus/packages/erebus-hunter/fuzzing [build failed]

@stamblerre stamblerre added Debug Issues related to the debugging functionality of the extension. and removed WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. labels Oct 15, 2021
@Hamza-Q
Copy link

Hamza-Q commented Jan 27, 2022

I believe this problem is because vscode-go constructs arguments for the go test call with testify that doesn't respect the usage; using go1.17.3 linux/amd64:

$ go test -h
usage: go test [build/test flags] [packages] [build/test flags & test binary flags]

As documented at https://pkg.go.dev/cmd/go#hdr-Testing_flags,
"The command-line package list, if present, must appear before any flag not known to the go test command."

To my understanding, when go test sees the unrecognized -testify.m flag, it stops accepting the package list and assumes it to be ., and continues parsing flags it recognizes. Once it sees the first non-flag argument (in vscode-go's case, the intended test package), it stops consuming remaining flags (-ldflags ... in the above examples) and passes them to test binary instead.
I posted an example repo for reproducing (along with an output example) at https://github.com/Hamza-Q/vscode-go-1831, but ultimately this seems like well-documented go test behavior that vsode-go should respect.

Perhaps the simplest fix is to specify the package as the first argument to the go test command constructed by vscode-go? At the very least, it needs to come before the -testify.m flag.
It seems like currently, -testify.m is added to args from the call at

args.push(...targetArgs(testconfig));

while the packages are appended afterwards at
args.push(...targets);

so would it be possible to try and reverse the ordering?

@polinasok polinasok changed the title ldflags do not make effects in run test codelens: ldflags do not make effects in run test Mar 25, 2022
@polinasok polinasok added the debug/config Issues for config discrepancies b/n settings.json, launch.json, launch with F5, run test, debug test label Mar 30, 2022
@luoxiaohei luoxiaohei linked a pull request Aug 26, 2022 that will close this issue
hyangah added a commit to hyangah/delve that referenced this issue Sep 7, 2023
This change accepts both string type and []string (actually,
[]interface{} type due to Go's json decoding behavior.

Fixes go-delve#2718
For golang/vscode-go#1831, golang/vscode-go#1027
hyangah added a commit to hyangah/delve that referenced this issue Sep 8, 2023
This change accepts both string type and []string. dap.BuildFlags
is a union of string and []string.

Fixes go-delve#2718
For golang/vscode-go#1831, golang/vscode-go#1027
hyangah added a commit to hyangah/delve that referenced this issue Sep 13, 2023
This change accepts both string type and []string. dap.BuildFlags
is a union of string and []string.

Fixes go-delve#2718
For golang/vscode-go#1831, golang/vscode-go#1027
hyangah added a commit to hyangah/delve that referenced this issue Sep 15, 2023
This change accepts both string type and []string. dap.BuildFlags
is a union of string and []string.

Fixes go-delve#2718
For golang/vscode-go#1831, golang/vscode-go#1027
hyangah added a commit to hyangah/delve that referenced this issue Sep 15, 2023
This change accepts both string type and []string. dap.BuildFlags
is a union of string and []string.

Fixes go-delve#2718
For golang/vscode-go#1831, golang/vscode-go#1027
derekparker pushed a commit to go-delve/delve that referenced this issue Sep 19, 2023
This change accepts both string type and []string. dap.BuildFlags
is a union of string and []string.

Fixes #2718
For golang/vscode-go#1831, golang/vscode-go#1027
@red8888
Copy link

red8888 commented Nov 13, 2023

Is there any update on this? This breaks running individual tests in the testify suite.

Is there any workaround?

@rickbatka
Copy link

This is still broken. Someone submitted a PR to fix it here: #2428

However, after 2 years, the PR is still not reviewed. @hyangah can you help?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debug/config Issues for config discrepancies b/n settings.json, launch.json, launch with F5, run test, debug test Debug Issues related to the debugging functionality of the extension.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants