#1062446 strace: Build with "mpers" support

Package:
strace
Source:
strace
Description:
System call tracer
Submitter:
Matthias Urlichs
Date:
2026-06-22 17:23:02 UTC
Severity:
normal
Tags:
#1062446#5
Date:
2024-02-01 15:05:45 UTC
From:
To:
I am debugging a "foreign" ARMHF binary on a Raspberry Pi 3
(running Bookworm in 64-bit mode, arm64).

$ strace /lib/ld-linux.armhf.so.3 /opt/victronenergy/hub4control/hub4control
execve("/lib/ld-linux.armhf.so.3", ["/lib/ld-linux.armhf.so.3", "/opt/victronenergy/hub4control/h"...], 0xffffcc00d598 /* 27 vars */ <unfinished ...>
[ Process PID=93013 runs in 32 bit mode. ]
strace: WARNING: Proper structure decoding for this personality is not supported, please consider building strace with mpers support enabled.

Thus, please enable mpers support if possible.

#1062446#10
Date:
2026-06-22 17:17:11 UTC
From:
To:
Control: tags -1 + patch

A customer of mine ran into this issue. For most architectures, mpers
support is enabled via multilib and the gcc-multilib dependency. ARM
architectures are notably missing here. Looking into the configure
script, it becomes apparent that arm64 is treated differently. This
presumably is due to to Debian (and others) not providing multilib
support for arm64. Instead, a cross compiler is tried. The only piece
missing here is providing that cross compiler during build. So here is a
patch adding those dependencies and once you do, you get mpers32
support.

For a trixie strace I see

| strace: WARNING: Proper structure decoding for this personality is not supported, please consider building strace with mpers support enabled.

and strace -V says

| Optional features enabled: no-m32-mpers

but with the attached patch, the message goes missing and strace -V
says

| Optional features enabled: m32-mpers

so that it likely just works.

Longer term, we'd like to get rid of the gcc-multilib binary package, so
all architectures should be working the way arm64 is handled already.

Helmut

#1062446#17
Date:
2026-06-22 17:17:11 UTC
From:
To:
Control: tags -1 + patch

A customer of mine ran into this issue. For most architectures, mpers
support is enabled via multilib and the gcc-multilib dependency. ARM
architectures are notably missing here. Looking into the configure
script, it becomes apparent that arm64 is treated differently. This
presumably is due to to Debian (and others) not providing multilib
support for arm64. Instead, a cross compiler is tried. The only piece
missing here is providing that cross compiler during build. So here is a
patch adding those dependencies and once you do, you get mpers32
support.

For a trixie strace I see

| strace: WARNING: Proper structure decoding for this personality is not supported, please consider building strace with mpers support enabled.

and strace -V says

| Optional features enabled: no-m32-mpers

but with the attached patch, the message goes missing and strace -V
says

| Optional features enabled: m32-mpers

so that it likely just works.

Longer term, we'd like to get rid of the gcc-multilib binary package, so
all architectures should be working the way arm64 is handled already.

Helmut