You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Junegunn Choi (JIRA)" <ji...@apache.org> on 2016/12/21 03:36:58 UTC

[jira] [Created] (HBASE-17352) Fix hbase-assembly build with bash 4

Junegunn Choi created HBASE-17352:
-------------------------------------

             Summary: Fix hbase-assembly build with bash 4
                 Key: HBASE-17352
                 URL: https://issues.apache.org/jira/browse/HBASE-17352
             Project: HBase
          Issue Type: Bug
            Reporter: Junegunn Choi
            Assignee: Junegunn Choi
            Priority: Minor


hbase-assembly fails to build with bash 4.

{noformat}
[DEBUG] Executing command line: [env, bash, -c, cat maven-shared-archive-resources/META-INF/NOTICE \
                  `find /Users/jg/github/hbase/hbase-assembly/target/dependency -iname NOTICE -or -iname NOTICE.txt` \]

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (concat-NOTICE-files) on project hbase-assembly: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (concat-NOTICE-files) on project hbase-assembly: Command execution failed.
{noformat}

The error is caused by the trailing backslash in the bash command for {{concat-NOTICE-files}}. You can see the behavioral difference between bash 3 and 4 with the following snippet.

{code}
$ # Using bash 3
$ /bin/bash -c 'cat <(echo foo) \' && echo good || echo bad
foo
good

$ # Using bash 4
$ /usr/local/bin/bash -c 'cat <(echo foo) \' && echo good || echo bad
foo
cat: \: No such file or directory
bad
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)