Hi all,
I'm really new to DPDK, so please excuse me if I'm sending this to the wrong list and/or got some details wrong.
I'm trying to compile DPDK
release 25.06 from source, with the goal of exploring CUDA/DMA for
packet processing. Compiling the project worked fine, until I realized the GDRCopy feature needs some extra flags to actually get enabled, after which my compile broke. I pasted the
relevant part of it below, that chain was repeating a few times.
../drivers/gpu/cuda/gdrcopy.c: In function ‘gdrcopy_loader’:
../lib/log/rte_log.h:364:9: error: static assertion failed: "This log format string contains a \\n"
364 | static_assert(!__builtin_strchr(fmt, '\n'), \
| ^~~~~~~~~~~~~
../lib/log/rte_log.h:387:9: note: in expansion of macro ‘RTE_LOG_CHECK_NO_NEWLINE’
387 | RTE_LOG_CHECK_NO_NEWLINE(RTE_FMT_HEAD(__VA_ARGS__ ,)); \
| ^~~~~~~~~~~~~~~~~~~~~~~~
../drivers/gpu/cuda/common.h:20:9: note: in expansion of macro ‘RTE_LOG_LINE’
20 | RTE_LOG_LINE(level, CUDA, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~
../drivers/gpu/cuda/gdrcopy.c:31:17: note: in expansion of macro ‘rte_cuda_log’
31 | rte_cuda_log(ERR, "Failed to find GDRCopy library %s (GDRCOPY_PATH_L=%s)\n",
| ^~~~~~~~~~~~
When
I looked in drivers/gpu/cuda/gdrcopy.c, there were indeed a couple of
log statements that ended with a newline character. Removing those
newlines has solved the compilation errors.
I
tried to search the email archive for this issue, but have been unable
to find anything. If it indeed is a new issue, would it be helpful for
me to submit a patch?
With kind regards,
Jetse