[ 
https://issues.apache.org/jira/browse/ARROW-5202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francois Saint-Jacques updated ARROW-5202:
------------------------------------------
    Description: 
Test and benchmark binaries should always favor the local non-installed 
libarrow and libarrow_testing.

{code:bash}
$ cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
$ ldd release/arrow-array-test                                
        libarrow_testing.so.14 => 
/home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow_testing.so.14 
(0x00007f8f2b79e000)
        libarrow.so.14 => 
/home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow.so.14 
(0x00007f8f2b063000)

$ ninja install
$ rm -rf * && cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
$ ldd release/arrow-array-test 
        libarrow_testing.so.14 => 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow_testing.so.14 
(0x00007f75d2bda000)
        libarrow.so.14 => 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow.so.14 
(0x00007f75d249f000)
$ readelf -d release/arrow-array-test |grep RPATH
 0x000000000000000f (RPATH)              Library rpath: 
[/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib:/home/fsaintjacques/src/db/arrow/cpp/build/release:/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib]
 

# actual invocation
[1/1] : && /usr/bin/ccache 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/bin/x86_64-conda_cos6-linux-gnu-c++
  -Wno-noexcept-type -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 
-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong 
-fno-plt -O2 -ffunction-sections -pipe -fdiagnostics-color=always -O3 -DNDEBUG  
-Wall -msse4.2  -O3 -DNDEBUG  -Wl,-O2 -Wl,--sort-common -Wl,--as-needed 
-Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections   -rdynamic 
src/arrow/CMakeFiles/arrow-array-test.dir/array-test.cc.o 
src/arrow/CMakeFiles/arrow-array-test.dir/array-binary-test.cc.o 
src/arrow/CMakeFiles/arrow-array-test.dir/array-dict-test.cc.o 
src/arrow/CMakeFiles/arrow-array-test.dir/array-list-test.cc.o 
src/arrow/CMakeFiles/arrow-array-test.dir/array-struct-test.cc.o 
src/arrow/CMakeFiles/arrow-array-test.dir/array-union-test.cc.o  -o 
release/arrow-array-test  
-Wl,-rpath,/home/fsaintjacques/src/db/arrow/cpp/build/release:/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib
 release/libarrow_testing.so.14.0.0 release/libarrow.so.14.0.0 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libdouble-conversion.a 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlienc.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlidec.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlicommon.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libglog.so -ldl 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libdouble-conversion.a 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_system.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_filesystem.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_regex.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgtest_main.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgtest.so 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgmock.so -ldl 
jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a -lrt -pthread 
-Wl,-rpath-link,/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib && :
{code}


  was:
Test and benchmark binaries should always favor the local non-installed 
libarrow and libarrow_testing.

{code:bash}
$ cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
$ ldd release/arrow-array-test                                
        libarrow_testing.so.14 => 
/home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow_testing.so.14 
(0x00007f8f2b79e000)
        libarrow.so.14 => 
/home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow.so.14 
(0x00007f8f2b063000)

$ ninja install
$ rm -rf * && cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
$ ldd release/arrow-array-test 
        libarrow_testing.so.14 => 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow_testing.so.14 
(0x00007f75d2bda000)
        libarrow.so.14 => 
/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow.so.14 
(0x00007f75d249f000)
$ readelf -d release/arrow-array-test |grep RPATH
 0x000000000000000f (RPATH)              Library rpath: 
[/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib:/home/fsaintjacques/src/db/arrow/cpp/build/release:/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib]
 
{code}



> [C++] Test and benchmark libraries library search path subtly affected by 
> installation
> --------------------------------------------------------------------------------------
>
>                 Key: ARROW-5202
>                 URL: https://issues.apache.org/jira/browse/ARROW-5202
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Francois Saint-Jacques
>            Priority: Minor
>             Fix For: 0.14.0
>
>
> Test and benchmark binaries should always favor the local non-installed 
> libarrow and libarrow_testing.
> {code:bash}
> $ cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
> $ ldd release/arrow-array-test                                
>         libarrow_testing.so.14 => 
> /home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow_testing.so.14 
> (0x00007f8f2b79e000)
>         libarrow.so.14 => 
> /home/fsaintjacques/src/db/arrow/cpp/build/release/libarrow.so.14 
> (0x00007f8f2b063000)
> $ ninja install
> $ rm -rf * && cmake -GNinja -DARROW_BUILD_TESTS=ON .. && ninja
> $ ldd release/arrow-array-test 
>         libarrow_testing.so.14 => 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow_testing.so.14 
> (0x00007f75d2bda000)
>         libarrow.so.14 => 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libarrow.so.14 
> (0x00007f75d249f000)
> $ readelf -d release/arrow-array-test |grep RPATH
>  0x000000000000000f (RPATH)              Library rpath: 
> [/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib:/home/fsaintjacques/src/db/arrow/cpp/build/release:/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib]
>  
> # actual invocation
> [1/1] : && /usr/bin/ccache 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/bin/x86_64-conda_cos6-linux-gnu-c++
>   -Wno-noexcept-type -fvisibility-inlines-hidden -std=c++17 
> -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC 
> -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe 
> -fdiagnostics-color=always -O3 -DNDEBUG  -Wall -msse4.2  -O3 -DNDEBUG  
> -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now 
> -Wl,--disable-new-dtags -Wl,--gc-sections   -rdynamic 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-test.cc.o 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-binary-test.cc.o 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-dict-test.cc.o 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-list-test.cc.o 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-struct-test.cc.o 
> src/arrow/CMakeFiles/arrow-array-test.dir/array-union-test.cc.o  -o 
> release/arrow-array-test  
> -Wl,-rpath,/home/fsaintjacques/src/db/arrow/cpp/build/release:/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib
>  release/libarrow_testing.so.14.0.0 release/libarrow.so.14.0.0 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libdouble-conversion.a 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlienc.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlidec.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libbrotlicommon.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libglog.so -ldl 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libdouble-conversion.a 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_system.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_filesystem.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libboost_regex.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgtest_main.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgtest.so 
> /home/fsaintjacques/miniconda/envs/pyarrow-dev/lib/libgmock.so -ldl 
> jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a -lrt -pthread 
> -Wl,-rpath-link,/home/fsaintjacques/miniconda/envs/pyarrow-dev/lib && :
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to