From 445a2c2ad98dd57050820f72e909bea515769f02 Mon Sep 17 00:00:00 2001 From: Julian Morillo Date: Tue, 2 Jul 2024 11:43:07 +0200 Subject: [PATCH] Upgrade to 4.2.0 (which includes bug fixes) and added new patch that fixes some tests --- ...tch => Extrae-4.2.0-detect_binutils.patch} | 29 +++--- .../Extrae-4.2.0-fix-hw-counters-checks.patch | 96 +++++++++++++++++++ ...i-2023b.eb => Extrae-4.2.0-gompi-2023b.eb} | 22 +++-- 3 files changed, 125 insertions(+), 22 deletions(-) rename easybuild/easyconfigs/e/Extrae/{Extrae-4.1.7-detect_binutils.patch => Extrae-4.2.0-detect_binutils.patch} (64%) create mode 100644 easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch rename easybuild/easyconfigs/e/Extrae/{Extrae-4.1.7-gompi-2023b.eb => Extrae-4.2.0-gompi-2023b.eb} (57%) diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-detect_binutils.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch similarity index 64% rename from easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-detect_binutils.patch rename to easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch index aa8f6918a66..ae5847ad80e 100644 --- a/easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-detect_binutils.patch +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch @@ -1,11 +1,11 @@ -diff -Nru extrae-4.1.7.orig/config/macros.m4 extrae-4.1.7/config/macros.m4 ---- extrae-4.1.7.orig/config/macros.m4 2024-05-30 16:23:59.684839619 +0200 -+++ extrae-4.1.7/config/macros.m4 2024-05-30 16:27:08.208600097 +0200 +diff -Nru extrae-4.2.0.orig/config/macros.m4 extrae-4.2.0/config/macros.m4 +--- extrae-4.2.0.orig/config/macros.m4 2024-07-01 16:12:03.689962036 +0200 ++++ extrae-4.2.0/config/macros.m4 2024-07-01 16:13:05.811649165 +0200 @@ -779,6 +779,8 @@ elif test -r "${binutils_home_dir}/lib/libbfd.a" -a \ "${binutils_require_shared}" = "no" ; then BFD_LIBSDIR="${binutils_home_dir}/lib" -+ elif test -r "${binutils_home_dir}/libbfd.so" ; then ++ elif test -r "${binutils_home_dir}/libbfd.so" ; then + BFD_LIBSDIR="${binutils_home_dir}" else dnl Try something more automatic using find command @@ -14,30 +14,29 @@ diff -Nru extrae-4.1.7.orig/config/macros.m4 extrae-4.1.7/config/macros.m4 LIBERTY_LIBSDIR="${binutils_home_dir}/lib" elif test -r "${binutils_home_dir}/lib/libiberty.a" ; then LIBERTY_LIBSDIR="${binutils_home_dir}/lib" -+ elif test -r "${binutils_home_dir}/libiberty.a" ; then ++ elif test -r "${binutils_home_dir}/libiberty.a" ; then + LIBERTY_LIBSDIR="${binutils_home_dir}" else dnl Try something more automatic using find command libiberty_lib="" -diff -Nru extrae-4.1.7.orig/configure extrae-4.1.7/configure ---- extrae-4.1.7.orig/configure 2024-05-30 16:23:59.716839578 +0200 -+++ extrae-4.1.7/configure 2024-05-30 16:25:31.276723193 +0200 -@@ -35072,6 +35072,8 @@ +diff -Nru extrae-4.2.0.orig/configure extrae-4.2.0/configure +--- extrae-4.2.0.orig/configure 2024-07-01 16:12:03.308963954 +0200 ++++ extrae-4.2.0/configure 2024-07-01 16:17:00.458465744 +0200 +@@ -35074,6 +35074,8 @@ elif test -r "${binutils_home_dir}/lib/libbfd.a" -a \ "${binutils_require_shared}" = "no" ; then BFD_LIBSDIR="${binutils_home_dir}/lib" -+ elif test -r "${binutils_home_dir}/libbfd.so" ; then ++ elif test -r "${binutils_home_dir}/libbfd.so" ; then + BFD_LIBSDIR="${binutils_home_dir}" else libbfd_lib="" - -@@ -35106,6 +35108,8 @@ + +@@ -35108,6 +35110,8 @@ LIBERTY_LIBSDIR="${binutils_home_dir}/lib" elif test -r "${binutils_home_dir}/lib/libiberty.a" ; then LIBERTY_LIBSDIR="${binutils_home_dir}/lib" -+ elif test -r "${binutils_home_dir}/libiberty.a" ; then ++ elif test -r "${binutils_home_dir}/libiberty.a" ; then + LIBERTY_LIBSDIR="${binutils_home_dir}" else libiberty_lib="" - - + diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch new file mode 100644 index 00000000000..1bc18c408b4 --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch @@ -0,0 +1,96 @@ +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh 2024-07-01 16:12:03.454963219 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh 2024-07-02 10:26:41.603395579 +0200 +@@ -11,6 +11,20 @@ + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + + # Check ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++PAPI_TOT_CYC_available=`papi_avail | grep PAPI_TOT_CYC | awk '{print $3}'` ++if [[ "$PAPI_TOT_CYC_available" == No ]] ++then ++ echo "PAPI_TOT_CYC is not available" ++ exit 0 ++fi ++ ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_CYC + + rm -fr TRACE* set-0 ${TRACE}.??? +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh 2024-07-01 16:12:03.455963214 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh 2024-07-02 10:28:14.723917087 +0200 +@@ -11,6 +11,20 @@ + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + + # Check ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++PAPI_TOT_INS_available=`papi_avail | grep PAPI_TOT_INS | awk '{print $3}'` ++if [[ "$PAPI_TOT_INS_available" == No ]] ++then ++ echo "PAPI_TOT_INS is not available" ++ exit 0 ++fi ++ ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + + rm -fr TRACE* set-0 ${TRACE}.??? +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh 2024-07-01 16:12:03.448963249 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh 2024-07-02 10:29:00.084684067 +0200 +@@ -11,6 +11,20 @@ + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + + # Check ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++PAPI_TOT_CYC_available=`papi_avail | grep PAPI_TOT_CYC | awk '{print $3}'` ++if [[ "$PAPI_TOT_CYC_available" == No ]] ++then ++ echo "PAPI_TOT_CYC is not available" ++ exit 0 ++fi ++ ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_CYC + +diff -Nru extrae-4.2.0.orig/tests/functional/xml/check_Extrae_xml_envvar_counters.sh extrae-4.2.0/tests/functional/xml/check_Extrae_xml_envvar_counters.sh +--- extrae-4.2.0.orig/tests/functional/xml/check_Extrae_xml_envvar_counters.sh 2024-07-01 16:12:03.484963068 +0200 ++++ extrae-4.2.0/tests/functional/xml/check_Extrae_xml_envvar_counters.sh 2024-07-02 10:19:24.415644506 +0200 +@@ -11,6 +11,20 @@ + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + + # Check ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++PAPI_TOT_CYC_available=`papi_avail | grep PAPI_TOT_CYC | awk '{print $3}'` ++if [[ "$PAPI_TOT_CYC_available" == No ]] ++then ++ echo "PAPI_TOT_CYC is not available" ++ exit 0 ++fi ++ ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + + rm -fr TRACE* set-0 ${TRACE}.??? diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-gompi-2023b.eb b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb similarity index 57% rename from easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-gompi-2023b.eb rename to easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb index 295ed24a172..e50abc098fe 100644 --- a/easybuild/easyconfigs/e/Extrae/Extrae-4.1.7-gompi-2023b.eb +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb @@ -1,21 +1,29 @@ name = 'Extrae' -version = '4.1.7' +version = '4.2.0' homepage = 'https://tools.bsc.es/extrae' -description = """Extrae is the package devoted to generate Paraver trace-files for a post-mortem analysis. -Extrae is a tool that uses different interposition mechanisms to inject probes into the target application +description = """Extrae is the package devoted to generate Paraver trace-files for a post-mortem analysis. +Extrae is a tool that uses different interposition mechanisms to inject probes into the target application so as to gather information regarding the application performance.""" toolchain = {'name': 'gompi', 'version': '2023b'} + toolchainopts = {'usempi': True} source_urls = ['https://ftp.tools.bsc.es/%(namelower)s'] + sources = ['%(namelower)s-%(version)s-src.tar.bz2'] -patches = ['Extrae-4.1.7-detect_binutils.patch'] + +patches = [ + 'Extrae-4.2.0-detect_binutils.patch', + 'Extrae-4.2.0-fix-hw-counters-checks.patch', +] + checksums = [ - # extrae-4.1.7-src.tar.bz2 - '0ed87449f74db0abc239ee8c40176e89f9ca6a69738fe751ec0df8fc46da1712', - '9319b0af3e8714237fef9f4f0e22fda72a83a3120b29f63a6cbaf95b9f71d61f', # Extrae-4.1.7-detect_binutils.patch + # extrae-4.2.0-src.tar.bz2 + '7b83a1ed008440bbc1bda88297d2d0e9256780db1cf8401b3c12718451f8919a', + '1c7bf9d97405c5c2f9dba3604faf141c1563c70958e942822aab521eb7ea0c9e', # Extrae-4.2.0-detect_binutils.patch + '378241e39203e531c72980a9e2fda9ea15f693202a83791d40af36757824df79', # Extrae-4.2.0-fix-hw-counters-checks.patch ] builddependencies = [