From 87bbbcd6d077c6fdbf72329704225e06faa88174 Mon Sep 17 00:00:00 2001 From: Quentin Cozette Date: Thu, 17 Dec 2020 17:53:35 +0100 Subject: [PATCH] Stabilize native build : qt env adaptation (UB20), patch ParaView (DB10,UB20) and applicative adaptation (cgns,opencv) --- applications/SALOME-master-native.pyconf | 30 +++++++++++++------- products/env_scripts/qt.py | 3 +- products/patches/ParaViewClient_native.patch | 10 +++++++ 3 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 products/patches/ParaViewClient_native.patch diff --git a/applications/SALOME-master-native.pyconf b/applications/SALOME-master-native.pyconf index 2f577dd..67c7607 100644 --- a/applications/SALOME-master-native.pyconf +++ b/applications/SALOME-master-native.pyconf @@ -31,7 +31,9 @@ APPLICATION : boost : 'native' CAS : 'CR740-SALOME-PATCH' certifi : 'native' - cgns : 'native' + # Standalone native cgns works well. Unfortunately, it's directly linked to native hdf which uses a higher version than us. + # Rollback to embedded version to avoid versions mismatch between both of them (see imp_1538_cgns_export_import.py) + cgns : '3.3.1' chardet : 'native' click : 'native' cmake : 'native' @@ -172,14 +174,20 @@ APPLICATION : single_install_dir : "yes" } } -#__overwrite__ : -#[ -# { -# # Overwrite dedicated to older distributions for a further native use -# # (Some system packages are missing for now on CentOS 8) -# __condition__ : "VARS.dist in ['FD32', 'DB10']" -# 'APPLICATION.products.omniORB' : 'native' -# 'APPLICATION.products.omniORBpy' : 'native' -# } -#] +__overwrite__ : +[ + { + # FD32 is the first to use native opencv4 version (4.2.0) : FindOpenCV.cmake fails (GEOM) + # Associated library path is found through cv.h header which has been removed + # (cf. release note of 2.2 version : use imgproc/imgproc.hpp instead - actually included too) + __condition__ : "VARS.dist in ['FD32']" + 'APPLICATION.products.opencv' : '3.2.0' + } + { + # At least on DB10 (UB20 uses the same path...), ParaView fails to find xmlpatterns executable + # ParaViewClient.cmake try to find it from Qt5_DIR, going back from it in filesystem (hardcoded) + __condition__ : "VARS.dist in ['DB10', 'UB20']" + 'PRODUCTS.ParaView.version_5_8_0.patches' : ['ParaViewClient_native.patch'] + } +] diff --git a/products/env_scripts/qt.py b/products/env_scripts/qt.py index 40865ed..55abd20 100644 --- a/products/env_scripts/qt.py +++ b/products/env_scripts/qt.py @@ -24,7 +24,8 @@ def set_env(env, prereq_dir, version): def set_nativ_env(env): - if "debian" in platform.platform() : + # Adapt Qt libraries dir according to the current distribution (generic -> Ubuntu) + if any(distribution in platform.platform() for distribution in ["debian", "generic"]) : qt_lib_dir='/usr/lib/x86_64-linux-gnu' else : qt_lib_dir='/usr/lib64' diff --git a/products/patches/ParaViewClient_native.patch b/products/patches/ParaViewClient_native.patch new file mode 100644 index 0000000..110ef87 --- /dev/null +++ b/products/patches/ParaViewClient_native.patch @@ -0,0 +1,10 @@ +--- ParaView/CMake/ParaViewClient.cmake 2020-03-23 22:06:19.000000000 +0100 ++++ ParaView.new/CMake/ParaViewClient.cmake 2020-12-17 11:52:15.201636975 +0100 +@@ -516,6 +516,7 @@ + NAMES xmlpatterns-qt5 xmlpatterns + HINTS "${Qt5_DIR}/../../../bin" + "${Qt5_DIR}/../../../libexec/qt5/bin" ++ "${Qt5_DIR}/../../../lib/qt5/bin" + DOC "Path to xmlpatterns") + mark_as_advanced(qt_xmlpatterns_executable) + -- 2.39.2