Zongheng Yang created ARROW-2200:
------------------------------------

             Summary: Arrow + plasma build issues
                 Key: ARROW-2200
                 URL: https://issues.apache.org/jira/browse/ARROW-2200
             Project: Apache Arrow
          Issue Type: Bug
          Components: Plasma (C++)
            Reporter: Zongheng Yang


I'm looking into Plasma's use of XXH64 hash library, and whether we can replace 
it with google/crc32c.
 
Here's my build 
[change|https://github.com/concretevitamin/arrow/commit/e4abaddf55255bf2e773b1094287bfd99a6dfb69].
 
 
With this change, for some reason, the plasma_static library did NOT get linked 
into libcrc32c.a (which is successfully built), whereas plasma_shared and 
plasma_store did link with it:
 
-----------------------
 » tail ./src/plasma/CMakeFiles/plasma_\{static,shared,store}.dir/link.txt
==> ./src/plasma/CMakeFiles/plasma_static.dir/link.txt <==
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
 qc ../../release/libplasma.a  CMakeFiles/plasma_objlib.dir/client.cc.o 
CMakeFiles/plasma_objlib.dir/common.cc.o 
CMakeFiles/plasma_objlib.dir/eviction_policy.cc.o 
CMakeFiles/plasma_objlib.dir/events.cc.o 
CMakeFiles/plasma_objlib.dir/fling.cc.o CMakeFiles/plasma_objlib.dir/io.cc.o 
CMakeFiles/plasma_objlib.dir/malloc.cc.o 
CMakeFiles/plasma_objlib.dir/plasma.cc.o 
CMakeFiles/plasma_objlib.dir/protocol.cc.o 
CMakeFiles/plasma_objlib.dir/thirdparty/ae/ae.c.o 
CMakeFiles/plasma_objlib.dir/thirdparty/xxhash.cc.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
 ../../release/libplasma.a
 
==> ./src/plasma/CMakeFiles/plasma_shared.dir/link.txt <==
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
 -g -O3 -O3 -DNDEBUG  -Wall -std=c++11 -msse3 -stdlib=libc++  
-Qunused-arguments  -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -fPIC -O3 
-DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup 
 -o ../../release/libplasma.0.0.0.dylib -install_name @rpath/libplasma.0.dylib 
...
../../crc32c_ep/src/crc32c_ep-install/lib/libcrc32c.a ../../release/libarrow.a 
/usr/lib/libpthread.dylib /usr/local/lib/libboost_system-mt.a 
/usr/local/lib/libboost_filesystem-mt.a
 
==> ./src/plasma/CMakeFiles/plasma_store.dir/link.txt <==
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
  -g -O3 -O3 -DNDEBUG  -Wall -std=c++11 -msse3 -stdlib=libc++  
-Qunused-arguments  -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -fPIC -O3 
-DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names  
CMakeFiles/plasma_store.dir/store.cc.o  -o ../../release/plasma_store 
../../release/libplasma.a ../../crc32c_ep/src/crc32c_ep-install/lib/libcrc32c.a 
../../release/libarrow.a /usr/lib/libpthread.dylib 
/usr/local/lib/libboost_system-mt.a /usr/local/lib/libboost_filesystem-mt.a

-----------------------
 
Do you see what's going on?  What am I doing wrong to not have "plasma_static" 
depend on "crc32c_ep"?
 
Any advice will be greatly appreciated,
Zongheng



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to