Skip to content
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

Package C++ version of rerun-sdk? #18

Closed
traversaro opened this issue Oct 27, 2023 · 7 comments
Closed

Package C++ version of rerun-sdk? #18

traversaro opened this issue Oct 27, 2023 · 7 comments
Labels
question Further information is requested

Comments

@traversaro
Copy link
Contributor

Comment:

Hello @conda-forge/rerun-sdk, thanks a lot for working/maintaining rerun-sdk! I work in a research institute, and I am quite interested in getting people in my group to try rerun-sdk, in particular the upcoming C++ version. However, I would like to point them to a conda-forge package to install, to streamline the installation process. There is any plan to add the C++ package here, either as part of the rerun-sdk package or a separate output?

@traversaro traversaro added the question Further information is requested label Oct 27, 2023
@traversaro
Copy link
Contributor Author

I just realized that at the moment https://github.com/rerun-io/rerun/blob/main/rerun_cpp/CMakeLists.txt does not have any logic for install or generation of CMake config files, so probably before packaging it here that is necessary.

@ruben-arts
Copy link
Contributor

That should definitely be coming to the conda packages!

@traversaro
Copy link
Contributor Author

traversaro commented Oct 31, 2023

I tried to modify rerun to support find_package with:

but it turned out to be more complex that I expected, in particular doing the following on Linux:

mamba create -n rerundev rerun-sdk python cmake make pkg-config ninja compilers libopencv libarrow eigen
mamba activate rerundev 
git clone -b supportfindpackage https://github.com/traversaro/rerun
git clone -b supportfindpackage https://github.com/traversaro/cpp-example-opencv-eigen
cd rerun
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -DRERUN_DOWNLOAD_AND_BUILD_ARROW:BOOL=OFF -DRERUN_INSTALL_ENABLED:BOOL=OFF ..
make -j10 install
cd ../../cpp-example-opencv-eigen
mkdir build
cd build
cmake -DUSE_RERUN_VIA_FIND_PACKAGE:BOOL=ON -DCMAKE_BUILD_TYPE=Release ..
make

fails with:

