RSB Issue with lexicographic comparison of python versions (shown on Ubuntu 22.04 LTS/python 3.10 platform).
Karel Gardas
karel at functional.vision
Tue Apr 19 10:06:21 UTC 2022
Chris,
testing RSB on soon to be release Ubuntu 22.04 LTS. This distro provides
python 3.10 and interestingly gdb compilation fails badly on it with:
making dir:
/home/karel/workspace/rtems-source-builder/rtems/build/tmp/gmp-6.1.0-x86_64-linux-gnu-1-1000/home/karel/workspace/rtems-tools/share/rtems/rsb
reporting: devel/gmp-6.1.0.cfg -> gmp-6.1.0-x86_64-linux-gnu-1.xml
making dir:
/home/karel/workspace/rtems-source-builder/rtems/build/tmp/gmp-6.1.0-x86_64-linux-gnu-1-1000/home/karel/workspace/rtems-tools/share/rtems/rsb
config: tools/rtems-gdb-11.2.cfg
error: shell macro failed:
/home/karel/workspace/rtems-source-builder/source-builder/sb/rtems-build-dep
-c gcc -l : 2: error: no library (-l) provided
Build Set: Time 0:01:01.843930
The reason for this is wrong usage of probably lexicographic comparison
of python versions in gdb-common-1.cfg:
Let's apply this debug patch to it and see the output:
diff --git a/source-builder/config/gdb-common-1.cfg
b/source-builder/config/gdb-common-1.cfg
index c7f3955..45e3b88 100644
--- a/source-builder/config/gdb-common-1.cfg
+++ b/source-builder/config/gdb-common-1.cfg
@@ -110,6 +110,7 @@
%if %{gdb-python-config} != %{nil}
%define gdb-python-lib-filter awk 'BEGIN{FS="
"}/python/{for(i=1;i<NF;++i)if(match($i,".*lpython.*")) print
"lib"substr($i,3)"*";}'
%if %{gdb-python-ver-mm} < 3.8
+ %error "not working, python is %{gdb-python-ver-mm} and yet
we're in < 3.8 block!"
%define gdb-python-config-lib-check-flags --ldflags
%else
%define gdb-python-config-lib-check-flags --ldflags --embed
and the output is:
Build Set: 6/rtems-arm
config: tools/rtems-gdb-11.2.cfg
error: config error: gdb-common-1.cfg:113: "not working, python is 3.10
and yet we're in < 3.8 block!"
Build Set: Time 0:00:00.090733
Sorry about the %error usage, have not found any way how to debug cfg
files yet except of moving %error directive around...
Do you have any idea how to make 3.10 to be bigger/higher than 3.8 in
this comparison?
Thanks,
Karel
More information about the devel
mailing list