On Thu, Sep 05, 2024 at 05:57:52PM -0600, Shuah Khan wrote:
On 9/5/24 10:35, Willy Tarreau wrote:
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!
Sounds good. My system is back to a good state with the tests after running
./run-tests.sh -p -m user
My guess is my setup was lost when I upgraded my system.
Makes sense.
FWIW I've just pushed the patch above to nolibc-next. Since it's not a
result of a change of the last PR, there's no need to udpate it I think,
it can easily wait for the next one (it's just a help message after all).
During the tests I've also got caught with -d which needs a trailing slash
otherwise doesn't concatenate directories correctly. I don't know if that's
intentional or not so I didn't change it (and it's not important either).