diff --git a/CMakeLists.txt b/CMakeLists.txt
index b940c077c3ad7c79f181a604d1684ee78c4c306e..bcf991990738dbbafda6a24536934aa988369187 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,14 +48,14 @@ ROOT_SHOW_OPTIONS()
 
 #---Here we add tcmalloc to the linker flags if needed------------------------------------------
 if (TCMALLOC_FOUND)
-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ltcmalloc")
-  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ltcmalloc")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ltcmalloc -L ${TCMALLOC_LIBRARY_PATH}")
+  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ltcmalloc -L ${TCMALLOC_LIBRARY_PATH}")
 endif()
 
 #---Here we add jemalloc to the linker flags if needed------------------------------------------
 if (JEMALLOC_FOUND)
-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljemalloc")
-  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ljemalloc")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljemalloc -L ${JEMALLOC_LIBRARY_PATH}")
+  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ljemalloc -L ${JEMALLOC_LIBRARY_PATH}")
 endif()
 
 #---Populate the configure arguments returned by 'root-config --config'-------------------------
diff --git a/cmake/modules/Findjemalloc.cmake b/cmake/modules/Findjemalloc.cmake
index 9405b10277b1c866bd006e18e0c038dcb61898bc..cb0d2c4c760c956bb0e671b5a571229eb43a40e7 100644
--- a/cmake/modules/Findjemalloc.cmake
+++ b/cmake/modules/Findjemalloc.cmake
@@ -4,6 +4,7 @@
 #
 # JEMALLOC_FOUND
 # JEMALLOC_LIBRARIES
+# JEMALLOC_LIBRARY_PATH
 # JEMALLOC_INCLUDE_DIR
 
 find_path(JEMALLOC_ROOT_DIR NAMES include/jemalloc/jemalloc.h)
@@ -14,3 +15,5 @@ include(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(jemalloc DEFAULT_MSG JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR)
 
 mark_as_advanced(JEMALLOC_FOUND JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR)
+get_filename_component(JEMALLOC_LIBRARY_PATH ${JEMALLOC_LIBRARIES} DIRECTORY)
+
diff --git a/cmake/modules/Findtcmalloc.cmake b/cmake/modules/Findtcmalloc.cmake
index 247227cff9e3d869f29f891e2e98f82ed752a73f..d3ec1f3a5c616b54ae922b40dbd32b07dacff76e 100644
--- a/cmake/modules/Findtcmalloc.cmake
+++ b/cmake/modules/Findtcmalloc.cmake
@@ -4,6 +4,7 @@
 #  TCMALLOC_FOUND
 #  TCMALLOC_INCLUDE_DIR
 #  TCMALLOC_INCLUDE_DIRS (not cached)
+#  TCMALLOC_LIBRARY_PATH
 #  TCMALLOC_tcmalloc_LIBRARY
 #  TCMALLOC_profiler_LIBRARY
 #  TCMALLOC_LIBRARIES (not cached)
@@ -34,3 +35,5 @@ if(TCMALLOC_tcmalloc_LIBRARY)
 elseif(TCMALLOC_profiler_LIBRARY)
   get_filename_component(TCMALLOC_LIBRARY_DIRS ${TCMALLOC_profiler_LIBRARY} PATH)
 endif()
+
+get_filename_component(TCMALLOC_LIBRARY_PATH ${TCMALLOC_tcmalloc_LIBRARY} DIRECTORY)