[ https://issues.apache.org/jira/browse/ARROW-2193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16372141#comment-16372141 ]
Wes McKinney commented on ARROW-2193: ------------------------------------- For the record, here is the command line that's being generated for me {code} /usr/bin/clang++-5.0 -ggdb -O0 -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-deprecated -Wno-weak-vtables -Wno-padded -Wno-comma -Wno-unused-parameter -Wno-unused-template -Wno-undef -Wno-shadow -Wno-switch-enum -Wno-exit-time-destructors -Wno-global-constructors -Wno-weak-template-vtables -Wno-undefined-reinterpret-cast -Wno-implicit-fallthrough -Wno-unreachable-code-return -Wno-float-equal -Wno-missing-prototypes -Wno-old-style-cast -Wno-covered-switch-default -Wno-cast-align -Wno-vla-extension -Wno-shift-sign-overflow -Wno-used-but-marked-unused -Wno-missing-variable-declarations -Wno-gnu-zero-variadic-macro-arguments -Wconversion -Wno-sign-conversion -Wno-disabled-macro-expansion -Wno-gnu-folding-constant -Wno-reserved-id-macro -Wno-range-loop-analysis -Wno-double-promotion -Wno-undefined-func-template -Wno-zero-as-null-pointer-constant -Wno-unknown-warning-option -Werror -std=c++11 -msse3 -maltivec -Werror -Qunused-arguments -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -fPIC -g -rdynamic src/plasma/CMakeFiles/plasma_store.dir/store.cc.o -o debug/plasma_store -Wl,-rpath,/home/wesm/cpp-toolchain/lib: -lrt debug/libplasma.a debug/libarrow.a -lrt orc_ep-install/lib/liborc.a ../thirdparty/protobuf_ep-install/lib/libprotobuf.a /home/wesm/cpp-toolchain/lib/libzstd.a /home/wesm/cpp-toolchain/lib/libz.a /home/wesm/cpp-toolchain/lib/libsnappy.a /home/wesm/cpp-toolchain/lib/liblz4.a /home/wesm/cpp-toolchain/lib/libbrotlidec.a /home/wesm/cpp-toolchain/lib/libbrotlienc.a /home/wesm/cpp-toolchain/lib/libbrotlicommon.a -lpthread /home/wesm/cpp-toolchain/lib/libboost_system.so /home/wesm/cpp-toolchain/lib/libboost_filesystem.so /home/wesm/cpp-toolchain/lib/libflatbuffers.a -lpthread && : {code} The linker problem isn't isolated to clang, here it is with gcc-4.9: {code} /usr/bin/g++-4.9 -ggdb -O0 -Wall -Wconversion -Wno-sign-conversion -Wno-unknown-warning-option -Werror -std=c++11 -msse3 -Werror -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -fPIC -g -rdynamic src/plasma/CMakeFiles/plasma_store.dir/store.cc.o -o debug/plasma_store -Wl,-rpath,/home/wesm/cpp-toolchain/lib: -lrt debug/libplasma.a debug/libarrow.a -lrt orc_ep-install/lib/liborc.a ../thirdparty/protobuf_ep-install/lib/libprotobuf.a /home/wesm/cpp-toolchain/lib/libzstd.a /home/wesm/cpp-toolchain/lib/libz.a /home/wesm/cpp-toolchain/lib/libsnappy.a /home/wesm/cpp-toolchain/lib/liblz4.a /home/wesm/cpp-toolchain/lib/libbrotlidec.a /home/wesm/cpp-toolchain/lib/libbrotlienc.a /home/wesm/cpp-toolchain/lib/libbrotlicommon.a -lpthread /home/wesm/cpp-toolchain/lib/libboost_system.so /home/wesm/cpp-toolchain/lib/libboost_filesystem.so /home/wesm/cpp-toolchain/lib/libflatbuffers.a -lpthread && : {code} I guess because no Boost symbols are used that the binary produced by gcc does not have the runtime dependency on the .so files: {code} $ ldd debug/plasma_store linux-vdso.so.1 => (0x00007ffd8390b000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9ab8354000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9ab8041000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9ab7d3b000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9ab7b24000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ab775b000) /lib64/ld-linux-x86-64.so.2 (0x00007f9ab8572000) {code} But the Boost libraries shouldn't be passed to the linker at all > [Plasma] plasma_store forks endlessly > ------------------------------------- > > Key: ARROW-2193 > URL: https://issues.apache.org/jira/browse/ARROW-2193 > Project: Apache Arrow > Issue Type: Bug > Components: Plasma (C++) > Reporter: Antoine Pitrou > Priority: Major > Fix For: 0.9.0 > > > I'm not sure why, but when I run the pyarrow test suite (for example > {{py.test pyarrow/tests/test_plasma.py}}), plasma_store forks endlessly: > {code:bash} > $ ps fuwww > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > [...] > antoine 27869 12.0 0.4 863208 68976 pts/7 S 13:41 0:01 > /home/antoine/miniconda3/envs/pyarrow/bin/python > /home/antoine/arrow/python/pyarrow/plasma_store -s /tmp/plasma_store40209423 > -m 100000000 > antoine 27885 13.0 0.4 863076 68560 pts/7 S 13:41 0:01 \_ > /home/antoine/miniconda3/envs/pyarrow/bin/python > /home/antoine/arrow/python/pyarrow/plasma_store -s /tmp/plasma_store40209423 > -m 100000000 > antoine 27901 12.1 0.4 863076 68320 pts/7 S 13:41 0:01 \_ > /home/antoine/miniconda3/envs/pyarrow/bin/python > /home/antoine/arrow/python/pyarrow/plasma_store -s /tmp/plasma_store40209423 > -m 100000000 > antoine 27920 13.6 0.4 863208 68868 pts/7 S 13:41 0:01 \_ > /home/antoine/miniconda3/envs/pyarrow/bin/python > /home/antoine/arrow/python/pyarrow/plasma_store -s /tmp/plasma_store40209423 > -m 100000000 > [etc.] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)