From 956e58679ce6f381e4f069ba6c0628dc145083c4 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 23 Nov 2018 11:24:04 +0100 Subject: Fix T57998: crash at start with jemalloc package on some Linux distributions. The jemalloc library must be ahead of pthread in linking order, so jemalloc can find the pthread symbols for its background thread. --- build_files/cmake/macros.cmake | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'build_files/cmake/macros.cmake') diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 2b4d454a6a7..0143335d3b1 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -370,6 +370,11 @@ function(setup_liblinks set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) + # jemalloc must be early in the list, to be before pthread (see T57998) + if(WITH_MEM_JEMALLOC) + target_link_libraries(${target} ${JEMALLOC_LIBRARIES}) + endif() + target_link_libraries( ${target} ${PNG_LIBRARIES} @@ -485,9 +490,6 @@ function(setup_liblinks ) endif() endif() - if(WITH_MEM_JEMALLOC) - target_link_libraries(${target} ${JEMALLOC_LIBRARIES}) - endif() if(WITH_MOD_CLOTH_ELTOPO) target_link_libraries(${target} ${LAPACK_LIBRARIES}) endif() -- cgit v1.2.3