From 5bbf139b7813de744a325bcc1e660a343fe86547 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 15 Apr 2024 10:16:03 +0000 Subject: link static jemalloc --- CMakeLists.txt | 4 ++-- shaping/CMakeLists.txt | 2 +- vendor/CMakeLists.txt | 16 ++++++++++++++++ vendor/jemalloc-5.3.0.tar.bz2 | Bin 0 -> 736023 bytes 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 vendor/jemalloc-5.3.0.tar.bz2 diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e356c4..8e8f403 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,8 +39,8 @@ if(ENABLE_WARNING_ALL) endif() if(ENABLE_SANITIZE_ADDRESS) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=leak -fno-omit-frame-pointer") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize=leak -fno-omit-frame-pointer") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan") elseif(ENABLE_SANITIZE_THREAD) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -fno-omit-frame-pointer") diff --git a/shaping/CMakeLists.txt b/shaping/CMakeLists.txt index c85bbba..da34504 100644 --- a/shaping/CMakeLists.txt +++ b/shaping/CMakeLists.txt @@ -13,7 +13,7 @@ target_link_libraries(shaping_engine PUBLIC shaper) target_link_libraries(shaping_engine PUBLIC maatframe) target_link_libraries(shaping_engine PUBLIC mrzcpd) target_link_libraries(shaping_engine PUBLIC swarmkv) -target_link_libraries(shaping_engine PUBLIC jemalloc) +target_link_libraries(shaping_engine PUBLIC libjemalloc-static dl) install(TARGETS shaping_engine RUNTIME DESTINATION bin COMPONENT Program) diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index e10f3d2..35bc47f 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -35,3 +35,19 @@ add_library(cjson SHARED IMPORTED GLOBAL) add_dependencies(cjson cJSON) set_property(TARGET cjson PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libcjson.a) set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +# jemalloc +ExternalProject_Add(libjemalloc PREFIX libjemalloc + URL ${CMAKE_CURRENT_SOURCE_DIR}/jemalloc-5.3.0.tar.bz2 + CONFIGURE_COMMAND ./autogen.sh --prefix= --enable-prof + BUILD_COMMAND make + BUILD_IN_SOURCE 1 + INSTALL_COMMAND make install prefix=) + +ExternalProject_Get_Property(libjemalloc INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(libjemalloc-static STATIC IMPORTED GLOBAL) +add_dependencies(libjemalloc-static libjemalloc) +set_property(TARGET libjemalloc-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libjemalloc.a) +set_property(TARGET libjemalloc-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) diff --git a/vendor/jemalloc-5.3.0.tar.bz2 b/vendor/jemalloc-5.3.0.tar.bz2 new file mode 100644 index 0000000..5de860d Binary files /dev/null and b/vendor/jemalloc-5.3.0.tar.bz2 differ -- cgit v1.2.3 From 40ee1485b279d4d1176331bbd20aea151bef451a Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Apr 2024 01:44:18 +0000 Subject: add jemalloc --- shaping/CMakeLists.txt | 2 +- vendor/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shaping/CMakeLists.txt b/shaping/CMakeLists.txt index da34504..a8a0174 100644 --- a/shaping/CMakeLists.txt +++ b/shaping/CMakeLists.txt @@ -12,8 +12,8 @@ add_executable(shaping_engine src/main.cpp) target_link_libraries(shaping_engine PUBLIC shaper) target_link_libraries(shaping_engine PUBLIC maatframe) target_link_libraries(shaping_engine PUBLIC mrzcpd) +target_link_libraries(shaping_engine PUBLIC libjemalloc-static unwind dl) target_link_libraries(shaping_engine PUBLIC swarmkv) -target_link_libraries(shaping_engine PUBLIC libjemalloc-static dl) install(TARGETS shaping_engine RUNTIME DESTINATION bin COMPONENT Program) diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 35bc47f..363743a 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -39,7 +39,7 @@ set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/ # jemalloc ExternalProject_Add(libjemalloc PREFIX libjemalloc URL ${CMAKE_CURRENT_SOURCE_DIR}/jemalloc-5.3.0.tar.bz2 - CONFIGURE_COMMAND ./autogen.sh --prefix= --enable-prof + CONFIGURE_COMMAND ./autogen.sh --prefix= #--enable-prof --enable-prof-libunwind BUILD_COMMAND make BUILD_IN_SOURCE 1 INSTALL_COMMAND make install prefix=) -- cgit v1.2.3 From 54dfb9600b233349833c9d7aeb0d632b8fecd11a Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Apr 2024 01:56:31 +0000 Subject: remove dependency of jemalloc-devel --- ci/travis.sh | 1 - shaping/CMakeLists.txt | 2 +- vendor/CMakeLists.txt | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ci/travis.sh b/ci/travis.sh index f9c76c9..695b014 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -48,7 +48,6 @@ yum install -y numactl-libs # required by mrzcpd yum install -y libibverbs # required by mrzcpd yum install -y libbreakpad_mini-devel yum install -y msgpack-devel -yum install -y jemalloc-devel source /etc/profile.d/framework.sh source /etc/profile.d/mrzcpd.sh diff --git a/shaping/CMakeLists.txt b/shaping/CMakeLists.txt index a8a0174..19862eb 100644 --- a/shaping/CMakeLists.txt +++ b/shaping/CMakeLists.txt @@ -12,7 +12,7 @@ add_executable(shaping_engine src/main.cpp) target_link_libraries(shaping_engine PUBLIC shaper) target_link_libraries(shaping_engine PUBLIC maatframe) target_link_libraries(shaping_engine PUBLIC mrzcpd) -target_link_libraries(shaping_engine PUBLIC libjemalloc-static unwind dl) +target_link_libraries(shaping_engine PUBLIC libjemalloc-static dl) target_link_libraries(shaping_engine PUBLIC swarmkv) install(TARGETS shaping_engine RUNTIME DESTINATION bin COMPONENT Program) diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 363743a..c9f518d 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -39,7 +39,7 @@ set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/ # jemalloc ExternalProject_Add(libjemalloc PREFIX libjemalloc URL ${CMAKE_CURRENT_SOURCE_DIR}/jemalloc-5.3.0.tar.bz2 - CONFIGURE_COMMAND ./autogen.sh --prefix= #--enable-prof --enable-prof-libunwind + CONFIGURE_COMMAND ./autogen.sh --prefix= #--enable-prof BUILD_COMMAND make BUILD_IN_SOURCE 1 INSTALL_COMMAND make install prefix=) -- cgit v1.2.3