-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tests fail linking against libarrow.so built in Conda environment #254
Comments
@kou Do you have any idea how to solve this? |
Note that setting |
Thank you for reporting! I can reproduce this on Ubuntu 22.04 with: conda create --name nanoarrow-verify-rc
conda activate nanoarrow-verify-rc
conda config --set channel_priority strict
mamba install -c conda-forge compilers cmake make git xsimd
curl https://dlcdn.apache.org/arrow/arrow-12.0.1/apache-arrow-12.0.1.tar.gz | \
tar -zxf -
mkdir arrow-build && cd arrow-build
cmake ../apache-arrow-12.0.1/cpp -DARROW_FILESYSTEM=ON -DARROW_WITH_ZLIB=ON -DARROW_DEPENDENCY_SOURCE=CONDA
cmake --build . --parallel=$(nproc)
cmake --install . --prefix=${CONDA_PREFIX}
cd ..
git clone https://github.com/apache/arrow-nanoarrow.git arrow-nanoarrow
cd arrow-nanoarrow
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DNANOARROW_BUILD_TESTS=ON -DCMAKE_BUILD_RPATH=${CONDA_PREFIX}/lib
cmake --build . |
(I'm creating an environment to reproduce this...) |
I couldn't reproduce this on Ubuntu 22.04 based on https://app.vagrantup.com/bento/boxes/ubuntu-22.04 ... |
I spent some more time on this and found that if you restart the terminal, activate the requisite conda environment, and do a fresh configure + build of nanoarrow, the problem goes away (however, if you don't do a fresh configure + build of nanoarrow, the linking error persists). It appears that you can't build + install Arrow C++ from the same terminal session (or perhaps conda activation) where you configure and build nanoarrow that links to Arrow C++. As a workaround in case this doesn't fix the problem, #267 lets you pass |
I build Arrow C++ and nanoarrow from different terminal instances, so I doubt this is the issue? |
I haven't been able to reproduce this. I've tried it out with both current and a couple of older versions of arrow, but using the latest nanoarrow. Would it make sense to close this for now but reopen if and when the issue reoccurs? I'm happy to take a look at it when that happens since I'm doing a bit of work right now to improve nanoarrow's CMake anyway. |
I have a Conda environment where I do Arrow development.
When I try to build nanoarrow in that same environment I get linking errors in tests.
nanoarrow is configured using:
Note that all libraries do resolve from the command line:
The text was updated successfully, but these errors were encountered: