[
https://issues.apache.org/jira/browse/ARROW-2200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16376185#comment-16376185
]
Wes McKinney commented on ARROW-2200:
-------------------------------------
Could you open a pull request and we can discuss there? If the library is
stated as a dependency of {{plasma_static}} then it should not be necessary to
explicitly pass when linking into executables
Let's please vendor this library in the same manner as other ExternalProjects
instead of using git submodules
> 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
> Priority: Major
>
> 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)