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)

Reply via email to