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

Paul Guo commented on HAWQ-1391:
--------------------------------

I quickly looked the file. Yes that file does not include the s390x support. As 
far as I know hawq was mainly developed on x86 before although the core hawq 
code should be able to compile on some other archs+linux since they are 
originally from postgresql, however libhdfs3 are NOT from postgresql, so it is 
not surprising to see some code (especially low-level interfaces but I suspect 
there are just a few) does not work on other archs.

As to this function, I suspect you could simply hack to return false for 
HWCrc32c::available for x390x on linux if you do not want to add the HW CRC 
code support since it looks like libhdfs will fall back to use the software 
solution as usual.

e.g. src/client/LocalBlockReader.cpp
            if (HWCrc32c::available()) {
                checksum = shared_ptr<Checksum>(new HWCrc32c());
            } else {
                checksum = shared_ptr<Checksum>(new SWCrc32c());
            }

You could discuss more on the dev mail list before filing a JIRA since many 
people does not receive JIRA email notifications. Thanks.

> s390x support for HWCRC32c
> --------------------------
>
>                 Key: HAWQ-1391
>                 URL: https://issues.apache.org/jira/browse/HAWQ-1391
>             Project: Apache HAWQ
>          Issue Type: Bug
>          Components: libhdfs
>            Reporter: ketan
>            Assignee: Ed Espino
>
> Hi ,
> I am in progress building Apache - HAWQ on s390x
> following instruction on
> https://cwiki.apache.org/confluence/display/HAWQ/Build+and+Install
> I am in the build stage i notice that during the build i encounter
> undefined reference to vtable for Hdfs::Internal::HWCrc32c
> On further debugging i observed that  libhdfs3/src/common/HWCRC32c.cpp has 
> not support for s390x.
> My questions are as follows.
> 1) I want to confirm whether does this check happens as part of unit testing 
> of libhdfs3?
> 2) if yes to 1 whether this test is specific to SSE based platforms ?
> 3) can we exactly get some information on what this check does>?
> 4) Is HAWQ source supported on  SSE based platforms only ?  
> Help would be appreciated.
> Adding Log for reference.
> **************************************************
> make[3]: Leaving directory `//incubator-hawq/src/backend/cdb'
> g++ -O3 -std=gnu99  -Wall -Wmissing-prototypes -Wpointer-arith  
> -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv 
> -fno-aggressive-loop-optimizations  -I/usr/include/libxml2 -L../../src/port 
> -L../../src/port -Wl,--as-needed 
> -L/scratch/ecos0013/ketan/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/lib
>  
> -L/scratch/ecos0013/ketan/incubator-hawq/depends/libyarn/build/install/usr/local/hawq/lib
>  -Wl,-rpath,'/usr/local/hawq/lib',--enable-new-dtags -Wl,-E access/SUBSYS.o 
> bootstrap/SUBSYS.o catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o 
> executor/SUBSYS.o foreign/SUBSYS.o lib/SUBSYS.o libpq/SUBSYS.o 
> gp_libpq_fe/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o optimizer/SUBSYS.o 
> port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o 
> storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o resourcemanager/SUBSYS.o 
> ../../src/timezone/SUBSYS.o cdb/SUBSYS.o ../../src/port/libpgport_srv.a 
> -lprotobuf -lboost_system -lboost_date_time -lstdc++ -lhdfs3 -lgsasl -lxml2 
> -ljson-c -levent -lyaml -lsnappy -lbz2 -lrt -lz -lcrypt -ldl -lm -lcurl 
> -lyarn -lkrb5 -lpthread -lthrift -lsnappy -o postgres
> /scratch/ecos0013/ketan/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/lib/libhdfs3.so:
>  undefined reference to `Hdfs::Internal::HWCrc32c::available()'
> /scratch/ecos0013/ketan/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/lib/libhdfs3.so:
>  undefined reference to `vtable for Hdfs::Internal::HWCrc32c'
> collect2: error: ld returned 1 exit status
> make[2]: *** [postgres] Error 1
> make[2]: Leaving directory `incubator-hawq/src/backend'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/incubator-hawq/src'
> make: *** [all] Error 2
> ******************************************************************************
> Regards
> Ketan



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to