mirror of
https://github.com/ceph/ceph
synced 2025-03-03 15:00:51 +00:00
Merge PR #23432 into master
* refs/pull/23432/head: Revert "rocksdb: pickup change to link against libsnappy.a" cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX" cmake: cleanup snappy related script debian: strip "-Wl,-Bsymbolic-functions" from LDFLAGS
This commit is contained in:
commit
3988351227
@ -316,11 +316,7 @@ endif(WITH_LZ4)
|
||||
#if allocator is set on command line make sure it matches below strings
|
||||
if(ALLOCATOR)
|
||||
if(${ALLOCATOR} MATCHES "tcmalloc(_minimal)?")
|
||||
if(GPERFTOOLS_USE_STATIC_LIBS)
|
||||
include(Buildgperftools)
|
||||
else()
|
||||
find_package(gperftools REQUIRED)
|
||||
endif()
|
||||
find_package(gperftools REQUIRED)
|
||||
set(HAVE_LIBTCMALLOC ON)
|
||||
elseif(${ALLOCATOR} STREQUAL "jemalloc")
|
||||
find_package(JeMalloc REQUIRED)
|
||||
@ -329,10 +325,8 @@ if(ALLOCATOR)
|
||||
message(FATAL_ERROR "Unsupported allocator selected: ${ALLOCATOR}")
|
||||
endif()
|
||||
else(ALLOCATOR)
|
||||
if(NOT GPERFTOOLS_USE_STATIC_LIBS)
|
||||
find_package(gperftools)
|
||||
set(HAVE_LIBTCMALLOC ${gperftools_FOUND})
|
||||
endif()
|
||||
find_package(gperftools)
|
||||
set(HAVE_LIBTCMALLOC ${gperftools_FOUND})
|
||||
if(NOT gperftools_FOUND)
|
||||
find_package(JeMalloc)
|
||||
endif()
|
||||
|
@ -1,42 +0,0 @@
|
||||
if(EXISTS ${CMAKE_SOURCE_DIR}/src/gperftools/configure)
|
||||
set(gperftools_SOURCE_DIR
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/gperftools)
|
||||
else()
|
||||
set(gperftools_SOURCE_DIR
|
||||
URL https://github.com/gperftools/gperftools/releases/download/gperftools-2.7/gperftools-2.7.tar.gz
|
||||
URL_HASH SHA256=1ee8c8699a0eff6b6a203e59b43330536b22bbcbe6448f54c7091e5efb0763c9)
|
||||
endif()
|
||||
|
||||
set(gperftools_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}/gperftools)
|
||||
include(ExternalProject)
|
||||
# override the $DESTDIR specified by debian's dh-make, as it sets $DESTDIR
|
||||
# environment variable globally, which instructs GNU automake to install the
|
||||
# artifacts to the specified $DESTDIR instead of <INSTALL_DIR>, where the
|
||||
# headers and libraries are expected. if $DESTDIR is specified, the artifacts
|
||||
# will be installed into ${DESTDIR}/${prefix}. and the default ${prefix} is
|
||||
# /user/local, so pass an empty string to "configure"
|
||||
ExternalProject_Add(gperftools_ext
|
||||
${gperftools_SOURCE_DIR}
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --disable-libunwind --disable-stacktrace-via-backtrace --enable-frame-pointers --prefix= CXXFLAGS=-fPIC
|
||||
BUILD_COMMAND $(MAKE)
|
||||
INSTALL_DIR ${gperftools_ROOT_DIR}
|
||||
INSTALL_COMMAND $(MAKE) install DESTDIR=<INSTALL_DIR>)
|
||||
|
||||
# create the directory so cmake won't complain when looking at the imported
|
||||
# target
|
||||
file(MAKE_DIRECTORY ${gperftools_ROOT_DIR}/include)
|
||||
|
||||
foreach(component tcmalloc tcmalloc_minimal profiler)
|
||||
add_library(gperftools::${component} STATIC IMPORTED)
|
||||
set_target_properties(gperftools::${component} PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${gperftools_ROOT_DIR}/include
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION ${gperftools_ROOT_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${component}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
add_dependencies(gperftools::${component} gperftools_ext)
|
||||
endforeach()
|
||||
|
||||
find_package(Threads)
|
||||
foreach(component tcmalloc profiler)
|
||||
set_target_properties(gperftools::${component} PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads")
|
||||
endforeach()
|
@ -5,9 +5,9 @@
|
||||
# SNAPPY_LIBRARIES - List of libraries when using snappy.
|
||||
# SNAPPY_FOUND - True if snappy found.
|
||||
|
||||
find_package(PkgConfig)
|
||||
find_package(PkgConfig QUIET REQUIRED)
|
||||
pkg_search_module(PC_snappy
|
||||
QUIET snappy)
|
||||
snappy QUIET)
|
||||
|
||||
find_path(SNAPPY_INCLUDE_DIR
|
||||
NAMES snappy.h
|
||||
@ -22,8 +22,17 @@ find_library(SNAPPY_LIBRARIES
|
||||
${SNAPPY_ROOT_DIR}/lib)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
|
||||
find_package_handle_standard_args(snappy
|
||||
DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(
|
||||
SNAPPY_LIBRARIES
|
||||
SNAPPY_INCLUDE_DIR)
|
||||
|
||||
if(snappy_FOUND AND NOT (TARGET snappy::snappy))
|
||||
add_library(snappy::snappy UNKNOWN IMPORTED)
|
||||
set_target_properties(snappy::snappy PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_INCLUDE_DIR}"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${SNAPPY_LIBRARIES}")
|
||||
endif()
|
||||
|
7
debian/rules
vendored
7
debian/rules
vendored
@ -4,6 +4,13 @@ export DH_VERBOSE=1
|
||||
export DESTDIR=$(CURDIR)/debian/tmp
|
||||
|
||||
export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
|
||||
ifneq (,$(findstring WITH_STATIC_LIBSTDCXX,$(CEPH_EXTRA_CMAKE_ARGS)))
|
||||
# dh_auto_build sets LDFLAGS with `dpkg-buildflags --get LDFLAGS` on ubuntu,
|
||||
# which makes the application aborts when the shared library throws
|
||||
# exception, so strip this linker option,
|
||||
# see http://tracker.ceph.com/issues/25209
|
||||
export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions
|
||||
endif
|
||||
|
||||
extraopts += -DWITH_OCF=ON -DWITH_LTTNG=ON -DWITH_PYTHON3=ON -DWITH_MGR_DASHBOARD_FRONTEND=OFF
|
||||
extraopts += -DWITH_CEPHFS_JAVA=ON
|
||||
|
24
make-dist
24
make-dist
@ -61,28 +61,6 @@ download_boost() {
|
||||
rm -rf src/boost
|
||||
}
|
||||
|
||||
download_gperftools() {
|
||||
version=$1
|
||||
shift
|
||||
sha256=$1
|
||||
shift
|
||||
dname=gperftools-$version
|
||||
fname=$dname.tar.gz
|
||||
url=https://github.com/gperftools/gperftools/releases/download/$dname/$fname
|
||||
|
||||
if ! wget -c --no-verbose -O $fname $url; then
|
||||
echo "Download of $url failed"
|
||||
exit 1
|
||||
elif [ $(sha256sum $fname | awk '{print $1}') != $sha256 ]; then
|
||||
echo "Error: failed to download gperftools: SHA256 mismatch."
|
||||
exit 1
|
||||
fi
|
||||
tar xzf $fname -C src
|
||||
mv src/$dname src/gperftools
|
||||
tar cf ${outfile}.gperftools.tar ${outfile}/src/gperftools
|
||||
rm -rf src/gperftools
|
||||
}
|
||||
|
||||
_python_autoselect() {
|
||||
python_command=
|
||||
for interpreter in python2.7 python3 ; do
|
||||
@ -158,11 +136,9 @@ download_boost $boost_version 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937
|
||||
https://dl.bintray.com/boostorg/release/$boost_version/source \
|
||||
https://downloads.sourceforge.net/project/boost/boost/$boost_version \
|
||||
https://download.ceph.com/qa
|
||||
download_gperftools 2.7 1ee8c8699a0eff6b6a203e59b43330536b22bbcbe6448f54c7091e5efb0763c9
|
||||
build_dashboard_frontend
|
||||
tar --concatenate -f $outfile.all.tar $outfile.version.tar
|
||||
tar --concatenate -f $outfile.all.tar $outfile.boost.tar
|
||||
tar --concatenate -f $outfile.all.tar $outfile.gperftools.tar
|
||||
tar --concatenate -f $outfile.all.tar $outfile.tar
|
||||
tar --concatenate -f $outfile.all.tar dashboard_frontend.tar
|
||||
mv $outfile.all.tar $outfile.tar
|
||||
|
@ -7,7 +7,7 @@ set(snappy_sources
|
||||
add_library(ceph_snappy SHARED ${snappy_sources})
|
||||
target_include_directories(ceph_snappy SYSTEM PRIVATE
|
||||
"${SNAPPY_INCLUDE_DIR}")
|
||||
target_link_libraries(ceph_snappy ${SNAPPY_LIBRARIES})
|
||||
target_link_libraries(ceph_snappy snappy::snappy)
|
||||
set_target_properties(ceph_snappy PROPERTIES
|
||||
VERSION 2.0.0
|
||||
SOVERSION 2
|
||||
|
@ -11,13 +11,7 @@ endif()
|
||||
option(WITH_PROFILER "build extra profiler binaries" OFF)
|
||||
|
||||
if(WITH_PROFILER)
|
||||
if(GPERFTOOLS_USE_STATIC_LIBS)
|
||||
if(NOT TARGET gperftools::profiler)
|
||||
include(Buildgperftools)
|
||||
endif()
|
||||
else()
|
||||
find_package(gperftools REQUIRED profiler)
|
||||
endif()
|
||||
find_package(gperftools REQUIRED profiler)
|
||||
add_library(cpu_profiler STATIC
|
||||
cpu_profiler.cc)
|
||||
target_link_libraries(cpu_profiler
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 8e78d1040a6e2bae1577c484feefb2b92038ab9d
|
||||
Subproject commit 9090ae3ecfbf9b50a398a5d8b178f14b88dc047e
|
Loading…
Reference in New Issue
Block a user