Mark H Weaver <[email protected]> skribis:
> ../strace: Bad OS release string: '3.14-2-amd64'
The relevant code in strace.c in 4.7 is this:
--8<---------------cut here---------------start------------->8---
/* u.release has this form: "3.2.9[-some-garbage]" */
rel = 0;
p = u.release;
for (;;) {
if (!(*p >= '0' && *p <= '9'))
error_msg_and_die("Bad OS release string: '%s'",
u.release);
/* Note: this open-codes KERNEL_VERSION(): */
rel = (rel << 8) | atoi(p);
if (rel >= KERNEL_VERSION(1,0,0))
break;
while (*p >= '0' && *p <= '9')
p++;
if (*p != '.')
error_msg_and_die("Bad OS release string: '%s'",
u.release);
p++;
}
return rel;
--8<---------------cut here---------------end--------------->8---
Basically it expects A.B.C where A, B, and C are numbers, which is not
the case on this particular build machine.
This is really an strace bug since there are occasionally two-number
version strings for Linux:
<https://www.kernel.org/pub/linux/kernel/v3.x/>.
We should report it there.
Ludo’.