Skip to content

Commit

Permalink
Scalasca 2.6.1 for 2023b, patch to fix configure after OpenMP
Browse files Browse the repository at this point in the history
Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de>
  • Loading branch information
Thyre committed Aug 29, 2024
1 parent a952c9d commit 42baaa1
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 3 deletions.
13 changes: 10 additions & 3 deletions easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany
# Copyright:: Copyright 2013-2024 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# Robert Mijakovic <robert.mijakovic@lxp.lu>
# Jan Andre Reuter <j.reuter@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
Expand All @@ -28,7 +29,13 @@ toolchain = {'name': 'gompi', 'version': '2022a'}

source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7']
patches = [
'Scalasca-2.6.1_nowarn_omp_pragmas.patch',
]
checksums = [
'a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7', # scalasca-2.6.1.tar.gz
'd1bb0ffdb88c491e5660de28ee64f7349fc2af2ff5df03ad7d98e8c70271b18d' # Scalasca-2.6.1_nowarn_omp_pragmas.patch
]

builddependencies = [
('CubeWriter', '4.8'),
Expand All @@ -49,4 +56,4 @@ sanity_check_paths = {
# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}

moduleclass = 'perf'
moduleclass = 'perf'
59 changes: 59 additions & 0 deletions easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2024 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# Robert Mijakovic <robert.mijakovic@lxp.lu>
# Jan Andre Reuter <j.reuter@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##

easyblock = 'EB_Score_minus_P'

name = 'Scalasca'
version = '2.6.1'

homepage = 'https://www.scalasca.org/'
description = """
Scalasca is a software tool that supports the performance optimization of
parallel programs by measuring and analyzing their runtime behavior. The
analysis identifies potential performance bottlenecks -- in particular
those concerning communication and synchronization -- and offers guidance
in exploring their causes.
"""

toolchain = {'name': 'gompi', 'version': '2023b'}

source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
patches = [
'Scalasca-2.6.1_nowarn_omp_pragmas.patch',
]
checksums = [
'a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7', # scalasca-2.6.1.tar.gz
'd1bb0ffdb88c491e5660de28ee64f7349fc2af2ff5df03ad7d98e8c70271b18d' # Scalasca-2.6.1_nowarn_omp_pragmas.patch
]

builddependencies = [
('CubeWriter', '4.8.2'),
]

dependencies = [
('CubeGUI', '4.8.2'),
('CubeLib', '4.8.2'),
('OTF2', '3.0.3'),
('Score-P', '8.4'),
]

sanity_check_paths = {
'files': ['bin/scalasca', 'lib/libpearl.replay.a'],
'dirs': [],
}

# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}

moduleclass = 'perf'
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
This patch fixes a missing $ in configure, which causes following checks to
fail if they produce any output to stdout or stderr.

diff -Nrup scalasca-2.6.1.orig/build-config/m4/scalasca_nowarn_omp_pragmas.m4 scalasca-2.6.1/build-config/m4/scalasca_nowarn_omp_pragmas.m4
--- scalasca-2.6.1.orig/build-config/m4/scalasca_nowarn_omp_pragmas.m4 2022-12-14 11:55:38.810618928 +0100
+++ scalasca-2.6.1/build-config/m4/scalasca_nowarn_omp_pragmas.m4 2023-09-27 09:47:31.155201804 +0200
@@ -62,7 +62,7 @@ AS_CASE([$_scalasca_nowarn_omp_pragmas],
AC_SUBST([NOWARN_OMP_PRAGMAS_]_AC_LANG_PREFIX[FLAGS])

dnl Reset environment
-ac_[]_AC_LANG_ABBREV[]_werror_flag=_scalasca_save_[]_AC_LANG_ABBREV[]_werror_flag
+ac_[]_AC_LANG_ABBREV[]_werror_flag=$_scalasca_save_[]_AC_LANG_ABBREV[]_werror_flag
])


diff -Nrup scalasca-2.6.1.orig/build-backend/configure scalasca-2.6.1/build-backend/configure
--- scalasca-2.6.1.orig/build-backend/configure 2022-12-14 11:56:16.350709778 +0100
+++ scalasca-2.6.1/build-backend/configure 2023-09-27 09:49:35.847822426 +0200
@@ -21128,7 +21128,7 @@ case $_scalasca_nowarn_omp_pragmas in #(
esac


-ac_cxx_werror_flag=_scalasca_save_cxx_werror_flag
+ac_cxx_werror_flag=$_scalasca_save_cxx_werror_flag

if test "x${ac_cv_prog_cxx_openmp}" != "xunsupported" \
&& test "x${enable_openmp}" != "xno"; then
diff -Nrup scalasca-2.6.1.orig/build-mpi/configure scalasca-2.6.1/build-mpi/configure
--- scalasca-2.6.1.orig/build-mpi/configure 2022-12-14 11:56:33.574751469 +0100
+++ scalasca-2.6.1/build-mpi/configure 2023-09-27 09:49:06.135678364 +0200
@@ -21878,7 +21878,7 @@ case $_scalasca_nowarn_omp_pragmas in #(
esac


-ac_cxx_werror_flag=_scalasca_save_cxx_werror_flag
+ac_cxx_werror_flag=$_scalasca_save_cxx_werror_flag

if test "x${ac_cv_prog_cxx_openmp}" != "xunsupported" \
&& test "x${enable_openmp}" != "xno"; then

0 comments on commit 42baaa1

Please sign in to comment.