bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Investigation of the failing build of gnat-4.9 using fakeroot-hurd


From: Svante Signell
Subject: Re: Investigation of the failing build of gnat-4.9 using fakeroot-hurd
Date: Mon, 02 Feb 2015 12:26:06 +0100

On Sat, 2014-12-20 at 15:29 +0100, Svante Signell wrote:
> Hi, 
> 
> Building gnat-4.9 fails currently with EACCES errors when building some
> of the .debs, specifically libgnatvsn4.9-dev, libgnatprj4.9-dev. The
> failing commands are dh_movefiles and dh_md5sums, 
...
> Invoking .../fakeroot-hurd sh -c 'command' results in different code
> paths. How to track the code paths properly? It seems to be very
> non-deterministic. Maybe not, but I have problems to find out which
> functions are expected to be called.
> 
> Here command = 1) direct, 2) using a shell script, 3) with make issuing
> the script, 4) using make issuing dh_md5sums command, and 5) finally
> debian/rules binary.
...
> The fakeroot-hurd script is using the built binaries with printout
> code
> added, via /usr/bin/env LD_LIBRARY_PATH=... see below:
> 
> exec /my_chroot/DEBs/test_fakeroot-hurd/settrans --chroot \
>      /usr/bin/env
> LD_LIBRARY_PATH=/my_chroot/DEBs/test_fakeroot-hurd/libs \
>      /my_chroot/DEBs/test_fakeroot-hurd/fakeauth \
>      /bin/sh -c 'cd "$1" || exit ; shift ; exec "$@"' \
>      "$1" "$PWD" "$@" \
>      -- / /usr/bin/env
> LD_LIBRARY_PATH=/my_chroot/DEBs/test_fakeroot-hurd/libs\
>      /my_chroot/DEBs/test_fakeroot-hurd/fakeroot
> 
> The built ext2fs.static is used to mount a directory located in a
> file:
> settrans -ca ./test_ext2fs ./ext2fs.static test.fs
> ...
> 5) Case 4 above and
> libnetfs/file-set-translator.c:netfs_S_file_set_translator
> libnetfs/dir-mkfile.c:netfs_S_dir_mkfile
> libnetfs/dir-link.c:netfs_S_dir_link
> libdiskfs/dir-lookup:diskfs_S_dir_lookup. Here we get the failures with
> EACCES: Permission denied

Confusing thing is: Printouts in
libnetfs/dir-lookup.c:netfs_S_dir_lookup() are not triggered, but
libdiskfs/dir-lookup.c:diskfs_S_dir_lookup are.
libnetfs is built into fakeroot itself, but not libdiskfs, which is
built into ext2fs.static. libdiskfs functions does not seem to be faked.
How to investigate the call tree for a translator, in this case
fakeroot?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]