On Red Hat based distributions, the configure script emits various
warnings:
# ./configure
Using './build' as the directory for build output
./configure: line 212: test: 2-15: integer expression expected
./configure: line 213: test: 2-15: integer expression expected
./configure: line 212: test: el8: integer expression expected
./configure: line 213: test: el8: integer expression expected
This is produced by the gdb version check introduced in commit
b1863ccc957 ("configure: gate our use of GDB to 8.3.1 or above"):
gdb_version=$($gdb_bin --version | head -n 1)
if version_ge ${gdb_version##* } 8.3.1; then
echo "HAVE_GDB_BIN=$gdb_bin" >> $config_host_mak
fi
Because on RHEL/Fedora the minor version is not a plain number:
$ gdb --version | head -n 1
GNU gdb (GDB) Fedora 9.1-7.fc32
$ gdb --version | head -n 1
GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8
Fix by only using the leading numbers, stripping the rest.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index e85d6baf8f8..21f6530a812 100755
--- a/configure
+++ b/configure
@@ -205,7 +205,7 @@ version_ge () {
local_first=${2-0}
# 'shift 2' if $2 is set, or 'shift' if $2 is not set
shift ${2:+2}
- local_ver1=$*
+ local_ver1=$(echo $* | sed -E 's/(^[0-9]+).*/\1/')
set x $local_ver2
# the second argument finished, the first must be greater or equal
test $# = 1 && return 0
--
2.26.2
Philippe Mathieu-Daudé <philmd@redhat.com> writes: > On Red Hat based distributions, the configure script emits various > warnings: > > # ./configure > Using './build' as the directory for build output > ./configure: line 212: test: 2-15: integer expression expected > ./configure: line 213: test: 2-15: integer expression expected > ./configure: line 212: test: el8: integer expression expected > ./configure: line 213: test: el8: integer expression expected > > This is produced by the gdb version check introduced in commit > b1863ccc957 ("configure: gate our use of GDB to 8.3.1 or above"): > > gdb_version=$($gdb_bin --version | head -n 1) > if version_ge ${gdb_version##* } 8.3.1; then > echo "HAVE_GDB_BIN=$gdb_bin" >> $config_host_mak > fi > > Because on RHEL/Fedora the minor version is not a plain number: > > $ gdb --version | head -n 1 > GNU gdb (GDB) Fedora 9.1-7.fc32 > > $ gdb --version | head -n 1 > GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8 > > Fix by only using the leading numbers, stripping the rest. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > configure | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure b/configure > index e85d6baf8f8..21f6530a812 100755 > --- a/configure > +++ b/configure > @@ -205,7 +205,7 @@ version_ge () { > local_first=${2-0} > # 'shift 2' if $2 is set, or 'shift' if $2 is not set > shift ${2:+2} > - local_ver1=$* > + local_ver1=$(echo $* | sed -E 's/(^[0-9]+).*/\1/') > set x $local_ver2 > # the second argument finished, the first must be greater or equal > test $# = 1 && return 0 I already have a fix that was posted in: Subject: [PATCH v2 7/8] configure: make version_ge more tolerant of shady version input Date: Fri, 22 Jan 2021 18:18:53 +0000 Message-Id: <20210122181854.23105-8-alex.bennee@linaro.org> About to feature in the pre-PR series I'm about to post. -- Alex Bennée
On 2/2/21 1:43 PM, Alex Bennée wrote: > > Philippe Mathieu-Daudé <philmd@redhat.com> writes: > >> On Red Hat based distributions, the configure script emits various >> warnings: >> >> # ./configure >> Using './build' as the directory for build output >> ./configure: line 212: test: 2-15: integer expression expected >> ./configure: line 213: test: 2-15: integer expression expected >> ./configure: line 212: test: el8: integer expression expected >> ./configure: line 213: test: el8: integer expression expected >> >> This is produced by the gdb version check introduced in commit >> b1863ccc957 ("configure: gate our use of GDB to 8.3.1 or above"): >> >> gdb_version=$($gdb_bin --version | head -n 1) >> if version_ge ${gdb_version##* } 8.3.1; then >> echo "HAVE_GDB_BIN=$gdb_bin" >> $config_host_mak >> fi >> >> Because on RHEL/Fedora the minor version is not a plain number: >> >> $ gdb --version | head -n 1 >> GNU gdb (GDB) Fedora 9.1-7.fc32 >> >> $ gdb --version | head -n 1 >> GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8 >> >> Fix by only using the leading numbers, stripping the rest. >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> configure | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/configure b/configure >> index e85d6baf8f8..21f6530a812 100755 >> --- a/configure >> +++ b/configure >> @@ -205,7 +205,7 @@ version_ge () { >> local_first=${2-0} >> # 'shift 2' if $2 is set, or 'shift' if $2 is not set >> shift ${2:+2} >> - local_ver1=$* >> + local_ver1=$(echo $* | sed -E 's/(^[0-9]+).*/\1/') >> set x $local_ver2 >> # the second argument finished, the first must be greater or equal >> test $# = 1 && return 0 > > I already have a fix that was posted in: > > Subject: [PATCH v2 7/8] configure: make version_ge more tolerant of shady version input > Date: Fri, 22 Jan 2021 18:18:53 +0000 > Message-Id: <20210122181854.23105-8-alex.bennee@linaro.org> > > About to feature in the pre-PR series I'm about to post. Oh I missed it. Thanks, Phil.
© 2016 - 2024 Red Hat, Inc.