[GSOC] Building strace mpers 32

deborah brouwer 3563deb6753 at gmail.com
Mon Mar 22 03:46:10 UTC 2021


On Mon, Mar 22, 2021 at 02:51:50AM +0300, Dmitry V. Levin wrote:
> 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 5.11.0.172.97bbe > .version-t && mv .version-t .version
> > > > make  all-recursive
> > > > make[1]: Entering directory '~/strace'
> > > > Making all in bundled
> > > > make[2]: Entering directory '~/strace/bundled'
> > > > make[2]: Nothing to be done for 'all'.
> > > > make[2]: Leaving directory '~/strace/bundled'
> > > > Making all in src
> > > > make[2]: 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.

Thank you, this was the problem.  I am using Ubuntu bionic (18.04LTS) and I was missing the package gcc-multilib.
> 
> 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
> /usr/include/linux/errno.h?
> 
I did check the include path with gcc -v and it seemed to be as expected.  I am not sure how that was working beforehand.  But the problem is solved now.
> 
> -- 
> ldv
> -- 
> Strace-devel mailing list
> Strace-devel at lists.strace.io
> https://lists.strace.io/mailman/listinfo/strace-devel


More information about the Strace-devel mailing list