Message ID | 20230829220228.928506-1-richard.henderson@linaro.org |
---|---|
Headers | show |
Series | linux-user: Implement VDSOs | expand |
On 8/30/23 00:02, Richard Henderson wrote: > Changes for v5: > * Integrated cross-compile, via new build-vdso.sh and meson rules. > However, keep the binaries in the tree for hosts which do not > have all of the cross-compile machinery. > * Update our loongarch64 docker image to avoid a binutils bug. > > Just in case the list eats a binary: > https://gitlab.com/rth7680/qemu/-/tree/lu-vdso I pulled that on top of git head, and ran into the build problem below. Do I miss something? Helge [62/1742] Generating linux-user/aarch64/vdso-be.so with a custom command FAILED: linux-user/aarch64/vdso-be.so /home/cvs/qemu/qemu/linux-user/build-vdso.sh -B /srv/_build -C /home/cvs/qemu/qemu/linux-user/aarch64 -T aarch64-linux-user -o linux-user/aarch64/vdso-be.so -- -nostdlib -shared -Wl,-h,linux-vdso.so.1 -Wl,--build-id=sha1 -Wl,--hash-style=both -Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld ../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S -mbig-endian Error: short-name resolution enforced but cannot prompt without a TTY Traceback (most recent call last): File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 683, in <module> sys.exit(main()) ^^^^^^ File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 679, in main return args.cmdobj.run(args, argv) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 657, in run return Docker().run(cmd, False, quiet=args.quiet, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 370, in run ret = self._do_check(["run", "--rm", "--label", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 247, in _do_check return subprocess.check_call(self._command + cmd, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['podman', 'run', '--rm', '--label', 'com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8', '--userns=keep-id', '-u', '1000', '-w', '/srv/_build', '-v', '/srv/_build:/srv/_build:rw', '-v', '/home/cvs/qemu/qemu:/home/cvs/qemu/qemu:ro,z', 'qemu/debian-arm64-cross', 'aarch64-linux-gnu-gcc-10', '-o', 'linux-user/aarch64/vdso-be.so', '-nostdlib', '-shared', '-Wl,-h,linux-vdso.so.1', '-Wl,--build-id=sha1', '-Wl,--hash-style=both', '-Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld', '../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S', '-mbig-endian']' returned non-zero exit status 125. filter=--filter=label=com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8
On 8/30/23 07:52, Helge Deller wrote: > On 8/30/23 00:02, Richard Henderson wrote: >> Changes for v5: >> * Integrated cross-compile, via new build-vdso.sh and meson rules. >> However, keep the binaries in the tree for hosts which do not >> have all of the cross-compile machinery. >> * Update our loongarch64 docker image to avoid a binutils bug. >> >> Just in case the list eats a binary: >> https://gitlab.com/rth7680/qemu/-/tree/lu-vdso > > I pulled that on top of git head, and ran into the build problem below. > Do I miss something? No idea, since it worked for me. Looks like some sort of docker.py problem. Alex? In the short term, use --disable-containers so that you only use the cross-compilers that you have locally installed. r~ > > Helge > > [62/1742] Generating linux-user/aarch64/vdso-be.so with a custom command > FAILED: linux-user/aarch64/vdso-be.so > /home/cvs/qemu/qemu/linux-user/build-vdso.sh -B /srv/_build -C > /home/cvs/qemu/qemu/linux-user/aarch64 -T aarch64-linux-user -o > linux-user/aarch64/vdso-be.so -- -nostdlib -shared -Wl,-h,linux-vdso.so.1 > -Wl,--build-id=sha1 -Wl,--hash-style=both > -Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld > ../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S -mbig-endian > Error: short-name resolution enforced but cannot prompt without a TTY > Traceback (most recent call last): > File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 683, in <module> > sys.exit(main()) > ^^^^^^ > File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 679, in main > return args.cmdobj.run(args, argv) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 657, in run > return Docker().run(cmd, False, quiet=args.quiet, > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 370, in run > ret = self._do_check(["run", "--rm", "--label", > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 247, in _do_check > return subprocess.check_call(self._command + cmd, **kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command '['podman', 'run', '--rm', '--label', > 'com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8', '--userns=keep-id', '-u', > '1000', '-w', '/srv/_build', '-v', '/srv/_build:/srv/_build:rw', '-v', > '/home/cvs/qemu/qemu:/home/cvs/qemu/qemu:ro,z', 'qemu/debian-arm64-cross', > 'aarch64-linux-gnu-gcc-10', '-o', 'linux-user/aarch64/vdso-be.so', '-nostdlib', '-shared', > '-Wl,-h,linux-vdso.so.1', '-Wl,--build-id=sha1', '-Wl,--hash-style=both', > '-Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld', > '../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S', '-mbig-endian']' returned non-zero > exit status 125. > filter=--filter=label=com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8 >
Richard Henderson <richard.henderson@linaro.org> writes: > On 8/30/23 07:52, Helge Deller wrote: >> On 8/30/23 00:02, Richard Henderson wrote: >>> Changes for v5: >>> * Integrated cross-compile, via new build-vdso.sh and meson rules. >>> However, keep the binaries in the tree for hosts which do not >>> have all of the cross-compile machinery. >>> * Update our loongarch64 docker image to avoid a binutils bug. >>> >>> Just in case the list eats a binary: >>> https://gitlab.com/rth7680/qemu/-/tree/lu-vdso >> I pulled that on top of git head, and ran into the build problem >> below. >> Do I miss something? > > No idea, since it worked for me. Looks like some sort of docker.py problem. Alex? > > In the short term, use --disable-containers so that you only use the > cross-compilers that you have locally installed. > > > r~ > >> Helge >> [62/1742] Generating linux-user/aarch64/vdso-be.so with a custom >> command >> FAILED: linux-user/aarch64/vdso-be.so >> /home/cvs/qemu/qemu/linux-user/build-vdso.sh -B /srv/_build -C >> /home/cvs/qemu/qemu/linux-user/aarch64 -T aarch64-linux-user -o >> linux-user/aarch64/vdso-be.so -- -nostdlib -shared >> -Wl,-h,linux-vdso.so.1 -Wl,--build-id=sha1 -Wl,--hash-style=both >> -Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld >> ../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S -mbig-endian >> Error: short-name resolution enforced but cannot prompt without a TTY >> Traceback (most recent call last): >> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 683, in <module> >> sys.exit(main()) >> ^^^^^^ >> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 679, in main >> return args.cmdobj.run(args, argv) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 657, in run >> return Docker().run(cmd, False, quiet=args.quiet, >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 370, in run >> ret = self._do_check(["run", "--rm", "--label", >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 247, in _do_check >> return subprocess.check_call(self._command + cmd, **kwargs) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call >> raise CalledProcessError(retcode, cmd) >> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >> '--label', It looks like it detected podman on this setup. Can you invoke the container from the command line? >> 'com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8', >> '--userns=keep-id', '-u', '1000', '-w', '/srv/_build', '-v', >> '/srv/_build:/srv/_build:rw', '-v', >> '/home/cvs/qemu/qemu:/home/cvs/qemu/qemu:ro,z', >> 'qemu/debian-arm64-cross', 'aarch64-linux-gnu-gcc-10', '-o', >> 'linux-user/aarch64/vdso-be.so', '-nostdlib', '-shared', >> '-Wl,-h,linux-vdso.so.1', '-Wl,--build-id=sha1', >> '-Wl,--hash-style=both', >> '-Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld', >> '../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S', >> '-mbig-endian']' returned non-zero exit status 125. >> filter=--filter=label=com.qemu.instance.uuid=e746f7e345ed420088a9cc30e884a7e8 >>
On 8/31/23 09:57, Alex Bennée wrote: > > Richard Henderson <richard.henderson@linaro.org> writes: > >> On 8/30/23 07:52, Helge Deller wrote: >>> On 8/30/23 00:02, Richard Henderson wrote: >>>> Changes for v5: >>>> * Integrated cross-compile, via new build-vdso.sh and meson rules. >>>> However, keep the binaries in the tree for hosts which do not >>>> have all of the cross-compile machinery. >>>> * Update our loongarch64 docker image to avoid a binutils bug. >>>> >>>> Just in case the list eats a binary: >>>> https://gitlab.com/rth7680/qemu/-/tree/lu-vdso >>> I pulled that on top of git head, and ran into the build problem >>> below. >>> Do I miss something? >> >> No idea, since it worked for me. Looks like some sort of docker.py problem. Alex? >> >> In the short term, use --disable-containers so that you only use the >> cross-compilers that you have locally installed. >> >> >> r~ >> >>> Helge >>> [62/1742] Generating linux-user/aarch64/vdso-be.so with a custom >>> command >>> FAILED: linux-user/aarch64/vdso-be.so >>> /home/cvs/qemu/qemu/linux-user/build-vdso.sh -B /srv/_build -C >>> /home/cvs/qemu/qemu/linux-user/aarch64 -T aarch64-linux-user -o >>> linux-user/aarch64/vdso-be.so -- -nostdlib -shared >>> -Wl,-h,linux-vdso.so.1 -Wl,--build-id=sha1 -Wl,--hash-style=both >>> -Wl,-T,../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.ld >>> ../../home/cvs/qemu/qemu/linux-user/aarch64/vdso.S -mbig-endian >>> Error: short-name resolution enforced but cannot prompt without a TTY >>> Traceback (most recent call last): >>> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 683, in <module> >>> sys.exit(main()) >>> ^^^^^^ >>> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 679, in main >>> return args.cmdobj.run(args, argv) >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 657, in run >>> return Docker().run(cmd, False, quiet=args.quiet, >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 370, in run >>> ret = self._do_check(["run", "--rm", "--label", >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/home/cvs/qemu/qemu/tests/docker/docker.py", line 247, in _do_check >>> return subprocess.check_call(self._command + cmd, **kwargs) >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call >>> raise CalledProcessError(retcode, cmd) >>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>> '--label', > > It looks like it detected podman on this setup. Can you invoke the > container from the command line? Yes, if I run it on the command line: [deller@p100 _build]$ 'podman' 'run' '--rm' '--label' 'com.qemu.instance.uuid=21e1c0332a2c44b6ae94a71392c57ccf' '--userns=keep-id' '-u' '1000' '-w' '/srv/_build' '-v' '/srv/_build:/srv/_build:rw' '-v' '/home/cvs/qemu/qemu:/home/cvs/qemu/qemu:ro,z' 'qemu/debian-armhf-cross' 'arm-linux-gnueabihf-gcc' '-o' 'linux-user/arm/vdso-le.so' '-nostdlib' '-shared' '-Wl,-use-blx' '-Wl,-h,linux-vdso.so.1' '-Wl,--build-id=sha1' '-Wl,--hash-style=both' '-Wl,-T,../../home/cvs/qemu/qemu/linux-user/arm/vdso.ld' '../../home/cvs/qemu/qemu/linux-user/arm/vdso.S' '-mlittle-endian' I get this interactive(!!!) output where I can use the cursor keys to swith up/down: ? Please select an image: ▸ registry.fedoraproject.org/qemu/debian-armhf-cross:latest registry.access.redhat.com/qemu/debian-armhf-cross:latest docker.io/qemu/debian-armhf-cross:latest quay.io/qemu/debian-armhf-cross:latest I assume the problem is, that we don't want interactive input at this stage? Probably this is why I get the error message: "Error: short-name resolution enforced but cannot prompt without a TTY" ? Helge
Helge Deller <deller@gmx.de> writes: > On 8/31/23 09:57, Alex Bennée wrote: >> >> Richard Henderson <richard.henderson@linaro.org> writes: >> >>> On 8/30/23 07:52, Helge Deller wrote: >>>> On 8/30/23 00:02, Richard Henderson wrote: >>>>> Changes for v5: >>>>> * Integrated cross-compile, via new build-vdso.sh and meson rules. >>>>> However, keep the binaries in the tree for hosts which do not >>>>> have all of the cross-compile machinery. >>>>> * Update our loongarch64 docker image to avoid a binutils bug. >>>>> >>>>> Just in case the list eats a binary: >>>>> https://gitlab.com/rth7680/qemu/-/tree/lu-vdso >>>> I pulled that on top of git head, and ran into the build problem >>>> below. >>>> Do I miss something? >>> >>> No idea, since it worked for me. Looks like some sort of docker.py problem. Alex? >>> >>> In the short term, use --disable-containers so that you only use the >>> cross-compilers that you have locally installed. <snip> >> >> It looks like it detected podman on this setup. Can you invoke the >> container from the command line? > > Yes, if I run it on the command line: > > [deller@p100 _build]$ 'podman' 'run' '--rm' '--label' 'com.qemu.instance.uuid=21e1c0332a2c44b6ae94a71392c57ccf' '--userns=keep-id' '-u' '1000' '-w' '/srv/_build' '-v' '/srv/_build:/srv/_build:rw' '-v' '/home/cvs/qemu/qemu:/home/cvs/qemu/qemu:ro,z' 'qemu/debian-armhf-cross' 'arm-linux-gnueabihf-gcc' '-o' 'linux-user/arm/vdso-le.so' '-nostdlib' '-shared' '-Wl,-use-blx' '-Wl,-h,linux-vdso.so.1' '-Wl,--build-id=sha1' '-Wl,--hash-style=both' '-Wl,-T,../../home/cvs/qemu/qemu/linux-user/arm/vdso.ld' '../../home/cvs/qemu/qemu/linux-user/arm/vdso.S' '-mlittle-endian' > > I get this interactive(!!!) output where I can use the cursor keys to swith up/down: > > ? Please select an image: > ▸ registry.fedoraproject.org/qemu/debian-armhf-cross:latest > registry.access.redhat.com/qemu/debian-armhf-cross:latest > docker.io/qemu/debian-armhf-cross:latest > quay.io/qemu/debian-armhf-cross:latest > > I assume the problem is, that we don't want interactive input at this stage? > Probably this is why I get the error message: "Error: short-name > resolution enforced but cannot prompt without a TTY" ? No I think the problem is we need to add dependencies to the target to ensure the containers are built and available (if they are needed). It looks like because qemu/debian-armhf-cross isn't available on your local setup it fails and offers some guesses. If you run: make docker-image-debian-armhf-cross does the target work afterwards?