Antoine Pitrou created ARROW-6309:
-------------------------------------

             Summary: [C++] Parquet tests are linked statically
                 Key: ARROW-6309
                 URL: https://issues.apache.org/jira/browse/ARROW-6309
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Antoine Pitrou


For some reason, on Linux Parquet tests are now statically linked with 
{{libparquet}} and {{libarrow}} by default, even though other tests (Arrow, 
Plasma...) are dynamically-linked.

For example:
{code}
$ ldd build-test/debug/parquet-schema-test 
        linux-vdso.so.1 (0x00007ffd376ad000)
        libgtest_main.so => 
/home/antoine/miniconda3/envs/pyarrow/lib/libgtest_main.so (0x00007f3affeaf000)
        libgtest.so => /home/antoine/miniconda3/envs/pyarrow/lib/libgtest.so 
(0x00007f3affde5000)
        libbz2.so.1.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libbz2.so.1.0 (0x00007f3affdd1000)
        liblz4.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/liblz4.so.1 
(0x00007f3aff58d000)
        libsnappy.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libsnappy.so.1 (0x00007f3aff384000)
        libz.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/libz.so.1 
(0x00007f3affdb1000)
        libzstd.so.1.3.7 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libzstd.so.1.3.7 (0x00007f3affd0a000)
        libboost_filesystem.so.1.67.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libboost_filesystem.so.1.67.0 
(0x00007f3aff168000)
        libstdc++.so.6 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libstdc++.so.6 (0x00007f3afeff4000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3afec56000)
        libgcc_s.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libgcc_s.so.1 (0x00007f3affcbb000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3afe865000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007f3afe646000)
        libboost_system.so.1.67.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/./libboost_system.so.1.67.0 
(0x00007f3afe441000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3afe239000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3affc8f000)
{code}

Contrast with e.g.:
{code}
$ ldd build-test/debug/arrow-uri-test 
        linux-vdso.so.1 (0x00007ffe07fb6000)
        libarrow.so.15 => 
/home/antoine/arrow/dev/cpp/build-test/debug/libarrow.so.15 (0x00007f774f340000)
        libboost_system.so.1.67.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libboost_system.so.1.67.0 
(0x00007f774f13b000)
        libgtest_main.so => 
/home/antoine/miniconda3/envs/pyarrow/lib/libgtest_main.so (0x00007f7751723000)
        libgtest.so => /home/antoine/miniconda3/envs/pyarrow/lib/libgtest.so 
(0x00007f7751659000)
        libstdc++.so.6 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libstdc++.so.6 (0x00007f774efc7000)
        libgcc_s.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libgcc_s.so.1 (0x00007f7751645000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f774ebd6000)
        libaws-cpp-sdk-s3.so => 
/home/antoine/miniconda3/envs/pyarrow/lib/libaws-cpp-sdk-s3.so 
(0x00007f774e990000)
        libaws-cpp-sdk-core.so => 
/home/antoine/miniconda3/envs/pyarrow/lib/libaws-cpp-sdk-core.so 
(0x00007f774e893000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f774e68f000)
        liburiparser.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/liburiparser.so.1 (0x00007f77515f2000)
        libbz2.so.1.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libbz2.so.1.0 (0x00007f77515de000)
        liblz4.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/liblz4.so.1 
(0x00007f774e46b000)
        libsnappy.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libsnappy.so.1 (0x00007f774e262000)
        libz.so.1 => /home/antoine/miniconda3/envs/pyarrow/lib/libz.so.1 
(0x00007f77515bc000)
        libzstd.so.1.3.7 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libzstd.so.1.3.7 (0x00007f774e1bd000)
        libboost_filesystem.so.1.67.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/libboost_filesystem.so.1.67.0 
(0x00007f774dfa1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007f774dd82000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f774d9e4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7751503000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f774d7dc000)
        libcurl.so.4 => 
/home/antoine/miniconda3/envs/pyarrow/lib/./libcurl.so.4 (0x00007f7751534000)
        libcrypto.so.1.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/./libcrypto.so.1.1 
(0x00007f774d512000)
        libaws-c-event-stream.so.0unstable => 
/home/antoine/miniconda3/envs/pyarrow/lib/./libaws-c-event-stream.so.0unstable 
(0x00007f775152b000)
        libaws-c-common.so.0unstable => 
/home/antoine/miniconda3/envs/pyarrow/lib/./libaws-c-common.so.0unstable 
(0x00007f774d4ef000)
        libssh2.so.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libssh2.so.1 (0x00007f774d4bd000)
        libssl.so.1.1 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libssl.so.1.1 (0x00007f774d42d000)
        libgssapi_krb5.so.2 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libgssapi_krb5.so.2 
(0x00007f774d3de000)
        libkrb5.so.3 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libkrb5.so.3 (0x00007f774d302000)
        libk5crypto.so.3 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libk5crypto.so.3 
(0x00007f774d2e1000)
        libcom_err.so.3 => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libcom_err.so.3 
(0x00007f774d2db000)
        libaws-checksums.so => 
/home/antoine/miniconda3/envs/pyarrow/lib/././libaws-checksums.so 
(0x00007f774d2cd000)
        libkrb5support.so.0 => 
/home/antoine/miniconda3/envs/pyarrow/lib/./././libkrb5support.so.0 
(0x00007f774d2be000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 
(0x00007f774d0a3000)
{code}

Static linking makes building slower and the test executables larger.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to