1
0
mirror of https://github.com/facebook/rocksdb.git synced 2026-10-23 08:09:02 +03:00

Update folly hash (#15375)

Summary:
has been neglected for a few months, finally taking care of it.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/15375

Test Plan: local folly build (from internal wiki instructions) to verify the fixes from claude, CI

Reviewed By: archang19

Differential Revision: D124436669

Pulled By: pdillinger

fbshipit-source-id: 0a0e3f6857cc8ba20941281b9dfd618a6997b86f
This commit is contained in:
Peter Dillinger
2026-10-12 08:49:01 -07:00
committed by meta-codesync[bot]
parent 1334e4dd52
commit 76d7c29389
2 changed files with 25 additions and 2 deletions

View File

@@ -650,6 +650,9 @@ if(USE_FOLLY)
exec_program(ls ARGS -d ${FOLLY_INST_PATH}/../glog* OUTPUT_VARIABLE
GLOG_INST_PATH)
set(Boost_DIR ${BOOST_INST_PATH}/lib/cmake/Boost-1.83.0)
# Boost's per-library CMake configs find their dependencies (e.g.
# boost_assert) only through the package search path.
set(CMAKE_PREFIX_PATH ${BOOST_INST_PATH} ${CMAKE_PREFIX_PATH})
if(EXISTS ${FMT_INST_PATH}/lib64)
set(fmt_DIR ${FMT_INST_PATH}/lib64/cmake/fmt)
else()
@@ -696,7 +699,13 @@ if(USE_FOLLY)
exec_program(sed ARGS -i 's/gflags_shared//g'
${FOLLY_INST_PATH}/lib/cmake/folly/folly-targets.cmake)
# folly-config.cmake only checks for gflags under a target name that this
# install doesn't define, then falls back to our Findgflags.cmake, which
# mistakes the gflags_static target name for a library path. gflags is
# resolved below instead.
set(CMAKE_DISABLE_FIND_PACKAGE_gflags TRUE)
include(${FOLLY_INST_PATH}/lib/cmake/folly/folly-config.cmake)
unset(CMAKE_DISABLE_FIND_PACKAGE_gflags)
# Fix gflags library name for debug builds. The getdeps gflags shared
# library is versioned (e.g. libgflags_debug.so.2.3), so resolve the

View File

@@ -29,8 +29,10 @@ ifneq ($(strip $(FOLLY_PATH)),)
XZ_PATH = $(shell (ls -d $(FOLLY_PATH)/../xz*))
LIBSODIUM_PATH = $(shell (ls -d $(FOLLY_PATH)/../libsodium*))
FMT_PATH = $(shell (ls -d $(FOLLY_PATH)/../fmt*))
LIBUNWIND_PATH = $(shell (ls -d $(FOLLY_PATH)/../libunwind*))
# For some reason, some libraries are under either lib or lib64
BOOST_LIB_PATH = $(shell (ls -d $(BOOST_PATH)/lib*))
GLOG_LIB_PATH = $(shell (ls -d $(GLOG_PATH)/lib*))
FMT_LIB_PATH = $(shell (ls -d $(FMT_PATH)/lib*))
LIBEVENT_LIB_PATH = $(shell (ls -d $(LIBEVENT_PATH)/lib*))
@@ -47,7 +49,7 @@ ifneq ($(strip $(FOLLY_PATH)),)
# Add -ldl at the end as gcc resolves a symbol in a library by searching only in libraries specified later
# in the command line
PLATFORM_LDFLAGS += $(FOLLY_PATH)/lib/libfolly.a $(BOOST_PATH)/lib/libboost_context.a $(BOOST_PATH)/lib/libboost_filesystem.a $(BOOST_PATH)/lib/libboost_atomic.a $(BOOST_PATH)/lib/libboost_program_options.a $(BOOST_PATH)/lib/libboost_regex.a $(BOOST_PATH)/lib/libboost_system.a $(BOOST_PATH)/lib/libboost_thread.a $(LIBEVENT_LIB_PATH)/libevent.a $(LIBSODIUM_PATH)/lib/libsodium.a -ldl
PLATFORM_LDFLAGS += $(FOLLY_PATH)/lib/libfolly.a $(BOOST_LIB_PATH)/libboost_context.a $(BOOST_LIB_PATH)/libboost_filesystem.a $(BOOST_LIB_PATH)/libboost_atomic.a $(BOOST_LIB_PATH)/libboost_program_options.a $(BOOST_LIB_PATH)/libboost_thread.a $(LIBEVENT_LIB_PATH)/libevent.a $(LIBSODIUM_PATH)/lib/libsodium.a $(LIBUNWIND_PATH)/lib/libunwind.a -ldl
ifneq ($(DEBUG_LEVEL),0)
PLATFORM_LDFLAGS += $(FMT_LIB_PATH)/libfmtd.a $(GLOG_LIB_PATH)/libglogd.so $(GFLAGS_PATH)/lib/libgflags_debug.so.2.3
else
@@ -98,7 +100,7 @@ endif # FMT_SOURCE_PATH
PLATFORM_LDFLAGS += -lglog
endif
FOLLY_COMMIT_HASH = 2a68075b77d958854d895e78fe6c41940dd49f3c
FOLLY_COMMIT_HASH = 7ba92f0e29d24b453cee8ab27d117b1c7cc19589
FOLLY_GETDEPS_CACHE_DIR = /tmp/rocksdb-getdeps-cache
define restore_folly_getdeps_downloads
@@ -152,6 +154,16 @@ checkout_folly:
done
@# Update cache with any new downloads
$(cache_folly_getdeps_downloads)
@# The boost source archive has a modular layout (headers under
@# libs/*/include), so assemble the merged boost/ header tree that
@# USE_FOLLY_LITE builds put on the include path. This avoids ~150
@# -isystem flags (one per boost library) on every folly-lite compile.
cd third-party/folly && \
BOOST_SRC=`ls -d $$($(PYTHON) build/fbcode_builder/getdeps.py show-source-dir boost)/boost*/` && \
mkdir -p "$${BOOST_SRC}boost" && \
for inc in "$${BOOST_SRC}"libs/*/include "$${BOOST_SRC}"libs/numeric/*/include; do \
cp -R "$$inc/boost/." "$${BOOST_SRC}boost/" || exit 1; \
done
CXX_M_FLAGS = $(filter -m%, $(CXXFLAGS))
@@ -174,6 +186,8 @@ build_folly:
$(restore_folly_getdeps_downloads)
cd third-party/folly && \
CXXFLAGS=" $(CXX_M_FLAGS) -DHAVE_CXX11_ATOMIC " GETDEPS_USE_WGET=1 $(PYTHON) build/fbcode_builder/getdeps.py build $(FOLLY_BUILD_FLAGS)
@# Update cache with archives downloaded during the build
$(cache_folly_getdeps_downloads)
@# In the folly build, glog and gflags are only built as dynamic libraries,
@# not static. This patchelf command is needed to reliably have the glog
@# library find its dependency gflags, because apparently the rpath of the