On Thu, Sep 05, 2024 at 05:57:22PM +0200, Thomas Weißschuh wrote:
On 2024-09-05 08:32:14+0000, Willy Tarreau wrote:
On Thu, Sep 05, 2024 at 08:22:18AM +0200, Willy Tarreau wrote:
./run-tests.sh -p -m user
These toolchains can then also be used for direct "make" invocations
through CROSS_COMPILE.
I really suspect an empty CC variable somewhere that could explain why
only CROSS_COMPILE is used. I'll try to find time today to give it a
try here as well, just in case I can reproduce the same issue.
In fact I'm getting it without any options:
$ ./run-tests.sh
realpath: /home/willy/.cache/crosstools/gcc-13.2.0-nolibc/i386-linux/bin/i386-linux-: No such file or directory
It comes from here in test_arch():
cross_compile=$(realpath "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/${ct_arch}-${ct_abi}-")
Thus it's indeed related to the absence of the toolchain there. It's
just that the way the error is reported (due to set -e) is a bit harsh.
Ack. It should not occur with "-p" though.
Agreed, I was focusing on first experience for users essentially.
What about this ?
$ ./run-tests.sh
No toolchain found in /home/willy/.cache/crosstools/gcc-13.2.0-nolibc/i386-linux.
Did you install the toolchains or set the correct arch ? Rerun with -h for help.
Aborting...
or anything similar, achieved by this patch (warning copy-paste, mangled
indents):
diff --git a/tools/testing/selftests/nolibc/run-tests.sh b/tools/testing/selftests/nolibc/run-tests.sh
index e7ecda4ae796..0f67e80051dc 100755
--- a/tools/testing/selftests/nolibc/run-tests.sh
+++ b/tools/testing/selftests/nolibc/run-tests.sh
@@ -143,6 +143,13 @@ test_arch() {
arch=$1
ct_arch=$(crosstool_arch "$arch")
ct_abi=$(crosstool_abi "$1")
+
+ if [ ! -d "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/." ]; then
+ echo "No toolchain found in ${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}."
+ echo "Did you install the toolchains or set the correct arch ? Rerun with -h for help."
+ return 1
+ fi
+
cross_compile=$(realpath "${download_location}gcc-${crosstool_version}-nolibc/${ct_arch}-${ct_abi}/bin/${ct_arch}-${ct_abi}-")
build_dir="${build_location}/${arch}"
if [ "$werror" -ne 0 ]; then
Looks good.
OK thanks, I'll try to handle it this week-end if I'm not beaten to
it. If you or Shuah want to merge it before, feel free to, no offense
on my side!