On Fri, Aug 02, 2002 at 10:43:00AM -0400, [EMAIL PROTECTED] wrote: > > The test tries to exec "./chroot_t4" but the exec fails because it > does not see the file. I verified that there is an executable ./chroot_t4 > in /home/tet/test_sets/TESTROOT/tset/LSB.os/procenv/chroot/chroot_t4 > with owner vsx0, group vsxg0, and mode 0755. I couldn't easily figure out > how to build the tests from the source in order to add debugging statements > to determine in what directory the test runs. > > If someone tells me how to build the tests, I am willing to further debug > this. Otherwise, I will assume this is a test problem and ignore it.
No, chroot_t4 uses ld-lsb.so.1 as the program interpreter. There is no ld-lsb.so.1 in the chroot that chroot_t4 is trying to run in, so there is no way to exec() it. Either we need to place shared libraries and ld-lsb.so.1 in the place that the chroot test tries to run or build this binary statically linked. For now, knowing that the binary is indeed there, mode 0755, and uses ld-lsb.so.1, which is outside the chroot, but not inside the chroot --- and knowing that the behavior of the kernel on exec() of an ELF binary who's program interpreter does not exist is to return -ENOENT, we can safely resolve this FIP as pass, since the testing app would have run if the chroot() was not successful. Cheers, Matt
