[ 
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)

Reply via email to