You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Chuan Liu (JIRA)" <ji...@apache.org> on 2012/07/11 00:44:34 UTC

[jira] [Updated] (HADOOP-8580) ant compile-native fails with automake version 1.11.3

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

Chuan Liu updated HADOOP-8580:
------------------------------

    Attachment: HADOOP-8580-branch-1.patch

libtool is supposed to only work with 'bash' as its header defines:
{code}
#! /bin/bash
{code}

In Hadoop build.xml, we use 'sh' to execute 'libtool'. On many systems, 'sh' is linked to 'bash'. On Ubuntu, 'sh' is linked to 'dash'. Using 'dash' to run 'libtool' results this build error. The patch modifies build.xml to involve 'bash' directly.
                
> ant compile-native fails with automake version 1.11.3
> -----------------------------------------------------
>
>                 Key: HADOOP-8580
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8580
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Eugene Koontz
>         Attachments: HADOOP-8580-branch-1.patch
>
>
> The following:
> {code}
> ant -d -v -DskipTests -Dcompile.native=true clean compile-native
> {code}
> works with GNU automake version 1.11.1, but fails with automake version 1.11.3. 
> Relevant lines of failure seem to be these:
> {code}
> [exec] make[1]: Leaving directory `/tmp/hadoop-common/build/native/Linux-amd64-64'
>      [exec] Current OS is Linux
>      [exec] Executing 'sh' with arguments:
>      [exec] '/tmp/hadoop-common/build/native/Linux-amd64-64/libtool'
>      [exec] '--mode=install'
>      [exec] 'cp'
>      [exec] '/tmp/hadoop-common/build/native/Linux-amd64-64/libhadoop.la'
>      [exec] '/tmp/hadoop-common/build/native/Linux-amd64-64/lib'
>      [exec] 
>      [exec] The ' characters around the executable and arguments are
>      [exec] not part of the command.
>      [exec] /tmp/hadoop-common/build/native/Linux-amd64-64/libtool: 3212: /tmp/hadoop-common/build/native/Linux-amd64-64/libtool: install_prog+=cp: not found
>      [exec] /tmp/hadoop-common/build/native/Linux-amd64-64/libtool: 3232: /tmp/hadoop-common/build/native/Linux-amd64-64/libtool: files+= /tmp/hadoop-common/build/native/Linux-amd64-64/libhadoop.la: not found
>      [exec] libtool: install: you must specify an install program
>      [exec] libtool: install: Try `libtool --help --mode=install' for more information.
>   [antcall] Exiting /tmp/hadoop-common/build.xml.
> BUILD FAILED
> {code}
> Created transcript showing entire output of the above ant command for both automake 1.11.1 (successful) versus 1.11.3 (failed) here:
> https://gist.github.com/3078988

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira