Re: Input requested on proposed chnages for Delve compilation issues on ppc64le
tshah <[email protected]>
| Newsgroups | gmane.linux.debian.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
On 29/08/25 01:38, tshah wrote:
> Hello While debugging the build failure on ppc64le, I found that the
> main issue behind the build failure error was because of 2 seperate
> calls to dh_autobuild in debian/rules of delve package. The first one
> (generic was causing this issue because
>
>
> Hello
> While debugging the build failure on ppc64le, I found that the main
> issue behind the build failure error was because of 2 seperate calls
> to dh_autobuild in debian/rules of delve package. The first one
> (generic was causing this issue because of no tags been passed). As a
> temporary workaround for testing, I commented that and the build was
> able to move forward without the error.
>
> Proposed fix:
>
> I am thinking to add the build command based on the arch - condition
> to avoid these errors in rules file.
>
Hello Debian team, please let me know your thoughts on this.
>
>
>
> But, further during the build, I got one another below error in
> dh_auto_test,
>
> ok github.com/go-delve/delve/service/test 121.628s
> FAIL
> dh_auto_test: error: cd obj-powerpc64le-linux-gnu && go test -vet=off
> -v -p 8 -tags exp.linuxppc64le,exp.linuxriscv64
> github.com/go-delve/delve/cmd/dlv
> github.com/go-delve/delve/cmd/dlv/cmds
> github.com/go-delve/delve/cmd/dlv/cmds/helphelpers
> github.com/go-delve/delve/pkg/astutil
> github.com/go-delve/delve/pkg/config
> github.com/go-delve/delve/pkg/dwarf
> github.com/go-delve/delve/pkg/dwarf/dwarfbuilder
> github.com/go-delve/delve/pkg/dwarf/frame
> github.com/go-delve/delve/pkg/dwarf/godwarf
> github.com/go-delve/delve/pkg/dwarf/leb128
> github.com/go-delve/delve/pkg/dwarf/line
> github.com/go-delve/delve/pkg/dwarf/loclist
> github.com/go-delve/delve/pkg/dwarf/op
> github.com/go-delve/delve/pkg/dwarf/reader
> github.com/go-delve/delve/pkg/dwarf/regnum
> github.com/go-delve/delve/pkg/elfwriter
> github.com/go-delve/delve/pkg/gobuild
> github.com/go-delve/delve/pkg/goversion
> github.com/go-delve/delve/pkg/internal/gosym
> github.com/go-delve/delve/pkg/locspec
> github.com/go-delve/delve/pkg/logflags
> github.com/go-delve/delve/pkg/proc
> github.com/go-delve/delve/pkg/proc/amd64util
> github.com/go-delve/delve/pkg/proc/core
> github.com/go-delve/delve/pkg/proc/core/minidump
> github.com/go-delve/delve/pkg/proc/debuginfod
> github.com/go-delve/delve/pkg/proc/evalop
> github.com/go-delve/delve/pkg/proc/fbsdutil
> github.com/go-delve/delve/pkg/proc/gdbserial
> github.com/go-delve/delve/pkg/proc/internal/ebpf
> github.com/go-delve/delve/pkg/proc/linutil
> github.com/go-delve/delve/pkg/proc/macutil
> github.com/go-delve/delve/pkg/proc/native
> github.com/go-delve/delve/pkg/proc/test
> github.com/go-delve/delve/pkg/proc/winutil
> github.com/go-delve/delve/pkg/terminal
> github.com/go-delve/delve/pkg/terminal/colorize
> github.com/go-delve/delve/pkg/terminal/starbind
> github.com/go-delve/delve/pkg/version
> github.com/go-delve/delve/service
> github.com/go-delve/delve/service/api
> github.com/go-delve/delve/service/dap
> github.com/go-delve/delve/service/dap/daptest
> github.com/go-delve/delve/service/debugger
> github.com/go-delve/delve/service/internal/sameuser
> github.com/go-delve/delve/service/rpc2
> github.com/go-delve/delve/service/rpccommon
> github.com/go-delve/delve/service/test returned exit code 1
> make[1]: *** [debian/rules:23: override_dh_auto_test] Error 25
> make[1]: Leaving directory '/home/debian/delve-test/delve-1.24.0'
> make: *** [debian/rules:9: binary] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit
> status 2
> debuild: fatal error at line 1185:
> dpkg-buildpackage -us -uc -ui -b failed
>
> I suspect it was because there were some tests which are just for
> amd64 and it was failing due to a ppc64le arch. For that, I have
> created the below patch.
>
> --- delve-1.24.0.orig/pkg/proc/core/core_test.go
> +++ delve-1.24.0/pkg/proc/core/core_test.go
> @@ -249,6 +249,9 @@ func logRegisters(t *testing.T, regs pro
> }
>
> func TestCore(t *testing.T) {
> + if runtime.GOARCH != "amd64" {
> + t.Skip("TestCore only supported on amd64")
> + }
> if runtime.GOOS != "linux" || runtime.GOARCH == "386" {
> t.Skip("unsupported")
> }
> @@ -409,6 +412,9 @@ func TestCoreFpRegisters(t *testing.T) {
> }
>
> func TestCoreWithEmptyString(t *testing.T) {
> + if runtime.GOARCH != "amd64" {
> + t.Skip("TestCore only supported on amd64")
> + }
> if runtime.GOOS != "linux" || runtime.GOARCH == "386" {
> t.Skip("unsupported")
> }
>
This issue is fixed in version 1.25.2. So, The dh_auto_test error will
be fixed, once debian team upgrades to delve 1.25.2.
>
>
>
> Further, I got one more issue in the dh_auto_install stage because of
> multiple package names within the same folder, so it throws this error.
>
> obj-powerpc64le-linux-gnu/src/github.com/go-delve/delve/service/debugger/debugger.go:31:2:
> found packages native (dump_linux.go) and
> your_linux_architecture_is_not_supported_by_delve
> (support_sentinel_linux.go) in
> /build/reproducible-path/delve-1.24.0/obj-powerpc64le-linux-gnu/src/github.com/go-delve/delve/pkg/proc/nativedh_golang:
> error: go list -f '{{ range .Deps }}{{.}} {{ end }}' returned exit
> code 1 make: *** [debian/rules:10: binary] Error 25 dpkg-buildpackage:
> error: debian/rules binary subprocess returned exit status 2
>
> I tried to check and make some alterations in the
> support_sentinel_linux.go file but no success. Its strange even though
> it has proper conditions , this file is getting created. So, For that,
> I have thought of a workaround to remove this file manually in
> configure stage in rules file.
>
> override_dh_auto_configure:
> if [ "$(DEB_HOST_ARCH)" = "ppc64el" ]; then \
> rm -f pkg/proc/native/support_sentinel_linux.go ; \
> fi
> dh_auto_configure
>
This issue will be fixed once the PR
<https://github.com/go-delve/delve/issues/4128> is merged. Thanks to
Alessandro for helping me on this.
>
>
> Please let me know your reviews and thoughts on this.
>