Wes McKinney created ARROW-3745:
-----------------------------------
Summary: [C++] CMake passes static libraries multiple times to
linker
Key: ARROW-3745
URL: https://issues.apache.org/jira/browse/ARROW-3745
Project: Apache Arrow
Issue Type: Bug
Components: C#, C++
Affects Versions: 0.11.1
Reporter: Wes McKinney
With {{make array-test}} I see
{code}
[ 97%] Building CXX object src/arrow/CMakeFiles/array-test.dir/array-test.cc.o
cd /home/wesm/code/arrow/cpp/build-test/src/arrow && /usr/bin/ccache
/usr/bin/clang++-6.0 -DARROW_JEMALLOC
-DARROW_JEMALLOC_INCLUDE_DIR=/home/wesm/code/arrow/cpp/build-test/jemalloc_ep-prefix/src/jemalloc_ep/dist//include
-DARROW_WITH_BROTLI -DARROW_WITH_LZ4 -DARROW_WITH_SNAPPY -DARROW_WITH_ZLIB
-DARROW_WITH_ZSTD -isystem /home/wesm/cpp-toolchain/include -isystem
/home/wesm/code/arrow/cpp/build-test/double-conversion_ep/src/double-conversion_ep/include
-isystem /home/wesm/code/arrow/cpp/build-test/jemalloc_ep-prefix/src -isystem
/home/wesm/code/arrow/cpp/thirdparty/hadoop/include
-I/home/wesm/code/arrow/cpp/build-test/src -I/home/wesm/code/arrow/cpp/src
-std=c++11 -Qunused-arguments -ggdb -O0 -Wall -Wno-unknown-warning-option
-msse3 -maltivec -g -std=gnu++11 -o
CMakeFiles/array-test.dir/array-test.cc.o -c
/home/wesm/code/arrow/cpp/src/arrow/array-test.cc
[100%] Linking CXX executable ../../debug/array-test
cd /home/wesm/code/arrow/cpp/build-test/src/arrow &&
/home/wesm/cpp-toolchain/bin/cmake -E cmake_link_script
CMakeFiles/array-test.dir/link.txt --verbose=1
/usr/bin/ccache /usr/bin/clang++-6.0 -std=c++11 -Qunused-arguments -ggdb -O0
-Wall -Wno-unknown-warning-option -msse3 -maltivec -g -rdynamic
CMakeFiles/array-test.dir/array-test.cc.o -o ../../debug/array-test
-Wl,-rpath,/home/wesm/cpp-toolchain/lib ../../debug/libarrow.a
/home/wesm/cpp-toolchain/lib/libgtest_main.a
/home/wesm/cpp-toolchain/lib/libgtest.a -ldl
/home/wesm/cpp-toolchain/lib/libglog.a /home/wesm/cpp-toolchain/lib/libglog.a
/home/wesm/cpp-toolchain/lib/libzstd.a /home/wesm/cpp-toolchain/lib/libzstd.a
/home/wesm/cpp-toolchain/lib/libz.so /home/wesm/cpp-toolchain/lib/libz.so
/home/wesm/cpp-toolchain/lib/libsnappy.a
/home/wesm/cpp-toolchain/lib/libsnappy.a /home/wesm/cpp-toolchain/lib/liblz4.a
/home/wesm/cpp-toolchain/lib/liblz4.a
/home/wesm/cpp-toolchain/lib/libbrotlidec-static.a
/home/wesm/cpp-toolchain/lib/libbrotlidec-static.a
/home/wesm/cpp-toolchain/lib/libbrotlienc-static.a
/home/wesm/cpp-toolchain/lib/libbrotlienc-static.a
/home/wesm/cpp-toolchain/lib/libbrotlicommon-static.a
/home/wesm/cpp-toolchain/lib/libbrotlicommon-static.a
../../double-conversion_ep/src/double-conversion_ep/lib/libdouble-conversion.a
../../double-conversion_ep/src/double-conversion_ep/lib/libdouble-conversion.a
/home/wesm/cpp-toolchain/lib/libboost_system.so
/home/wesm/cpp-toolchain/lib/libboost_filesystem.so
/home/wesm/cpp-toolchain/lib/libboost_regex.so
../../jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a -lpthread
-lrt /usr/lib/x86_64-linux-gnu/libpthread.so
/home/wesm/cpp-toolchain/lib/libgtest_main.a
/home/wesm/cpp-toolchain/lib/libgtest.a
{code}
Note how some of the static libraries are passed multiple times
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)