[
https://issues.apache.org/jira/browse/HDFS-1920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Trevor Robinson updated HDFS-1920:
----------------------------------
Attachment: hadoop-hdfs-arm.patch
This patch adds a case for ARM to src/c++/libhdfs/m4/apsupport.m4 and omits
-m${JVM_ARCH} from CFLAGS and LDFLAGS if $host_cpu starts with "arm".
> libhdfs does not build for ARM processors
> -----------------------------------------
>
> Key: HDFS-1920
> URL: https://issues.apache.org/jira/browse/HDFS-1920
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: contrib/libhdfs
> Affects Versions: 0.21.0
> Environment: $ gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/lib/arm-linux-gnueabi/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
> Target: arm-linux-gnueabi
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
> 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs
> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> --program-suffix=-4.5 --enable-shared --enable-multiarch
> --with-multiarch-defaults=arm-linux-gnueabi --enable-linker-build-id
> --with-system-zlib --libexecdir=/usr/lib/arm-linux-gnueabi
> --without-included-gettext --enable-threads=posix
> --with-gxx-include-dir=/usr/include/c++/4.5
> --libdir=/usr/lib/arm-linux-gnueabi --enable-nls --with-sysroot=/
> --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes
> --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold
> --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv7-a
> --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror
> --enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi
> --target=arm-linux-gnueabi
> Thread model: posix
> gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
> $ uname -a
> Linux panda0 2.6.38-1002-linaro-omap #3-Ubuntu SMP Fri Apr 15 14:00:54 UTC
> 2011 armv7l armv7l armv7l GNU/Linux
> Reporter: Trevor Robinson
> Attachments: hadoop-hdfs-arm.patch
>
>
> $ ant compile -Dcompile.native=true -Dcompile.c++=1 -Dlibhdfs=1 -Dfusedfs=1
> ...
> create-libhdfs-configure:
> ...
> [exec] configure: error: Unsupported CPU architecture "armv7l"
> Once the CPU arch check is fixed in src/c++/libhdfs/m4/apsupport.m4, then
> next issue is -m32:
> $ ant compile -Dcompile.native=true -Dcompile.c++=1 -Dlibhdfs=1 -Dfusedfs=1
> ...
> compile-c++-libhdfs:
> [exec] /bin/bash ./libtool --tag=CC --mode=compile gcc
> -DPACKAGE_NAME=\"libhdfs\" -DPACKAGE_TARNAME=\"libhdfs\"
> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"libhdfs\ 0.1.0\"
> -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\"
> -DPACKAGE=\"libhdfs\" -DVERSION=\"0.1.0\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -Dsize_t=unsigned\
> int -Dconst=/\*\*/ -Dvolatile=/\*\*/ -I.
> -I/home/trobinson/dev/hadoop-hdfs/src/c++/libhdfs -g -O2 -DOS_LINUX
> -DDSO_DLFCN -DCPU=\"arm\" -m32 -I/usr/lib/jvm/java-6-openjdk/include
> -I/usr/lib/jvm/java-6-openjdk/include/arm -Wall -Wstrict-prototypes -MT
> hdfs.lo -MD -MP -MF .deps/hdfs.Tpo -c -o hdfs.lo
> /home/trobinson/dev/hadoop-hdfs/src/c++/libhdfs/hdfs.c
> [exec] make: Warning: File `.deps/hdfs_write.Po' has modification time
> 2.1 s in the future
> [exec] libtool: compile: gcc -DPACKAGE_NAME=\"libhdfs\"
> -DPACKAGE_TARNAME=\"libhdfs\" -DPACKAGE_VERSION=\"0.1.0\"
> "-DPACKAGE_STRING=\"libhdfs 0.1.0\""
> -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\"
> -DPACKAGE=\"libhdfs\" -DVERSION=\"0.1.0\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-Dsize_t=unsigned
> int" "-Dconst=/**/" "-Dvolatile=/**/" -I.
> -I/home/trobinson/dev/hadoop-hdfs/src/c++/libhdfs -g -O2 -DOS_LINUX
> -DDSO_DLFCN -DCPU=\"arm\" -m32 -I/usr/lib/jvm/java-6-openjdk/include
> -I/usr/lib/jvm/java-6-openjdk/include/arm -Wall -Wstrict-prototypes -MT
> hdfs.lo -MD -MP -MF .deps/hdfs.Tpo -c
> /home/trobinson/dev/hadoop-hdfs/src/c++/libhdfs/hdfs.c -fPIC -DPIC -o
> .libs/hdfs.o
> [exec] cc1: error: unrecognized command line option "-m32"
> [exec] make: *** [hdfs.lo] Error 1
> Here, gcc does not support -m32 for the ARM target, so -m${JVM_ARCH} must be
> omitted from CFLAGS and LDFLAGS.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira