[GSOC] Building strace mpers 32
Dmitry V. Levin
ldv at altlinux.org
Sun Mar 21 23:51:50 UTC 2021
On Sun, Mar 21, 2021 at 09:29:54AM -0700, deborah brouwer wrote:
> On Sun, Mar 21, 2021 at 01:43:32PM +0300, Dmitry V. Levin wrote:
> > Hi,
> > On Sat, Mar 20, 2021 at 10:11:44PM -0700, deborah brouwer wrote:
> > > Hi!
> > > My name is Deborah and I'm studying computer science at Thompson Rivers University in British Columbia, Canada. I'm interested in GSOC.
> > >
> > > Can you please help me build strace with mpers enabled? After cloning the repository and running ./bootstrap and ./configure, make gives the error:
> > >
> > > make
> > > echo 220.127.116.11.97bbe > .version-t && mv .version-t .version
> > > make all-recursive
> > > make: Entering directory '~/strace'
> > > Making all in bundled
> > > make: Entering directory '~/strace/bundled'
> > > make: Nothing to be done for 'all'.
> > > make: Leaving directory '~/strace/bundled'
> > > Making all in src
> > > make: Entering directory '~/strace/src'
> > > ...
> > > for f in block.c ...; do \
> > > D="" \
> > > READELF="readelf" \
> > > CC="gcc" \
> > > CFLAGS="-DHAVE_CONFIG_H -I./linux/x86_64 -I./linux/x86_64 -I./linux/generic -I./linux/generic -I. -I. -I../bundled/linux/arch/x86/include/uapi -I../bundled/linux/include/uapi -DIN_STRACE=1 -I./bundled/linux/arch/x86/include/uapi -I./bundled/linux/include/uapi -DMPERS_IS_m32" \
> > > CPP="gcc -E" \
> > > CPPFLAGS="-DHAVE_CONFIG_H -I./linux/x86_64 -I./linux/x86_64 -I./linux/generic -I./linux/generic -I. -I. -I../bundled/linux/arch/x86/include/uapi -I../bundled/linux/include/uapi -DIN_STRACE=1 -I./bundled/linux/arch/x86/include/uapi -I./bundled/linux/include/uapi -DIN_MPERS -DMPERS_IS_m32" \
> > > ./mpers.sh m32 "-m32" $f || exit; \
> > > done
> > > In file included from /usr/include/bits/errno.h:26:0,
> > > from /usr/include/errno.h:28,
> > > from ./defs.h:32,
> > > from mpers-m32/struct_blk_user_trace_setup.c:10:
> > > /usr/include/linux/errno.h:1:10: fatal error: asm/errno.h: No such file or directory
> > > #include <asm/errno.h>
> > > ^~~~~~~~~~~~~
> > > compilation terminated.
> > This is odd. Does /usr/include/asm/errno.h exist in your system?
> No, my system does not have a /usr/include/asm/ directory, but I did try
> to create one and put errno.h in it from my /usr/include/asm-generic
> directory. It led to the same problem.
It's very unusual for an operating system to provide system header
/usr/include/linux/errno.h that doesn't compile because it uses
/usr/include/asm/errno.h that doesn't exist.
Since your operating system is glibc-based, it most likely consists of
packages, and some package that makes /usr/include/linux/errno.h usable
seems to be missing.
Anyway, I wonder how did you manage to build strace without a usable
<linux/errno.h>. Could it be that your system's <linux/errno.h> is not
More information about the Strace-devel