You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "paleolimbot (via GitHub)" <gi...@apache.org> on 2023/10/25 14:30:44 UTC
[I] c/driver/sqlite: Driver tests fail to link [arrow-adbc]
paleolimbot opened a new issue, #1222:
URL: https://github.com/apache/arrow-adbc/issues/1222
I can't seem to build the tests for any driver anymore! On MacOS M1 I get:
```bash
cd arrow-adbc/c
mkdir build && cd build
cmake .. -DADBC_BUILD_TESTS=ON -DADBC_DRIVER_SQLITE=ON
cmake --build .
```
```
[build] [100%] Linking CXX executable adbc-driver-sqlite-test
[build] Undefined symbols for architecture arm64:
[build] "testing::Matcher<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&>::Matcher(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
[build] testing::Matcher<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&> testing::internal::MatcherCastImpl<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::CastImpl<true>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::integral_constant<bool, true>, std::__1::integral_constant<bool, true>) in adbc_validation.cc.o
[build] ld: symbol(s) not found for architecture arm64
```
I do see that `adbc_validation` is referenced from the cmake but I'm not familiar with the custom CMake levels of indirection to know if there's a file missing. The complete output is:
<details>
```
deweydunnington@Deweys-MacBook-Air-2 c % mkdir build && cd build
deweydunnington@Deweys-MacBook-Air-2 build % cmake .. -DADBC_BUILD_TESTS=ON -DADBC_DRIVER_SQLITE=ON
-- The C compiler identification is AppleClang 14.0.3.14030022
-- The CXX compiler identification is AppleClang 14.0.3.14030022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CXX_LINKER_SUPPORTS_VERSION_SCRIPT
-- Performing Test CXX_LINKER_SUPPORTS_VERSION_SCRIPT - Failed
-- Found GTest: /opt/homebrew/lib/cmake/GTest/GTestConfig.cmake (found version "1.12.1")
-- Found SQLite3: /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include (found version "3.39.5")
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- ---------------------------------------------------------------------
-- ADBC version: 0.8.0-SNAPSHOT
--
-- Build configuration summary:
-- CMake version: 3.24.1
-- Generator: Unix Makefiles
-- Build type:
-- Source directory: /Users/deweydunnington/Desktop/rscratch/arrow-adbc/c
-- Install prefix: /usr/local
--
-- Compile and link options:
--
-- ADBC_BUILD_WARNING_LEVEL=CHECKIN [default=""]
-- CHECKIN to enable Werror, PRODUCTION otherwise
-- ADBC_CXXFLAGS="" [default=""]
-- Compiler flags to append when compiling ADBC C++ libraries
-- ADBC_GO_BUILD_TAGS="" [default=""]
-- Build tags to append when compiling ADBC Go libraries
-- ADBC_BUILD_STATIC=ON [default=ON]
-- Build static libraries
-- ADBC_BUILD_SHARED=ON [default=ON]
-- Build shared libraries
-- ADBC_PACKAGE_KIND="" [default=""]
-- Arbitrary string that identifies the kind of package
-- (for informational purposes)
-- ADBC_GIT_ID=aafb99601825aaed054f0772f952cd14004a1c04 [default=""]
-- The Arrow git commit id (if any)
-- ADBC_GIT_DESCRIPTION="" [default=""]
-- The Arrow git commit description (if any)
-- ADBC_NO_DEPRECATED_API=OFF [default=OFF]
-- Exclude deprecated APIs from build
-- ADBC_USE_CCACHE=ON [default=ON]
-- Use ccache when compiling (if available)
-- ADBC_USE_PRECOMPILED_HEADERS=OFF [default=OFF]
-- Use precompiled headers when compiling
-- ADBC_ARMV8_ARCH=armv8-a [default=armv8-a|armv8-a+crc+crypto]
-- Arm64 arch and extensions
-- ADBC_ALTIVEC=ON [default=ON]
-- Build with Altivec if compiler has support
-- ADBC_RPATH_ORIGIN=OFF [default=OFF]
-- Build Arrow libraries with RATH set to $ORIGIN
-- ADBC_INSTALL_NAME_RPATH=ON [default=ON]
-- Build Arrow libraries with install_name set to @rpath
-- ADBC_GGDB_DEBUG=ON [default=ON]
-- Pass -ggdb flag to debug builds
--
-- Test and benchmark options:
--
-- ADBC_BUILD_EXAMPLES=OFF [default=OFF]
-- Build the Arrow examples
-- ADBC_BUILD_TESTS=ON [default=OFF]
-- Build the Arrow googletest unit tests
-- ADBC_BUILD_INTEGRATION=OFF [default=OFF]
-- Build the Arrow integration test executables
-- ADBC_BUILD_BENCHMARKS=OFF [default=OFF]
-- Build the Arrow micro benchmarks
-- ADBC_TEST_LINKAGE=shared [default=shared|static]
-- Linkage of Arrow libraries with unit tests executables.
--
-- Lint options:
--
-- ADBC_GENERATE_COVERAGE=OFF [default=OFF]
-- Build with C++ code coverage enabled
--
-- Checks options:
--
-- ADBC_TEST_MEMCHECK=OFF [default=OFF]
-- Run the test suite using valgrind --tool=memcheck
-- ADBC_USE_ASAN=OFF [default=OFF]
-- Enable Address Sanitizer checks
-- ADBC_USE_TSAN=OFF [default=OFF]
-- Enable Thread Sanitizer checks
-- ADBC_USE_UBSAN=OFF [default=OFF]
-- Enable Undefined Behavior sanitizer checks
--
-- Thirdparty toolchain options:
--
-- ADBC_DEPENDENCY_SOURCE=AUTO [default=AUTO|BUNDLED|SYSTEM|CONDA|VCPKG|BREW]
-- Method to use for acquiring arrow's build dependencies
--
-- Advanced developer options:
--
--
-- Project components options:
--
-- ADBC_DRIVER_FLIGHTSQL=OFF [default=OFF]
-- Build the Flight SQL driver
-- ADBC_DRIVER_MANAGER=OFF [default=OFF]
-- Build the driver manager
-- ADBC_DRIVER_POSTGRESQL=OFF [default=OFF]
-- Build the PostgreSQL driver
-- ADBC_DRIVER_SQLITE=ON [default=OFF]
-- Build the SQLite driver
-- ADBC_DRIVER_SNOWFLAKE=OFF [default=OFF]
-- Build the Snowflake driver
-- ADBC_INTEGRATION_DUCKDB=OFF [default=OFF]
-- Build the test suite for DuckDB
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/deweydunnington/Desktop/rscratch/arrow-adbc/c/build
deweydunnington@Deweys-MacBook-Air-2 build % cmake --build .
[ 6%] Building C object vendor/nanoarrow/CMakeFiles/nanoarrow.dir/nanoarrow.c.o
[ 13%] Linking C static library libnanoarrow.a
[ 13%] Built target nanoarrow
[ 20%] Building C object driver/common/CMakeFiles/adbc_driver_common.dir/utils.c.o
[ 26%] Linking C static library libadbc_driver_common.a
[ 26%] Built target adbc_driver_common
[ 33%] Building CXX object driver/common/CMakeFiles/adbc-driver-common-test.dir/utils_test.cc.o
[ 40%] Linking CXX executable adbc-driver-common-test
[ 40%] Built target adbc-driver-common-test
[ 46%] Building CXX object validation/CMakeFiles/adbc_validation_util.dir/adbc_validation_util.cc.o
[ 53%] Linking CXX static library libadbc_validation_util.a
[ 53%] Built target adbc_validation_util
[ 60%] Building CXX object validation/CMakeFiles/adbc_validation.dir/adbc_validation.cc.o
[ 60%] Built target adbc_validation
[ 66%] Building C object driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/sqlite.c.o
[ 73%] Building C object driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/statement_reader.c.o
[ 73%] Built target adbc_driver_sqlite_objlib
[ 80%] Linking C shared library libadbc_driver_sqlite.dylib
[ 80%] Built target adbc_driver_sqlite_shared
[ 86%] Linking C static library libadbc_driver_sqlite.a
[ 86%] Built target adbc_driver_sqlite_static
[ 93%] Building CXX object driver/sqlite/CMakeFiles/adbc-driver-sqlite-test.dir/sqlite_test.cc.o
[100%] Linking CXX executable adbc-driver-sqlite-test
Undefined symbols for architecture arm64:
"testing::Matcher<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&>::Matcher(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
testing::Matcher<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&> testing::internal::MatcherCastImpl<std::__1::basic_string_view<char, std::__1::char_traits<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::CastImpl<true>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::integral_constant<bool, true>, std::__1::integral_constant<bool, true>) in adbc_validation.cc.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [driver/sqlite/adbc-driver-sqlite-test] Error 1
make[1]: *** [driver/sqlite/CMakeFiles/adbc-driver-sqlite-test.dir/all] Error 2
make: *** [all] Error 2
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] c/driver/sqlite: Driver tests fail to link [arrow-adbc]
Posted by "paleolimbot (via GitHub)" <gi...@apache.org>.
paleolimbot closed issue #1222: c/driver/sqlite: Driver tests fail to link
URL: https://github.com/apache/arrow-adbc/issues/1222
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] c/driver/sqlite: Driver tests fail to link [arrow-adbc]
Posted by "paleolimbot (via GitHub)" <gi...@apache.org>.
paleolimbot commented on issue #1222:
URL: https://github.com/apache/arrow-adbc/issues/1222#issuecomment-1779444010
Commeting out `find_package(GTest)` (i.e., forcing a build from source) and `brew install googletest` to upgrade seems to do it 🤷
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org