From 5363dade3c8386c5493f64e86f8c81c68d1d64f9 Mon Sep 17 00:00:00 2001 From: Aurelius84 Date: Fri, 28 May 2021 14:52:15 +0800 Subject: [PATCH] [CustomOP]Set GLIBCXX_USE_CXX11_ABI=1 to fix potential GCC ABI problem (#33153) * Add GLIBCXX_USE_CXX11_ABI flag * fix typo * fix typo --- python/paddle/utils/cpp_extension/cpp_extension.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/paddle/utils/cpp_extension/cpp_extension.py b/python/paddle/utils/cpp_extension/cpp_extension.py index da3e8389153..e8a4253ad3e 100644 --- a/python/paddle/utils/cpp_extension/cpp_extension.py +++ b/python/paddle/utils/cpp_extension/cpp_extension.py @@ -427,6 +427,12 @@ class BuildExtension(build_ext, object): elif isinstance(cflags, dict): cflags = cflags['cxx'] + # NOTE(Aurelius84): Since Paddle 2.0, we require gcc version > 5.x, + # so we add this flag to ensure the symbol names from user compiled + # shared library have same ABI suffix with core_(no)avx.so. + # See https://stackoverflow.com/questions/34571583/understanding-gcc-5s-glibcxx-use-cxx11-abi-or-the-new-abi + add_compile_flag(['-D_GLIBCXX_USE_CXX11_ABI=1'], cflags) + add_std_without_repeat( cflags, self.compiler.compiler_type, use_std14=False) original_compile(obj, src, ext, cc_args, cflags, pp_opts) -- GitLab