[ 50%] Linking CXX executable rerun_ext_example
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libarrow.so.1000, needed by /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libGL.so.1, needed by /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Widgets.so.5, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::dense_union(std::vector<std::shared_ptr<arrow::Field>, std::allocator<std::shared_ptr<arrow::Field> > >, std::vector<signed char, std::allocator<signed char> >)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::uint8()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::struct_(std::vector<std::shared_ptr<arrow::Field>, std::allocator<std::shared_ptr<arrow::Field> > > const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ipc::IpcWriteOptions::Defaults()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `vtable for arrow::ArrayBuilder'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::default_memory_pool()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::uint64()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `typeinfo for arrow::DataType'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::int16()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::BasicUnionBuilder::BasicUnionBuilder(arrow::MemoryPool*, std::vector<std::shared_ptr<arrow::ArrayBuilder>, std::allocator<std::shared_ptr<arrow::ArrayBuilder> > > const&, std::shared_ptr<arrow::DataType> const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayData::Make(std::shared_ptr<arrow::DataType>, long, std::vector<std::shared_ptr<arrow::Buffer>, std::allocator<std::shared_ptr<arrow::Buffer> > >, long, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `typeinfo for arrow::ArrayBuilder'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::DataType::ComputeFingerprint[abi:cxx11]() const'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Gui.so.5: undefined reference to `glMatrixMode'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::AllocateResizableBuffer(long, arrow::MemoryPool*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `vtable for arrow::DenseUnionBuilder'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::Reset()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/libopencv_gapi.so.4.8.1: undefined reference to `memcpy@GLIBC_2.14'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::AllocateBuffer(long, arrow::MemoryPool*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::utf8()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::FixedSizeListBuilder::AppendNull()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::int32()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::Status::ToString[abi:cxx11]() const'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::io::BufferOutputStream::Finish()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Core.so.5: undefined reference to `getauxval@GLIBC_2.16'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::float16()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::Resize(long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::int64()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Gui.so.5: undefined reference to `glLoadIdentity'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::schema(std::vector<std::shared_ptr<arrow::Field>, std::allocator<std::shared_ptr<arrow::Field> > >, std::shared_ptr<arrow::KeyValueMetadata const>)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Core.so.5: undefined reference to `clock_gettime@GLIBC_2.17'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::DataType::ComputeMetadataFingerprint[abi:cxx11]() const'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::StructBuilder::StructBuilder(std::shared_ptr<arrow::DataType> const&, arrow::MemoryPool*, std::vector<std::shared_ptr<arrow::ArrayBuilder>, std::allocator<std::shared_ptr<arrow::ArrayBuilder> > >)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::io::BufferOutputStream::Create(long, arrow::MemoryPool*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::BooleanBuilder::AppendValues(unsigned char const*, long, unsigned char const*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ipc::MakeStreamWriter(std::shared_ptr<arrow::io::OutputStream>, std::shared_ptr<arrow::Schema> const&, arrow::ipc::IpcWriteOptions const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `vtable for arrow::NullBuilder'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::FixedSizeListBuilder::FixedSizeListBuilder(arrow::MemoryPool*, std::shared_ptr<arrow::ArrayBuilder> const&, int)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::internal::CountSetBits(unsigned char const*, long, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::Field::WithType(std::shared_ptr<arrow::DataType> const&) const'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::int8()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<arrow::DataType>, bool, std::shared_ptr<arrow::KeyValueMetadata const>)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::float32()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::Table::Make(std::shared_ptr<arrow::Schema>, std::vector<std::shared_ptr<arrow::Array>, std::allocator<std::shared_ptr<arrow::Array> > > const&, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::AppendScalar(arrow::Scalar const&, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayData::Make(std::shared_ptr<arrow::DataType>, long, std::vector<std::shared_ptr<arrow::Buffer>, std::allocator<std::shared_ptr<arrow::Buffer> > >, std::vector<std::shared_ptr<arrow::ArrayData>, std::allocator<std::shared_ptr<arrow::ArrayData> > >, long, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::internal::DieWithMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Gui.so.5: undefined reference to `glOrtho'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::uint16()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `vtable for arrow::ListType'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::fixed_size_list(std::shared_ptr<arrow::Field> const&, int)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::list(std::shared_ptr<arrow::Field> const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::float64()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::boolean()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::DataType::~DataType()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::uint32()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::internal::CopyBitmap(unsigned char const*, long, long, unsigned char*, long)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::list(std::shared_ptr<arrow::DataType> const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::FixedSizeListBuilder::AppendValues(long, unsigned char const*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/./libQt5Gui.so.5: undefined reference to `glLoadMatrixf'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::BooleanBuilder::BooleanBuilder(arrow::MemoryPool*)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ipc::RecordBatchWriter::WriteTable(arrow::Table const&)'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::null()'
/home/traversaro/miniforge3/envs/rerundev/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/envs/rerundev/lib/librerun_sdk.so: undefined reference to `arrow::ArrayBuilder::AppendScalars(std::vector<std::shared_ptr<arrow::Scalar>, std::allocator<std::shared_ptr<arrow::Scalar> > > const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/rerun_ext_example.dir/build.make:153: rerun_ext_example] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/rerun_ext_example.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

So probably I need to understand a bit more how the linking between arrow/rerun-rust/rerun-cpp/qt(?)/opengl works. Anyhow, I am bit out of time on this, so anyone that want to continue to work on this feel free to use this as a starting point if it is useful.

@jleibs
Copy link
Contributor

jleibs commented Oct 31, 2023

Thanks for the pointers, @traversaro

@traversaro
Copy link
Contributor Author

xref: rerun-io/rerun#4579 .

@traversaro
Copy link
Contributor Author

Given #30 (comment) I was thinking on packaging the C++ version of the SDK as its own separate feedstock, anyone has any specific opinion on this?

@traversaro
Copy link
Contributor Author

Given #30 (comment) I was thinking on packaging the C++ version of the SDK as its own separate feedstock, anyone has any specific opinion on this?

Done in conda-forge/staged-recipes#25648 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants