graphics/py-open3d-python: Fix build failure on 12

12 has the failure:
/usr/local/bin/ld: /usr/bin/../lib/LLVMgold.so: error loading plugin: Cannot open "/usr/bin/../lib/LLVMgold.so"
c++: error: linker command failed with exit code 1 (use -v to see invocation)
that is triggered by the -flto argument. It isn't supplied on 11.

Add patch that eliminates -flto altogether.
This commit is contained in:
Yuri Victorovich 2018-09-02 16:40:16 +00:00
parent 907448d092
commit 0ef2ba03c5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=478808

View file

@ -0,0 +1,32 @@
--- External/pybind11/tools/pybind11Tools.cmake.orig 2018-09-02 16:32:40 UTC
+++ External/pybind11/tools/pybind11Tools.cmake
@@ -69,17 +69,19 @@ function(_pybind11_add_lto_flags target_
set(cxx_append ";-fno-fat-lto-objects")
endif()
- if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND prefer_thin_lto)
- _pybind11_return_if_cxx_and_linker_flags_work(HAS_FLTO_THIN
- "-flto=thin${cxx_append}" "-flto=thin${linker_append}"
- PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS)
- endif()
+ # Disable -flto because it fails on 12: /usr/local/bin/ld: /usr/bin/../lib/LLVMgold.so: error loading plugin: Cannot open "/usr/bin/../lib/LLVMgold.so"
+ # It is only activated on 12, not 11, for some reason.
+ #if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND prefer_thin_lto)
+ # _pybind11_return_if_cxx_and_linker_flags_work(HAS_FLTO_THIN
+ # "-flto=thin${cxx_append}" "-flto=thin${linker_append}"
+ # PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS)
+ #endif()
- if (NOT HAS_FLTO_THIN)
- _pybind11_return_if_cxx_and_linker_flags_work(HAS_FLTO
- "-flto${cxx_append}" "-flto${linker_append}"
- PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS)
- endif()
+ #if (NOT HAS_FLTO_THIN)
+ # _pybind11_return_if_cxx_and_linker_flags_work(HAS_FLTO
+ # "-flto${cxx_append}" "-flto${linker_append}"
+ # PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS)
+ #endif()
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
# Intel equivalent to LTO is called IPO
_pybind11_return_if_cxx_and_linker_flags_work(HAS_INTEL_IPO