Что пакет обеспечивает asm/errno.h для x32 ABI?

Я пытаюсь скомпилировать strace 4.19 на 64-разрядном Kubuntu 14.04 и сбои компиляции со следующей ошибкой:

/usr/include/linux/errno.h:1:23: fatal error: asm/errno.h: No such file or directory

Я смог воспроизвести проблему к той из компиляции теста C источником:

#include <errno.h>

Это компилирует прекрасный с -m32 и -m64 Опции GCC, но сбои с ошибкой, упомянутой выше для -mx32:

$ gcc -c -x c -mx32 - <<< '#include <errno.h>'
In file included from /usr/include/bits/errno.h:24:0,
                 from /usr/include/errno.h:35,
                 from <stdin>:1:
/usr/include/linux/errno.h:1:23: fatal error: asm/errno.h: No such file or directory
compilation terminated.

Я предполагаю, что пропускаю некоторый пакет, который действительно обеспечивает asm/errno.h для x32 ABI. Каков этот пакет?

Другой вопрос, который я просмотрел, не решает это: я попробовал то, что принятый ответ, предложенный, и это не изменило ничего вообще. Кроме того, это даже не применимо к чистому GCC ни без какой сборки автоинструментов. И другой ответ является просто грязным взломом, который я не знаю, как повредит сборку strace. Кроме того, то, что другой вопрос не упоминает x32, который является ядром этого вопроса.

4
задан 27 September 2017 в 15:33

1 ответ

Разрешить эту поддержку проблемы x32 ABI в gcc должно быть включено.

пакет gcc-мультиlib обеспечит это через/usr/include/linux/asm символьную ссылку. Для ссылки это было замечено в debian ошибке, где вышеупомянутая информация была обеспечена. https://bugs.debian.org/cgi-bin/bugreport.cgi? bug=871946

2
ответ дан 1 December 2019 в 10:16

Другие вопросы по тегам:

Похожие вопросы: