-
Notifications
You must be signed in to change notification settings - Fork 7.4k
Open
Description
Describe the bug
The 0007-use-vcpkg-mimalloc.patch in the arrow port replaces Arrow's vendored mimalloc build with a find_package(mimalloc) call, but does not add mimalloc::mimalloc to ARROW_BUNDLED_STATIC_LIBS. This causes unresolved mimalloc symbols when a consumer links against Arrow::arrow_static.
Environment
- Linux x64
To Reproduce
Steps to reproduce the behavior:
- download: arrow23_mimalloc_linking.zip
- run ./build.sh
Expected behavior
Build succeeds (as it did for arrow v21.0.0#2)
Failure logs
All requested installations completed successfully in: 18 s
-- Running vcpkg install - done
-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found SnappyAlt: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/libsnappy.a
-- Checking for modules 'libbrotlicommon;libbrotlienc;libbrotlidec'
-- Found libbrotlicommon, version 1.2.0
-- Found libbrotlienc, version 1.2.0
-- Found libbrotlidec, version 1.2.0
-- Found BrotliAlt: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/libbrotlicommon.a
-- Found OpenSSL: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/libcrypto.a (found version "3.6.1")
-- Found ZLIB: optimized;/workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/lib/libz.a;debug;/workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/libz.a (found version "1.3.1")
-- Found BZip2: optimized;/workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/lib/libbz2.a;debug;/workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/libbz2d.a (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Arrow version: 23.0.0
-- Found the Arrow shared library:
-- Found the Arrow import library:
-- Found the Arrow static library: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/lib/libarrow.a
-- Found thrift: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux
-- Found libevent: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/lib/libevent.a
-- Parquet version: 23.0.0
-- Found the Parquet shared library:
-- Found the Parquet import library:
-- Found the Parquet static library: /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/lib/libparquet.a
-- Configuring done (208.9s)
-- Generating done (0.1s)
-- Build files have been written to: /workspace/tmp/issue_2/build
Change Dir: '/workspace/tmp/issue_2/build'
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/usr/bin/cmake -S/workspace/tmp/issue_2 -B/workspace/tmp/issue_2/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /workspace/tmp/issue_2/build/CMakeFiles /workspace/tmp/issue_2/build//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/workspace/tmp/issue_2/build'
/usr/bin/gmake -f CMakeFiles/mylib.dir/build.make CMakeFiles/mylib.dir/depend
gmake[2]: Entering directory '/workspace/tmp/issue_2/build'
cd /workspace/tmp/issue_2/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /workspace/tmp/issue_2 /workspace/tmp/issue_2 /workspace/tmp/issue_2/build /workspace/tmp/issue_2/build /workspace/tmp/issue_2/build/CMakeFiles/mylib.dir/DependInfo.cmake "--color="
gmake[2]: Leaving directory '/workspace/tmp/issue_2/build'
/usr/bin/gmake -f CMakeFiles/mylib.dir/build.make CMakeFiles/mylib.dir/build
gmake[2]: Entering directory '/workspace/tmp/issue_2/build'
[ 50%] Building CXX object CMakeFiles/mylib.dir/mylib.cpp.o
/usr/bin/c++ -Dmylib_EXPORTS -isystem /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/include -isystem /workspace/tmp/issue_2/build/vcpkg_installed/x64-linux/debug/lib/pkgconfig/../../../include -g -std=gnu++20 -fPIC -MD -MT CMakeFiles/mylib.dir/mylib.cpp.o -MF CMakeFiles/mylib.dir/mylib.cpp.o.d -o CMakeFiles/mylib.dir/mylib.cpp.o -c /workspace/tmp/issue_2/mylib.cpp
[100%] Linking CXX shared library libmylib.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/mylib.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -g -Wl,--no-undefined -shared -Wl,-soname,libmylib.so -o libmylib.so CMakeFiles/mylib.dir/mylib.cpp.o vcpkg_installed/x64-linux/debug/lib/libparquet.a vcpkg_installed/x64-linux/debug/lib/libarrow.a vcpkg_installed/x64-linux/debug/lib/libbrotlienc.a vcpkg_installed/x64-linux/debug/lib/libbrotlidec.a vcpkg_installed/x64-linux/debug/lib/libbrotlicommon.a vcpkg_installed/x64-linux/debug/lib/libbz2d.a vcpkg_installed/x64-linux/debug/lib/liblz4d.a vcpkg_installed/x64-linux/debug/lib/libsnappy.a vcpkg_installed/x64-linux/debug/lib/libz.a vcpkg_installed/x64-linux/debug/lib/libzstd.a -lrt vcpkg_installed/x64-linux/debug/lib/libthriftd.a vcpkg_installed/x64-linux/debug/lib/libssl.a vcpkg_installed/x64-linux/debug/lib/libcrypto.a -ldl -lpthread
/usr/bin/ld: vcpkg_installed/x64-linux/debug/lib/libarrow.a(memory_pool.cc.o): in function `arrow::(anonymous namespace)::MimallocAllocator::AllocateAligned(long, long, unsigned char**)':
/workspace/tmp/issue_1/build/vcpkg/buildtrees/arrow/src/e-arrow-23-2cc4f57052.clean/cpp/src/arrow/memory_pool.cc:404:(.text+0x1c42): undefined reference to `mi_malloc_aligned'
/usr/bin/ld: vcpkg_installed/x64-linux/debug/lib/libarrow.a(memory_pool.cc.o): in function `arrow::(anonymous namespace)::MimallocAllocator::ReleaseUnused()':
/workspace/tmp/issue_1/build/vcpkg/buildtrees/arrow/src/e-arrow-23-2cc4f57052.clean/cpp/src/arrow/memory_pool.cc:411:(.text+0x1cac): undefined reference to `mi_collect'
/usr/bin/ld: vcpkg_installed/x64-linux/debug/lib/libarrow.a(memory_pool.cc.o): in function `arrow::(anonymous namespace)::MimallocAllocator::ReallocateAligned(long, long, long, unsigned char**)':
/workspace/tmp/issue_1/build/vcpkg/buildtrees/arrow/src/e-arrow-23-2cc4f57052.clean/cpp/src/arrow/memory_pool.cc:426:(.text+0x1dea): undefined reference to `mi_realloc_aligned'
/usr/bin/ld: vcpkg_installed/x64-linux/debug/lib/libarrow.a(memory_pool.cc.o): in function `arrow::(anonymous namespace)::MimallocAllocator::DeallocateAligned(unsigned char*, long, long)':
/workspace/tmp/issue_1/build/vcpkg/buildtrees/arrow/src/e-arrow-23-2cc4f57052.clean/cpp/src/arrow/memory_pool.cc:438:(.text+0x1f49): undefined reference to `mi_free'
/usr/bin/ld: vcpkg_installed/x64-linux/debug/lib/libarrow.a(memory_pool.cc.o): in function `arrow::(anonymous namespace)::MimallocAllocator::PrintStats()':
/workspace/tmp/issue_1/build/vcpkg/buildtrees/arrow/src/e-arrow-23-2cc4f57052.clean/cpp/src/arrow/memory_pool.cc:442:(.text+0x1fb2): undefined reference to `mi_stats_print_out'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/mylib.dir/build.make:113: libmylib.so] Error 1
gmake[2]: Leaving directory '/workspace/tmp/issue_2/build'
gmake[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/mylib.dir/all] Error 2
gmake[1]: Leaving directory '/workspace/tmp/issue_2/build'
gmake: *** [Makefile:94: all] Error 2
Additional context
Add any other context about the problem here.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels