From: Wolfgang Bangerth Date: Fri, 30 Oct 2015 01:25:29 +0000 (-0500) Subject: Workaround linker bug when compiling expand_instantiations. X-Git-Tag: v8.4.0-rc2~266^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1813%2Fhead;p=dealii.git Workaround linker bug when compiling expand_instantiations. Do so by removing -fuse-ld=gold from the list of linker flags for this program. --- diff --git a/cmake/scripts/CMakeLists.txt b/cmake/scripts/CMakeLists.txt index ad2cf0e876..a51f8cb04c 100644 --- a/cmake/scripts/CMakeLists.txt +++ b/cmake/scripts/CMakeLists.txt @@ -14,8 +14,22 @@ ## --------------------------------------------------------------------- ADD_EXECUTABLE(expand_instantiations_exe expand_instantiations.cc) + +# +# We run into a bug when compiling expand_instantiations with +# -fuse-ld=gold -pthreads, see https://github.com/dealii/dealii/issues/1798 +# Work around this by stripping -fuse-ld=gold out of the build flags +# for the script. This does little harm because linking this one file +# is so exceedingly cheap that there is no speed difference between +# using gold or the old BFD ld linker. +# +# If we are on a system where -fuse-ld=gold simply isn't part of the +# linker flag, filtering this one command out of the list of flags +# does not harm either. +# +STRING(REPLACE "-fuse-ld=gold" "" _expand_instantiations_link_flags ${DEAL_II_LINKER_FLAGS} ) SET_TARGET_PROPERTIES(expand_instantiations_exe PROPERTIES - LINK_FLAGS "${DEAL_II_LINKER_FLAGS}" + LINK_FLAGS "${_expand_instantiations_link_flags}" LINKER_LANGUAGE "CXX" COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS}" COMPILE_FLAGS "${DEAL_II_CXX_FLAGS}"