mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-09 08:23:29 +00:00
* link alternator_unit_test against alternator * link schema_loader_test against tools since alternator_unit_test referecens the symbols defined by alternator. let's link the test against the library. otherwise, we'd have following link failure: ``` FAILED: test/boost/alternator_unit_test : && /usr/bin/clang++ -Wall -Werror -Wextra -Wno-error=deprecated-declarations -Wno-c++11-narrowing -Wno-mismatched-tags -Wno-overloaded-virtual -Wno-unsupported-friend -Wno-unused-parameter -Wno-missing-field-initializers -Wno-deprecated-copy -Wno-ignored-qualifiers -march=westmere -fprofile-instr-generate="/home/kefu/dev/scylladb/build/cmake/profiles/%m.profraw" -O0 -g -gz -Wl,--build-id=sha1 -fuse-ld=lld -fprofile-instr-generate="/home/kefu/dev/scylladb/build/cmake/profiles/%m.profraw" test/boost/CMakeFiles/alternator_unit_test.dir/alternator_unit_test.cc.o -o test/boost/alternator_unit_test test/lib/libtest-lib.a seastar/libseastar.a /usr/lib64/libxxhash.so /usr/lib64/libboost_unit_test_framework.so.1.78.0 libscylla-main.a /usr/lib64/libabsl_hash.so.2206.0.0 /usr/lib64/libabsl_city.so.2206.0.0 /usr/lib64/libabsl_bad_variant_access.so.2206.0.0 /usr/lib64/libabsl_low_level_hash.so.2206.0.0 -Xlinker --push-state -Xlinker --whole-archive auth/libscylla_auth.a -Xlinker --pop-state /usr/lib64/libcrypt.so cdc/libcdc.a compaction/libcompaction.a mutation_writer/libmutation_writer.a -Xlinker --push-state -Xlinker --whole-archive dht/libscylla_dht.a -Xlinker --pop-state gms/libgms.a types/libtypes.a index/libindex.a -Xlinker --push-state -Xlinker --whole-archive locator/libscylla_locator.a -Xlinker --pop-state sstables/libsstables.a /usr/lib64/libz.so readers/libreaders.a schema/libschema.a -Xlinker --push-state -Xlinker --whole-archive tracing/libscylla_tracing.a -Xlinker --pop-state service/libservice.a -lsystemd raft/libraft.a repair/librepair.a streaming/libstreaming.a replica/libreplica.a db/libdb.a mutation/libmutation.a data_dictionary/libdata_dictionary.a cql3/libcql3.a transport/libtransport.a cql3/libcql3.a transport/libtransport.a lang/liblang.a /usr/lib64/liblua-5.4.so -lm /usr/lib64/libsnappy.so.1.1.9 /usr/lib64/libabsl_raw_hash_set.so.2206.0.0 /usr/lib64/libabsl_bad_optional_access.so.2206.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2206.0.0 /usr/lib64/libabsl_exponential_biased.so.2206.0.0 /usr/lib64/libabsl_synchronization.so.2206.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2206.0.0 /usr/lib64/libabsl_stacktrace.so.2206.0.0 /usr/lib64/libabsl_symbolize.so.2206.0.0 /usr/lib64/libabsl_malloc_internal.so.2206.0.0 /usr/lib64/libabsl_debugging_internal.so.2206.0.0 /usr/lib64/libabsl_demangle_internal.so.2206.0.0 /usr/lib64/libabsl_time.so.2206.0.0 /usr/lib64/libabsl_strings.so.2206.0.0 /usr/lib64/libabsl_int128.so.2206.0.0 /usr/lib64/libabsl_throw_delegate.so.2206.0.0 /usr/lib64/libabsl_strings_internal.so.2206.0.0 /usr/lib64/libabsl_base.so.2206.0.0 /usr/lib64/libabsl_spinlock_wait.so.2206.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2206.0.0 /usr/lib64/libabsl_log_severity.so.2206.0.0 /usr/lib64/libabsl_civil_time.so.2206.0.0 /usr/lib64/libabsl_time_zone.so.2206.0.0 rust/libwasmtime_bindings.a rust/rust-debug/librust_combined.a /usr/lib64/libdeflate.so utils/libutils.a seastar/libseastar.a /usr/lib64/libboost_program_options.so /usr/lib64/libboost_thread.so /usr/lib64/libboost_chrono.so /usr/lib64/libboost_atomic.so /usr/lib64/libcares.so /usr/lib64/libcryptopp.so /usr/lib64/libfmt.so.9.1.0 /usr/lib64/liblz4.so /usr/lib64/libgnutls.so -latomic /usr/lib64/libsctp.so /usr/lib64/libyaml-cpp.so -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr /usr/lib64/libhwloc.so //usr/lib64/liburing.so /usr/lib64/libnuma.so /usr/lib64/libxxhash.so -lcryptopp /usr/lib64/libboost_regex.so.1.78.0 /usr/lib64/libicui18n.so /usr/lib64/libicuuc.so -ldl && : ld.lld: error: undefined symbol: alternator::internal::get_magnitude_and_precision(std::basic_string_view<char, std::char_traits<char>>) >>> referenced by alternator_unit_test.cc:148 (/home/kefu/dev/scylladb/test/boost/alternator_unit_test.cc:148) >>> test/boost/CMakeFiles/alternator_unit_test.dir/alternator_unit_test.cc.o:(test_magnitude_and_precision::test_method()) >>> referenced by alternator_unit_test.cc:158 (/home/kefu/dev/scylladb/test/boost/alternator_unit_test.cc:158) >>> test/boost/CMakeFiles/alternator_unit_test.dir/alternator_unit_test.cc.o:(test_magnitude_and_precision::test_method()) >>> referenced by alternator_unit_test.cc:160 (/home/kefu/dev/scylladb/test/boost/alternator_unit_test.cc:160) >>> test/boost/CMakeFiles/alternator_unit_test.dir/alternator_unit_test.cc.o:(test_magnitude_and_precision::test_method()) >>> referenced 2 more times ``` also, schema_loader_test references tools::load_schemas(). let's link the test against the library. otherwise, we'd have following link failure: ``` FAILED: test/boost/schema_loader_test : && /usr/bin/clang++ -Wall -Werror -Wextra -Wno-error=deprecated-declarations -Wno-c++11-narrowing -Wno-mismatched-tags -Wno-overloaded-virtual -Wno-unsupported-friend -Wno-unused-parameter -Wno-missing-field-initializers -Wno-deprecated-copy -Wno-ignored-qualifiers -march=westmere -fprofile-instr-generate="/home/kefu/dev/scylladb/build/cmake/profiles/%m.profraw" -O0 -g -gz -Wl,--build-id=sha1 -fuse-ld=lld -fprofile-instr-generate="/home/kefu/dev/scylladb/build/cmake/profiles/%m.profraw" test/boost/CMakeFiles/schema_loader_test.dir/schema_loader_test.cc.o -o test/boost/schema_loader_test test/lib/libtest-lib.a seastar/libseastar.a /usr/lib64/libxxhash.so seastar/libseastar_testing.a libscylla-main.a /usr/lib64/libabsl_hash.so.2206.0.0 /usr/lib64/libabsl_city.so.2206.0.0 /usr/lib64/libabsl_bad_variant_access.so.2206.0.0 /usr/lib64/libabsl_low_level_hash.so.2206.0.0 -Xlinker --push-state -Xlinker --whole-archive auth/libscylla_auth.a -Xlinker --pop-state /usr/lib64/libcrypt.so cdc/libcdc.a compaction/libcompaction.a mutation_writer/libmutation_writer.a -Xlinker --push-state -Xlinker --whole-archive dht/libscylla_dht.a -Xlinker --pop-state gms/libgms.a types/libtypes.a index/libindex.a -Xlinker --push-state -Xlinker --whole-archive locator/libscylla_locator.a -Xlinker --pop-state sstables/libsstables.a /usr/lib64/libz.so readers/libreaders.a schema/libschema.a -Xlinker --push-state -Xlinker --whole-archive tracing/libscylla_tracing.a -Xlinker --pop-state service/libservice.a -lsystemd raft/libraft.a repair/librepair.a streaming/libstreaming.a replica/libreplica.a db/libdb.a mutation/libmutation.a data_dictionary/libdata_dictionary.a cql3/libcql3.a transport/libtransport.a cql3/libcql3.a transport/libtransport.a lang/liblang.a /usr/lib64/liblua-5.4.so -lm /usr/lib64/libsnappy.so.1.1.9 /usr/lib64/libabsl_raw_hash_set.so.2206.0.0 /usr/lib64/libabsl_bad_optional_access.so.2206.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2206.0.0 /usr/lib64/libabsl_exponential_biased.so.2206.0.0 /usr/lib64/libabsl_synchronization.so.2206.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2206.0.0 /usr/lib64/libabsl_stacktrace.so.2206.0.0 /usr/lib64/libabsl_symbolize.so.2206.0.0 /usr/lib64/libabsl_malloc_internal.so.2206.0.0 /usr/lib64/libabsl_debugging_internal.so.2206.0.0 /usr/lib64/libabsl_demangle_internal.so.2206.0.0 /usr/lib64/libabsl_time.so.2206.0.0 /usr/lib64/libabsl_strings.so.2206.0.0 /usr/lib64/libabsl_int128.so.2206.0.0 /usr/lib64/libabsl_throw_delegate.so.2206.0.0 /usr/lib64/libabsl_strings_internal.so.2206.0.0 /usr/lib64/libabsl_base.so.2206.0.0 /usr/lib64/libabsl_spinlock_wait.so.2206.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2206.0.0 /usr/lib64/libabsl_log_severity.so.2206.0.0 /usr/lib64/libabsl_civil_time.so.2206.0.0 /usr/lib64/libabsl_time_zone.so.2206.0.0 rust/libwasmtime_bindings.a rust/rust-debug/librust_combined.a /usr/lib64/libdeflate.so utils/libutils.a /usr/lib64/libxxhash.so -lcryptopp /usr/lib64/libboost_regex.so.1.78.0 /usr/lib64/libicui18n.so /usr/lib64/libicuuc.so /usr/lib64/libboost_unit_test_framework.so.1.78.0 seastar/libseastar.a /usr/lib64/libboost_program_options.so /usr/lib64/libboost_thread.so /usr/lib64/libboost_chrono.so /usr/lib64/libboost_atomic.so /usr/lib64/libcares.so /usr/lib64/libcryptopp.so /usr/lib64/libfmt.so.9.1.0 /usr/lib64/liblz4.so -ldl /usr/lib64/libgnutls.so -latomic /usr/lib64/libsctp.so /usr/lib64/libyaml-cpp.so -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr /usr/lib64/libhwloc.so //usr/lib64/liburing.so /usr/lib64/libnuma.so /usr/lib64/libboost_unit_test_framework.so && : ld.lld: error: undefined symbol: tools::load_schemas(std::basic_string_view<char, std::char_traits<char>>) >>> referenced by schema_loader_test.cc:14 (/home/kefu/dev/scylladb/test/boost/schema_loader_test.cc:14) >>> test/boost/CMakeFiles/schema_loader_test.dir/schema_loader_test.cc.o:(test_empty::do_run_test_case() const) >>> referenced by schema_loader_test.cc:15 (/home/kefu/dev/scylladb/test/boost/schema_loader_test.cc:15) >>> test/boost/CMakeFiles/schema_loader_test.dir/schema_loader_test.cc.o:(test_empty::do_run_test_case() const) >>> referenced by schema_loader_test.cc:19 (/home/kefu/dev/scylladb/test/boost/schema_loader_test.cc:19) >>> test/boost/CMakeFiles/schema_loader_test.dir/schema_loader_test.cc.o:(test_keyspace_only::do_run_test_case() const) >>> referenced 21 more times ``` Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>