You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Ayappan (JIRA)" <ji...@apache.org> on 2015/04/09 12:26:14 UTC

[jira] [Commented] (MAPREDUCE-6241) Native compilation fails for Checksum.cc due to an incompatibility of assembler register constraint for PowerPC

    [ https://issues.apache.org/jira/browse/MAPREDUCE-6241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14487097#comment-14487097 ] 

Ayappan commented on MAPREDUCE-6241:
------------------------------------

Build fails after applying the patch in ppc64le RHEL7.1 Machine.

     [exec] [ 32%] Building CXX object CMakeFiles/nativetask.dir/main/native/src/util/Checksum.cc.o
     [exec] /usr/bin/c++   -Dnativetask_EXPORTS -DSIMPLE_MEMCPY -fno-strict-aliasing -Wall -Wno-sign-compare -g -O2 -DNDEBUG -fPIC -fPIC -I/home/ayappan/Apache_hadoop/hadoop/hadoop                           -mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/target/native/javah -I/home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-cli                           ent/hadoop-mapreduce-client-nativetask/src/main/native/src -I/home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/                           src/main/native/src/util -I/home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib -I/home/ay                           appan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test -I/home/ayappan/Apache_hadoop/hadoop/hadoop-mapr                           educe-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src -I/home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-                           client-nativetask/target/native -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.7.ael7b_1.ppc64le/include -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.7.ael7b_1.ppc64le/includ                           e/linux -I/usr/local/include -isystem /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/gtest/i                           nclude    -o CMakeFiles/nativetask.dir/main/native/src/util/Checksum.cc.o -c /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-cl                           ient-nativetask/src/main/native/src/util/Checksum.cc

[exec] /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc: In function                            âuint32_t NativeTask::crc32c_sb8(uint32_t, const uint8_t*, size_t)â:
     [exec] /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc:788:14: erro                           r: âcached_cpu_supports_crc32â was not declared in this scope
     [exec]    if (likely(cached_cpu_supports_crc32)) {
     [exec]               ^
     [exec] /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc:779:43: note                           : in definition of macro âlikelyâ
     [exec]  #define likely(x)       __builtin_expect((x),1)
     [exec]                                            ^
     [exec] /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc:789:44: erro                           r: âcrc32c_hardwareâ was not declared in this scope
     [exec]      return crc32c_hardware(crc, buf, length);
     [exec]                                             ^
     [exec] /home/ayappan/Apache_hadoop/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc:796:1: warni                           ng: control reaches end of non-void function [-Wreturn-type]
     [exec]  }
     [exec]  ^
     [exec] make[2]: *** [CMakeFiles/nativetask.dir/main/native/src/util/Checksum.cc.o] Error 1
     [exec] make[1]: *** [CMakeFiles/nativetask.dir/all] Error 2
     [exec] make: *** [all] Error 2


> Native compilation fails for Checksum.cc due to an  incompatibility of assembler register constraint for PowerPC
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-6241
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6241
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 3.0.0
>         Environment: Debian/Jessie, kernel 3.18.5,  ppc64 GNU/Linux
> gcc (Debian 4.9.1-19)
> protobuf 2.6.1
> OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-2)
> OpenJDK Zero VM (build 24.65-b04, interpreted mode)
> source was cloned (and updated) from Apache-Hadoop's git repository 
>            Reporter: Stephan Drescher
>            Assignee: Binglin Chang
>            Priority: Minor
>              Labels: features
>         Attachments: MAPREDUCE-6241.001.patch
>
>
> Issue when using assembler code for performance optimization on the powerpc platform (compiled for 32bit)
> mvn compile -Pnative -DskipTests
> [exec] /usr/bin/c++   -Dnativetask_EXPORTS -m32  -DSIMPLE_MEMCPY -fno-strict-aliasing -Wall -Wno-sign-compare -g -O2 -DNDEBUG -fPIC -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/target/native/javah -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src -I/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/target/native -I/home/hadoop/Java/java7/include -I/home/hadoop/Java/java7/include/linux -isystem /home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/gtest/include    -o CMakeFiles/nativetask.dir/main/native/src/util/Checksum.cc.o -c /home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc
>      [exec] CMakeFiles/nativetask.dir/build.make:744: recipe for target 'CMakeFiles/nativetask.dir/main/native/src/util/Checksum.cc.o' failed
>      [exec] make[2]: Leaving directory '/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/target/native'
>      [exec] CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/nativetask.dir/all' failed
>      [exec] make[1]: Leaving directory '/home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/target/native'
>      [exec] Makefile:76: recipe for target 'all' failed
>      [exec] /home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc: In function ‘void NativeTask::init_cpu_support_flag()’:
> /home/hadoop/Developer/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc:611:14: error: impossible register constraint in ‘asm’
> -->
> "popl %%ebx" : "=a" (eax), [ebx] "=r"(ebx), "=c"(ecx), "=d"(edx) : "a" (eax_in) : "cc");
> <--



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