[
https://issues.apache.org/jira/browse/THRIFT-4232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16165505#comment-16165505
]
ASF GitHub Bot commented on THRIFT-4232:
----------------------------------------
Github user jeking3 commented on a diff in the pull request:
https://github.com/apache/thrift/pull/1354#discussion_r138770754
--- Diff: aclocal/ax_javac_and_java.m4 ---
@@ -118,7 +118,7 @@ AC_DEFUN([AX_CHECK_JAVA_CLASS],
AC_DEFUN([AX_CHECK_ANT_VERSION],
[
AC_MSG_CHECKING(for ant version > $2)
- ANT_VALID=`expr $($1 -version 2>/dev/null | sed -n 's/.*version
\(@<:@0-9\.@:>@*\).*/\1/p') \>= $2`
+ ANT_VALID=`expr "x$(printf "$2\n$($1 -version 2>/dev/null | sed
-n 's/.*version \(@<:@0-9\.@:>@*\).*/\1/p')" | sort -t '.' -k 1,1 -k 2,2 -k 3,3
-g | sed -n 1p)" = "x$2"`
--- End diff --
I don't see this working on my bash shell:
```
jking@ubuntu:~/thrift/github/thrift$ ant -version
Apache Ant(TM) version 1.9.8 compiled on January 19 2017
jking@ubuntu:~/thrift/github/thrift$ ant -version | sed -n 's/.*version
\(@<:@0-9\.@:>@*\).*/\1/p'
(no output)
```
Try this instead:
```
jking@ubuntu:~/thrift/github/thrift$ ant -version | cut -d' ' -f4
1.9.8
```
Test:
If I require 1.9.9, fails, if I require 1.9.7, passes:
```
jking@ubuntu:~/thrift/github/thrift$ expr "x$(printf "1.9.9\n$(ant -version
| cut -d' ' -f4)" | sort -t '.' -k 1,1 -k 2,2 -k 3,3 -g | sed -n 1p)" = "x1.9.9"
0
jking@ubuntu:~/thrift/github/thrift$ expr "x$(printf "1.9.7\n$(ant -version
| cut -d' ' -f4)" | sort -t '.' -k 1,1 -k 2,2 -k 3,3 -g | sed -n 1p)" = "x1.9.7"
1
```
> ./configure does bad ant version check
> --------------------------------------
>
> Key: THRIFT-4232
> URL: https://issues.apache.org/jira/browse/THRIFT-4232
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Affects Versions: 0.10.0
> Environment: OSX 10.12.5, running ant 1.10.1
> Reporter: David Woodward
> Original Estimate: 3h
> Remaining Estimate: 3h
>
> On line 18869 of the configure script, it checks that the ant version is >=
> 1.7. It uses some kind of string comparison. This breaks for my current ant
> version (1.10). It seems to think that 1.10 is not >= 1.7. I think this is
> because it's comparing strings without taking into account what the strings
> actually mean. Something like this might be a possible patch:
> https://stackoverflow.com/questions/16989598/bash-comparing-version-numbers
> This should be fixed because it means that people with new ant versions can't
> build the java thrift library.
> Also it should be checked to see if other parts of the configure process are
> using these kinds of faulty version checks.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)