Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hadoop >> mail # dev >> Hadoop native builds fail on ARM due to -m32


Copy link to this message
-
Re: Hadoop native builds fail on ARM due to -m32
Hi Trevor,

Thanks a lot for identifying a fix for this issue. Please do file a JIRA
under the HADOOP project at issues.apache.org. This mailing list doesn't
deliver attachments, so we can't see the patch you provided. Please attach
the patch to the JIRA that you file.

--
Aaron T. Myers
Software Engineer, Cloudera

On Tue, May 10, 2011 at 5:13 PM, Trevor Robinson <[EMAIL PROTECTED]>wrote:

> Is the native build failing on ARM (where gcc doesn't support -m32) a
> known issue, and is there a workaround or fix pending?
>
> $ ant -Dcompile.native=true
> ...
>      [exec] make  all-am
>      [exec] make[1]: Entering directory
> `/home/trobinson/dev/hadoop-common/build/native/Linux-arm-32'
>      [exec] /bin/bash ./libtool  --tag=CC   --mode=compile gcc
> -DHAVE_CONFIG_H -I. -I/home/trobinson/dev/hadoop-common/src/native
> -I/usr/lib/jvm/java-6-openjdk/include
> -I/usr/lib/jvm/java-6-openjdk/include/linux
> -I/home/trobinson/dev/hadoop-common/src/native/src
> -Isrc/org/apache/hadoop/io/compress/zlib
> -Isrc/org/apache/hadoop/security -Isrc/org/apache/hadoop/io/nativeio/
> -g -Wall -fPIC -O2 -m32 -g -O2 -MT ZlibCompressor.lo -MD -MP -MF
> .deps/ZlibCompressor.Tpo -c -o ZlibCompressor.lo `test -f
> 'src/org/apache/hadoop/io/compress/zlib/ZlibCompressor.c' || echo
>
> '/home/trobinson/dev/hadoop-common/src/native/'`src/org/apache/hadoop/io/compress/zlib/ZlibCompressor.c
>      [exec] libtool: compile:  gcc -DHAVE_CONFIG_H -I.
> -I/home/trobinson/dev/hadoop-common/src/native
> -I/usr/lib/jvm/java-6-openjdk/include
> -I/usr/lib/jvm/java-6-openjdk/include/linux
> -I/home/trobinson/dev/hadoop-common/src/native/src
> -Isrc/org/apache/hadoop/io/compress/zlib
> -Isrc/org/apache/hadoop/security -Isrc/org/apache/hadoop/io/nativeio/
> -g -Wall -fPIC -O2 -m32 -g -O2 -MT ZlibCompressor.lo -MD -MP -MF
> .deps/ZlibCompressor.Tpo -c
>
> /home/trobinson/dev/hadoop-common/src/native/src/org/apache/hadoop/io/compress/zlib/ZlibCompressor.c
>  -fPIC -DPIC -o .libs/ZlibCompressor.o
>      [exec] make[1]: Leaving directory
> `/home/trobinson/dev/hadoop-common/build/native/Linux-arm-32'
>      [exec] cc1: error: unrecognized command line option "-m32"
>      [exec] make[1]: *** [ZlibCompressor.lo] Error 1
>      [exec] make: *** [all] Error 2
>
> This closest issue I can find is
> https://issues.apache.org/jira/browse/HADOOP-6258 (Native compilation
> assumes gcc), as well as other issues regarding where and how to
> specify -m32/64. However, there doesn't seem to be a specific issue
> covering build failure on systems using gcc where the gcc target does
> not support -m32/64 (such as ARM).
>
> I've attached a patch that disables specifying -m$(JVM_DATA_MODEL)
> when $host_cpu starts with "arm". (For instance, host_cpu = armv7l for
> my system.) To any maintainers on this list, please let me know if
> you'd like me to open a new issue and/or attach this patch to an
> issue.
>
> Thanks,
> Trevor
>