-
Notifications
You must be signed in to change notification settings - Fork 13
Closed
Description
Trying to print a help, for example to know which options are available, causes the Python bindings to abort. In a test installation with Score-P v8.4 and Python 3.10 in Ubuntu 22.04 LTS, I got the following error message when trying this workflow:
$ python3 -m scorep --help
scorep: Did not find a script to run
$ python3 -m scorep --help test.py
/tmp/scorep.xuh2d3d7/scorep_init.c:2:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
2 | Usage:
| ^
/tmp/scorep.xuh2d3d7/scorep_init.c:113:24: error: stray ‘@’ in program
113 | Report bugs to <support@score-p.org>
| ^
Traceback (most recent call last):
File "/usr/lib/python3.10/distutils/unixccompiler.py", line 117, in _compile
self.spawn(compiler_so + cc_args + [src, '-o', obj] +
File "/usr/lib/python3.10/distutils/ccompiler.py", line 910, in spawn
spawn(cmd, dry_run=self.dry_run)
File "/usr/lib/python3.10/distutils/spawn.py", line 91, in spawn
raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/cc' failed with exit code 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/jreuter/Env/test_Env/lib/python3.10/site-packages/scorep/__main__.py", line 142, in <module>
scorep_main()
File "/home/jreuter/Env/test_Env/lib/python3.10/site-packages/scorep/__main__.py", line 77, in scorep_main
scorep.subsystem.init_environment(scorep_config, keep_files, verbose)
File "/home/jreuter/Env/test_Env/lib/python3.10/site-packages/scorep/subsystem.py", line 129, in init_environment
subsystem_lib_name, temp_dir = generate(scorep_config, keep_files)
File "/home/jreuter/Env/test_Env/lib/python3.10/site-packages/scorep/subsystem.py", line 94, in generate
compiled_subsystem = cc.compile(
File "/usr/lib/python3.10/distutils/ccompiler.py", line 574, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/usr/lib/python3.10/distutils/unixccompiler.py", line 120, in _compile
raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/cc' failed with exit code 1It looks like the help option is directly passed to scorep-config. This is fine. However, it should then not continue trying to instrument the file. In theory, the command should also work without passing a Python file to instrument.
Environment:
scorep-info config-summary:
Click to open
Configure command:
../configure '--prefix=/opt/apps/software/Compilers/MPI/GCCcore/GCCcore/OpenMPI/5.0.5/Score-P/8.4/' \
'--with-nocross-compiler-suite=gcc' \
'--enable-shared' \
'--enable-debug' \
'--enable-default=ompt' \
'--without-shmem' \
'--with-libcupti=/opt/apps/software/Core/Libraries/CUDA/12.5.1/extras/CUPTI/'
Environment modules loaded:
module load GCCcore/GCCcore \
OpenMPI/5.0.5 \
CubeLib/4.8.2 \
CubeWriter/4.8.2 \
OTF2/3.1-rc3 \
OPARI2/2.0.8 \
libbfd/2.42 \
PAPI/7.1 \
CUDA/12.5.1
Configuration summary:
Score-P 8.4:
Platform: linux (auto detected)
Cross compiling: no (auto detected)
Machine name: Linux
otf2 support: yes, using external via /opt/apps/software/Core/SWAT/OTF2/3.1-rc3/bin/otf2-config
opari2 support: yes, using external via /opt/apps/software/Core/SWAT/OPARI2/2.0.8/bin/opari2-config
cubew support: yes, using external via /opt/apps/software/Core/SWAT/CubeWriter/4.8.2/bin/cubew-config
cubelib support: yes, using external via /opt/apps/software/Core/SWAT/CubeLib/4.8.2/bin/cubelib-config
SHMEM support: no, explicitly disabled via --without-shmem
Score-P (backend):
C99 compiler: /usr/bin/gcc (gnu 11.4.0)
C++11 compiler: /usr/bin/g++ -std=c++11 (gnu 11.4.0)
Fortran compiler: /usr/bin/gfortran (gnu)
Fortran 77 compiler: /usr/bin/gfortran
Link mode: static=yes, shared=yes
Pthread support: yes, using gcc -pthread -lpthread
Compiler instrumentation: yes
C: gcc_plugin
C++: gcc_plugin
Fortran: gcc_plugin
Compiler constructor: yes, using attribute syntax with arguments
GCC atomic builtins: yes
TLS support: yes, using __thread and the initial-exec model
addr2line support: yes
libbfd found: yes, has cplus_demangle
dl_iterate_phdr: yes
rtld-audit: yes, via --audit instrumentation or LD_AUDIT environment variable
PAPI support: yes
metric perf support: yes
Unwinding support: yes
Sampling support: yes, using -D_GNU_SOURCE, sa_sigaction
getrusage support: yes
RUSAGE_THREAD support: yes, using -D_GNU_SOURCE
dlfcn support: yes, using -ldl
OpenCL support: yes
libOpenCL found: yes, using -lOpenCL
I/O Recording features:
POSIX I/O support: yes
POSIX asynchronous I/O support: \
yes
OTF2 features:
SIONlib support: no
CUDA support: yes
libcudart found: yes, using -lcudart
libcuda found: yes, using -lcuda
libcupti found: yes, using -I/opt/apps/software/Core/Libraries/CUDA/12.5.1/extras/CUPTI//include -L/opt/apps/software/Core/Libraries/CUDA/12.5.1/extras/CUPTI//lib64 \
-R/opt/apps/software/Core/Libraries/CUDA/12.5.1/extras/CUPTI//lib64 -lcupti
libnvidia-ml found: yes, using -lnvidia-ml
CUDA version: 12050
nvcc works: yes, using nvcc -ccbin g++
HIP support: no
libamdhip64 found: no
libroctracer64 found: no
librocm_smi64 found: no
OpenACC support: yes, with compiler flag
Kokkos support: yes
Mount point extraction: yes
Lustre stripe info support: \
no, missing lustre/lustreapi.h header
OpenMP support: yes
C support: yes, recognizing -fopenmp --openmp
C++ support: yes, recognizing -fopenmp --openmp
Fortran support: yes, recognizing -fopenmp --openmp
OpenMP pomp_tpd: yes
OpenMP ancestry: yes
OMPT support: no
OMPT header: no
PDT support: no
Timer support: yes, providing gettimeofday, clock_gettime(CLOCK_MONOTONIC_RAW), tsc (X86_64)
Timer LDFLAGS: -lm
Memory tracking support: yes
Compiler wrappers: scorep-gcc \
scorep-g++ \
scorep-gfortran \
scorep-mpicc \
scorep-mpicxx \
scorep-mpif77 \
scorep-mpif90 \
scorep-nvcc
User library wrappers support: \
no
Score-P (GCC plug-in):
C++11 compiler: /usr/bin/g++ -std=c++11 (gnu 11.4.0)
GCC atomic builtins: yes
TLS support: yes, using __thread and the initial-exec model
GCC plug-in support: yes, using the C++ compiler and -I/usr/lib/gcc/x86_64-linux-gnu/11/plugin/include
Score-P (libwrap):
GCC atomic builtins: yes
TLS support: yes, using __thread and the initial-exec model
Library wrapper support: no, llvm-config not found
Score-P (MPI backend):
MPI C99 compiler: /opt/apps/software/MPI/OpenMPI/5.0.5/GCCcore/GCCcore/bin/mpicc (gnu 11.4.0)
MPI C++11 compiler: /opt/apps/software/MPI/OpenMPI/5.0.5/GCCcore/GCCcore/bin/mpicxx -std=c++11 (gnu 11.4.0)
MPI Fortran compiler: /opt/apps/software/MPI/OpenMPI/5.0.5/GCCcore/GCCcore/bin/mpif90 (gnu)
MPI Fortran 77 compiler: /opt/apps/software/MPI/OpenMPI/5.0.5/GCCcore/GCCcore/bin/mpif77
Library used for MPI:
CUDA support: yes
nvcc works: yes, using nvcc -ccbin mpicxx
PDT MPI instrumentation: yes, if PDT available
Score-P (score):
C compiler: /usr/bin/gcc -std=gnu99 (gnu 11.4.0)
C++ compiler: /usr/bin/g++ -std=c++11 (gnu 11.4.0)
cube c++ library support: yes, using -I/opt/apps/software/Core/SWAT/CubeLib/4.8.2/include/cubelib -L/opt/apps/software/Core/SWAT/CubeLib/4.8.2/lib \
-Wl,-rpath -Wl,/opt/apps/software/Core/SWAT/CubeLib/4.8.2/lib -lcube4 -lz -lpthread
GCC atomic builtins: yes
TLS support: yes, using __thread and the initial-exec model
mxmlnkn
Metadata
Metadata
Assignees
Labels
No labels