Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) Meta Platforms, Inc. and its affiliates.
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -69,7 +69,9 @@ jobs:
libsnappy-dev \
bison \
flex \
libfl-dev
libfl-dev \
libgeos++-dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that libgeos++-dev in Ubuntu 22.04 is broken. /usr/lib/x86_64-linux-gnu/cmake/GEOS/geos-targets.cmake has -DGEOS_INLINE but libgeos++-dev doesn't include geos/geom/Coordinate.inl. Can we use bundled GEOS instead of system GEOS in our CI?

https://github.com/facebookincubator/nimble/actions/runs/16129216181/job/45513155656?pr=202#step:5:2248

FAILED: [code=1] velox/velox/functions/prestosql/geospatial/CMakeFiles/velox_functions_geo.dir/GeometrySerde.cpp.o 
ccache /usr/bin/clang++-15 -DBOOST_CONTAINER_NO_LIB -DBOOST_CONTAINER_STATIC_LINK -DBOOST_CONTEXT_EXPORT="" -DBOOST_CONTEXT_NO_LIB="" -DBOOST_CONTEXT_STATIC_LINK="" -DBOOST_FILESYSTEM_NO_LIB -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_PROGRAM_OPTIONS_STATIC_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_RANDOM_STATIC_LINK -DDISABLE_META_INTERNAL_COMPRESSOR=1 -DGEOS_INLINE -DGFLAGS_IS_A_DLL=0 -DNDEBUG -DUSE_UNSTABLE_GEOS_CPP_API -DVELOX_DISABLE_GOOGLETEST -DVELOX_ENABLE_PARQUET -I/home/runner/work/nimble/nimble/nimble/_build/release -I/home/runner/work/nimble/nimble/nimble/. -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/protobuf-src/src -I/home/runner/work/nimble/nimble/nimble/velox/. -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/fmt-src/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/algorithm/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/array/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/assert/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/config/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/core/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/static_assert/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/throw_exception/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/bind/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/concept_check/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/preprocessor/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/type_traits/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/exception/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/smart_ptr/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/move/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/tuple/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/function/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/iterator/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/detail/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/function_types/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/mpl/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/predef/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/utility/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/io/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/fusion/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/container_hash/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/describe/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/mp11/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/typeof/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/functional/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/optional/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/range/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/conversion/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/regex/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/unordered/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/context/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/pool/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/integer/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/winapi/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/filesystem/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/system/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/variant2/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/program_options/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/any/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/type_index/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/lexical_cast/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/container/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/intrusive/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/numeric/conversion/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/headers/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/crc/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/circular_buffer/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/math/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/random/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/dynamic_bitset/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/multi_index/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/multiprecision/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/uuid/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/tti/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/boost-src/libs/variant/include -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/re2-src -I/home/runner/work/nimble/nimble/nimble/_build/release/_deps/absl-src -isystem /home/runner/work/nimble/nimble/nimble/velox -isystem /home/runner/work/nimble/nimble/nimble/velox/velox/external/xxhash -isystem /home/runner/work/nimble/nimble/nimble/_build/release/_deps/xsimd-src/include -isystem /home/runner/work/nimble/nimble/nimble/velox/velox -isystem /home/runner/work/nimble/nimble/nimble/velox/velox/external -isystem /home/runner/work/nimble/nimble/nimble/_build/release/_deps/folly-src -isystem /home/runner/work/nimble/nimble/nimble/_build/release/_deps/folly-build -isystem /home/runner/work/nimble/nimble/nimble/_build/release/_deps/folly-src/Boost_INCLUDE_DIR-NOTFOUND -isystem /home/runner/work/nimble/nimble/nimble/_build/release/_deps/fastfloat-src/include -isystem /usr/include/libdwarf -isystem /usr/include/geos -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-nullability-completeness -mavx2 -mfma -mavx -mf16c -mlzcnt -mbmi2 -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 -O3 -DNDEBUG -std=gnu++20 -fPIC -fcolor-diagnostics -ffp-contract=off -MD -MT velox/velox/functions/prestosql/geospatial/CMakeFiles/velox_functions_geo.dir/GeometrySerde.cpp.o -MF velox/velox/functions/prestosql/geospatial/CMakeFiles/velox_functions_geo.dir/GeometrySerde.cpp.o.d -o velox/velox/functions/prestosql/geospatial/CMakeFiles/velox_functions_geo.dir/GeometrySerde.cpp.o -c /home/runner/work/nimble/nimble/nimble/velox/velox/functions/prestosql/geospatial/GeometrySerde.cpp
In file included from /home/runner/work/nimble/nimble/nimble/velox/velox/functions/prestosql/geospatial/GeometrySerde.cpp:17:
In file included from /usr/include/geos/geom/CoordinateArraySequence.h:21:
In file included from /usr/include/geos/geom/CoordinateSequence.h:21:
/usr/include/geos/geom/Coordinate.h:164:11: fatal error: 'geos/geom/Coordinate.inl' file not found
# include "geos/geom/Coordinate.inl"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can revert this change because facebookincubator/velox#14103 has been merged.
Now, we can build Velox with set(VELOX_ENABLE_GEO OFF).



- name: "Build"
env:
Expand Down
22 changes: 0 additions & 22 deletions CMake/abseil.cmake

This file was deleted.

25 changes: 25 additions & 0 deletions CMake/absl.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
include_guard(GLOBAL)

# TODO: these variables are named VELOX_* because we are piggy-backing on
# Velox's resolve dependency module for now. We should change and have our own
# in the future.
set(VELOX_ABSL_VERSION 20240116.0)
set(VELOX_ABSL_BUILD_SHA256_CHECKSUM
"338420448b140f0dfd1a1ea3c3ce71b3bc172071f24f4d9a57d59b45037da440")
set(VELOX_ABSL_SOURCE_URL
"https://github.com/abseil/abseil-cpp/archive/refs/tags/${VELOX_ABSL_VERSION}.tar.gz"
)

velox_resolve_dependency_url(ABSL)

message(STATUS "Building Abseil from source")

FetchContent_Declare(
absl
URL ${VELOX_ABSL_SOURCE_URL}
URL_HASH ${VELOX_ABSL_BUILD_SHA256_CHECKSUM})

set(ABSL_BUILD_TESTING OFF)
set(ABSL_PROPAGATE_CXX_STD ON)
set(ABSL_ENABLE_INSTALL ON)
FetchContent_MakeAvailable(absl)
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ velox_resolve_dependency(Boost 1.77.0 COMPONENTS ${BOOST_INCLUDE_LIBRARIES})
velox_set_source(folly)
velox_resolve_dependency(folly)

velox_set_source(abseil)
velox_resolve_dependency(abseil)
velox_set_source(absl)
velox_resolve_dependency(absl)

# Use xxhash and xsimd from Velox for now.
include_directories(.)
Expand Down
2 changes: 1 addition & 1 deletion velox
Submodule velox updated 2033 files
Loading