Skip to content

Build failure with VELOX_ENABLE_AGGREGATES=OFF #14244

@kou

Description

@kou

Bug description

If we build Velox with -DVELOX_ENABLE_AGGREGATES=OFF, we can't build Velox. Because velox_functions_prestosql_aggregates_sfm that isn't built with -DVELOX_ENABLE_AGGREGATES=OFF is referred.

#14152 is related.

System information

Velox System Info v0.0.2
Commit: a10b8d5
CMake Version: 3.31.6
System: Linux-6.12.33+deb13-amd64
Arch: x86_64
C++ Compiler: /bin/clang++-17
C++ Compiler Version: 17.0.6
C Compiler: /bin/clang-17
C Compiler Version: 17.0.6
CMake Prefix Path: /usr/local;/usr;/;/usr;/usr/local;/usr/X11R6;/usr/pkg;/opt

Relevant logs

FAILED: velox/serializers/tests/velox_serializer_test 
: && /bin/clang++-17 -mavx2 -mfma -mavx -mf16c -mlzcnt -mbmi2 -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -DFOLLY_CFG_NO_COROUTINES -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis          -Wno-mismatched-tags          -Wno-nullability-completeness -g -latomic    -Wl,-export-dynamic -Xlinker --dependency-file=velox/serializers/tests/CMakeFiles/velox_serializer_test.dir/link.d velox/serializers/tests/CMakeFiles/velox_serializer_test.dir/CompactRowSerializerTest.cpp.o velox/serializers/tests/CMakeFiles/velox_serializer_test.dir/PrestoOutputStreamListenerTest.cpp.o velox/serializers/tests/CMakeFiles/velox_serializer_test.dir/PrestoSerializerTest.cpp.o velox/serializers/tests/CMakeFiles/velox_serializer_test.dir/UnsafeRowSerializerTest.cpp.o -o velox/serializers/tests/velox_serializer_test  velox/serializers/libvelox_presto_serializer.a  velox/vector/tests/utils/libvelox_vector_test_lib.a  velox/vector/fuzzer/libvelox_vector_fuzzer.a  velox/row/libvelox_row_fast.a  /usr/lib/x86_64-linux-gnu/libgtest.a  /usr/lib/x86_64-linux-gnu/libgtest_main.a  /usr/lib/x86_64-linux-gnu/libglog.so  /usr/lib/x86_64-linux-gnu/libgtest.a  velox/vector/fuzzer/libvelox_constrained_vector_generator.a  velox/vector/fuzzer/libvelox_vector_fuzzer_util.a  velox/functions/prestosql/types/libvelox_presto_types.a  velox/common/fuzzer/libvelox_constrained_input_generators.a  velox/functions/prestosql/types/fuzzer_utils/libvelox_presto_types_fuzzer_utils.a  velox/functions/prestosql/registration/libvelox_functions_prestosql.a  velox/functions/prestosql/libvelox_functions_prestosql_impl.a  velox/functions/prestosql/types/libvelox_presto_types.a  velox/common/fuzzer/libvelox_constrained_input_generators.a  velox/functions/prestosql/types/fuzzer_utils/libvelox_presto_types_fuzzer_utils.a  velox/functions/prestosql/registration/libvelox_functions_prestosql.a  velox/functions/prestosql/libvelox_functions_prestosql_impl.a  velox/functions/lib/libvelox_functions_lib_date_time_formatter.a  velox/common/fuzzer/libvelox_common_fuzzer_util.a  -lvelox_functions_prestosql_aggregates_sfm  velox/functions/lib/libvelox_is_null_functions.a  velox/functions/prestosql/json/libvelox_functions_json.a  /var/tmp/local/lib/libsimdjson.a  velox/common/hyperloglog/libvelox_common_hyperloglog.a  velox/external/md5/libvelox_external_md5.a  _deps/libstemmer/src/libstemmer/libstemmer.a  velox/functions/prestosql/geospatial/libvelox_functions_geo.a  velox/functions/lib/libvelox_functions_lib.a  velox/expression/libvelox_expression.a  velox/core/libvelox_core.a  velox/vector/arrow/libvelox_arrow_bridge.a  velox/connectors/libvelox_connector.a  velox/expression/libvelox_expression_functions.a  velox/expression/type_calculation/libvelox_type_calculation.a  velox/expression/signature_parser/libvelox_signature_parser.a  /lib/x86_64-linux-gnu/libdouble-conversion.so.3.1  velox/functions/lib/libvelox_functions_util.a  velox/row/libvelox_row_fast.a  velox/vector/libvelox_vector.a  velox/row/libvelox_row_fast.a  velox/vector/libvelox_vector.a  velox/type/libvelox_type.a  velox/common/memory/libvelox_memory.a  velox/common/time/libvelox_time.a  velox/buffer/libvelox_buffer.a  velox/type/tz/libvelox_type_tz.a  velox/common/base/libvelox_common_base.a  velox/common/base/libvelox_exception.a  velox/common/serialization/libvelox_serialization.a  velox/common/config/libvelox_common_config.a  velox/common/testutil/libvelox_test_util.a  velox/common/process/libvelox_process.a  velox/common/caching/libvelox_caching.a  velox/common/compression/libvelox_common_compression.a  velox/common/file/libvelox_file.a  velox/type/libvelox_type.a  velox/common/memory/libvelox_memory.a  velox/common/time/libvelox_time.a  velox/buffer/libvelox_buffer.a  velox/type/tz/libvelox_type_tz.a  velox/common/base/libvelox_common_base.a  velox/common/base/libvelox_exception.a  velox/common/serialization/libvelox_serialization.a  velox/common/config/libvelox_common_config.a  velox/common/testutil/libvelox_test_util.a  velox/common/process/libvelox_process.a  velox/common/caching/libvelox_caching.a  velox/common/compression/libvelox_common_compression.a  velox/common/file/libvelox_file.a  velox/common/encode/libvelox_encode.a  velox/external/tzdb/libvelox_external_tzdb.a  velox/external/date/libvelox_external_date.a  -pthread  -L/usr/lib/x86_64-linux-gnu  -lre2  -labsl_log_internal_check_op  -Wl,--push-state,--as-needed  -Wl,--pop-state  -labsl_log_severity  -labsl_log_internal_conditions  -labsl_log_internal_message  -labsl_examine_stack  -labsl_log_internal_format  -labsl_log_internal_proto  -labsl_log_internal_nullguard  -labsl_log_internal_log_sink_set  -labsl_log_internal_globals  -labsl_log_globals  -labsl_log_sink  -labsl_log_entry  -labsl_strerror  -labsl_vlog_config_internal  -labsl_log_internal_fnmatch  -labsl_flags_internal  -labsl_flags_marshalling  -labsl_flags_reflection  -labsl_flags_private_handle_accessor  -labsl_flags_commandlineflag  -labsl_flags_commandlineflag_internal  -labsl_flags_config  -labsl_flags_program_name  -labsl_raw_logging_internal  -labsl_cord  -labsl_cordz_info  -labsl_cord_internal  -labsl_cordz_functions  -labsl_cordz_handle  -labsl_crc_cord_state  -labsl_crc32c  -labsl_crc_internal  -labsl_crc_cpu_detect  -labsl_raw_hash_set  -labsl_hashtablez_sampler  -labsl_exponential_biased  -labsl_hash  -labsl_city  -labsl_bad_variant_access  -labsl_low_level_hash  -labsl_throw_delegate  -labsl_bad_optional_access  -labsl_str_format_internal  -labsl_synchronization  -labsl_graphcycles_internal  -labsl_kernel_timeout_internal  -labsl_stacktrace  -labsl_symbolize  -labsl_debugging_internal  -labsl_demangle_internal  -labsl_demangle_rust  -labsl_decode_rust_punycode  -labsl_utf8_for_code_point  -labsl_malloc_internal  -labsl_time  -labsl_civil_time  -labsl_strings  -labsl_strings_internal  -labsl_string_view  -labsl_base  -latomic  -lrt  -labsl_spinlock_wait  -labsl_int128  -labsl_log_severity  -labsl_log_internal_conditions  -labsl_log_internal_message  -labsl_examine_stack  -labsl_log_internal_format  -labsl_log_internal_proto  -labsl_log_internal_nullguard  -labsl_log_internal_log_sink_set  -labsl_log_internal_globals  -labsl_log_globals  -labsl_log_sink  -labsl_log_entry  -labsl_strerror  -labsl_vlog_config_internal  -labsl_log_internal_fnmatch  -labsl_flags_internal  -labsl_flags_marshalling  -labsl_flags_reflection  -labsl_flags_private_handle_accessor  -labsl_flags_commandlineflag  -labsl_flags_commandlineflag_internal  -labsl_flags_config  -labsl_flags_program_name  -labsl_raw_logging_internal  -labsl_cord  -labsl_cordz_info  -labsl_cord_internal  -labsl_cordz_functions  -labsl_cordz_handle  -labsl_crc_cord_state  -labsl_crc32c  -labsl_crc_internal  -labsl_crc_cpu_detect  -labsl_raw_hash_set  -labsl_hashtablez_sampler  -labsl_exponential_biased  -labsl_hash  -labsl_city  -labsl_bad_variant_access  -labsl_low_level_hash  -labsl_throw_delegate  -labsl_bad_optional_access  -labsl_str_format_internal  -labsl_synchronization  -labsl_graphcycles_internal  -labsl_kernel_timeout_internal  -labsl_stacktrace  -labsl_symbolize  -labsl_debugging_internal  -labsl_demangle_internal  -labsl_demangle_rust  -labsl_decode_rust_punycode  -labsl_utf8_for_code_point  -labsl_malloc_internal  -labsl_time  -labsl_civil_time  -labsl_strings  -labsl_strings_internal  -labsl_string_view  -labsl_base  -latomic  -lrt  -labsl_spinlock_wait  -labsl_int128  -labsl_time_zone  velox/flag_definitions/libvelox_flag_definitions.a  /usr/lib/x86_64-linux-gnu/libgflags.so.2.2.2  velox/common/base/libvelox_status.a  /usr/lib/x86_64-linux-gnu/liblz4.so  /usr/lib/x86_64-linux-gnu/libglog.so  _deps/folly-build/libfolly.a  _deps/boost-build/libs/random/libboost_random.a  _deps/boost-build/libs/context/libboost_context.a  _deps/boost-build/libs/filesystem/libboost_filesystem.a  _deps/boost-build/libs/program_options/libboost_program_options.a  _deps/boost-build/libs/thread/libboost_thread.a  _deps/boost-build/libs/atomic/libboost_atomic.a  _deps/boost-build/libs/date_time/libboost_date_time.a  _deps/boost-build/libs/container/libboost_container.a  _deps/boost-build/libs/chrono/libboost_chrono.a  _deps/boost-build/libs/exception/libboost_exception.a  /usr/lib/x86_64-linux-gnu/libdouble-conversion.so  /usr/lib/x86_64-linux-gnu/libgflags.so.2.2.2  -lpthread  /usr/lib/x86_64-linux-gnu/libglog.so  /usr/lib/x86_64-linux-gnu/libevent.so  /usr/lib/x86_64-linux-gnu/libz.so  /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/x86_64-linux-gnu/libcrypto.so  /usr/lib/x86_64-linux-gnu/libbz2.so  /usr/lib/x86_64-linux-gnu/liblzma.so  /usr/lib/x86_64-linux-gnu/liblz4.so  /usr/lib/x86_64-linux-gnu/libzstd.so  /usr/lib/x86_64-linux-gnu/libsnappy.so  /usr/lib/x86_64-linux-gnu/libsodium.so  -ldl  /usr/lib/x86_64-linux-gnu/libunwind.so  /usr/lib/x86_64-linux-gnu/libfmt.so.10.1.0  lib/libgeos.a && :
/bin/ld: cannot find -lvelox_functions_prestosql_aggregates_sfm: No such file or directory
clang++-17: error: linker command failed with exit code 1 (use -v to see invocation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageNewly created issue that needs attention.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions