gcc8 includes a warning when a string format may not fit into its buffer in sprintf calls:
gcc -Wno-override-init -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/ExternalLibraries/PAPI/dist/papi-5.3.0/src/libpfm4/lib/../include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -D_REENTRANT -I. -DCONFIG_PFMLIB_ARCH_X86 -DCONFIG_PFMLIB_ARCH_X86_64 -I. -c pfmlib_perf_event_pmu.c pfmlib_perf_event_pmu.c: In function ‘gen_tracepoint_table’: pfmlib_perf_event_pmu.c:349:36: error: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=] snprintf(d2path, MAXPATHLEN, "%s/%s", debugfs_mnt, d1->d_name);
and since PAPI hard-codes an option
-Werror it fails to compile. The same issue persists with PAPI 5.6.0 which seems to be the newest version for which a tarball is available.
A workaround would be to patch out the
-Werror option, which is annoying on a production system anyway, or to try and only selectively disable the buffer warning.