You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jake Farrell (JIRA)" <ji...@apache.org> on 2012/08/28 05:09:07 UTC

[jira] [Updated] (THRIFT-1680) make install requires GNU make

     [ https://issues.apache.org/jira/browse/THRIFT-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jake Farrell updated THRIFT-1680:
---------------------------------

    Attachment: Thrift-1680.patch

Attached patch addresses two of your suggestions. I'll look at the Make issue later, if you would like to submit a patch to address the issue please see http://thrift.apache.org/docs/HowToContribute/

1. Changed message for boost configure to the following. 
{code}
  --with-boost[=DIR]      use boost [default=yes]. Optionally specify the root
                          prefix dir where boost is installed
  --with-libevent[=DIR]   use libevent [default=yes]. Optionally specify the
                          root prefix dir where libevent is installed
{code}

2. Variant of THRIFT-381, will not address within this ticket.

3. Updated options parser with usage message with errors and only display help when asked for it. 
{code}
Missing file name
Usage: thrift [options] file

Use thrift -help for a list of options
{code}
                
> make install requires GNU make
> ------------------------------
>
>                 Key: THRIFT-1680
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1680
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.8
>         Environment: NetBSD
>            Reporter: James K. Lowden
>            Assignee: Jake Farrell
>            Priority: Minor
>              Labels: bsdmake, gmake, make
>         Attachments: Thrift-1680.patch
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> test/cpp/Makefile.am includes targets whose dependency rule relies on the variable "$<" to pick up the first dependency.  This variable is specific to GNU make; it is not supported by most BSD make programs.  AFAICT this is the only such dependency on GNU make.  I was able to build thrift using BSD make; I was prevented only from installing it (because install invokes tests).  
> BSD make has no analog for $<.  The simplest fix I know of is to repeat the name of the first dependency the command.  The second easiest fix would be to document the limitation.  ;-)  
> Three other suggestions, if I may: 
> 1.  It would be nice if the DIR for --with-boost=DIR were more clearly specified.  It's not obvious that --with-boost=/usr/pkg is what's needed if the Boost headers are in /usr/pkg/include/boost.  
> 2.  The defaults indicated by configure --help are IMO misleading because they're the defaults *if* configure detects them.  I would prefer all default to No, and for configure to stop with an error if --with-foo is specified and fails.  It is otherwise exceedingly difficult to detect automatically whether the specified configuration was in fact installed.  
> 3.  The thrift error message is ridiculous:
> $ thrift --foo 2>&1 | wc -l
>       78
> The first line "No output language(s) specified" (less the "!!!", please) suffices to indicate the syntax error.  The user can more easily consult the manual to learn how to use the program than read 78 lines of output on his terminal.  The "help" obscures the error.  
> Thanks.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira