Package: ucx
Version: 1.21.0~rc2-1
Severity: serious
Tags: sid, patch
Justification: fails to build from source
User: [email protected]
Usertags: ppc64el
X-Debbugs-Cc: [email protected]
Dear Maintainers,
The ucx package fails to build from source on ppc64el architecture due
to a missing header include.
see build log on ppc64el:
https://buildd.debian.org/status/fetch.php?pkg=ucx&arch=ppc64el&ver=1.21.0%7Erc2-1&stamp=1781278165&raw=0
/build/reproducible-path/ucx-1.21.0~rc2/src/ucs/time/time.h: In function
'ucs_time_units_to_sec':
/build/reproducible-path/ucx-1.21.0~rc2/src/ucs/time/time.h:166:16:
error: 'UCS_INFINITY' undeclared (first use in this function); did you
mean 'FP_INFINITE'?
166 | return UCS_INFINITY;
| ^~~~~~~~~~~~
| FP_INFINITE
/build/reproducible-path/ucx-1.21.0~rc2/src/ucs/time/time.h:166:16:
note: each undeclared identifier is reported only once for each function
it appears in
make[4]: *** [Makefile:869: util/libucm_la-log.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
Solution:
As time.h directly uses UCS_INFINITY.
Add #include <ucs/sys/math.h> to src/ucs/time/time.h to make it
self-contained.
Patch:
I have created and tested a patch that fixes this issue. The patch
adds the missing include in src/ucs/time/time.h:
--- ucx-1.21.0~rc2.orig/src/ucs/time/time.h
+++ ucx-1.21.0~rc2/src/ucs/time/time.h
@@ -10,6 +10,7 @@
#include <ucs/arch/cpu.h>
#include <ucs/time/time_def.h>
#include <sys/time.h>
+#include <ucs/sys/math.h>
#include <limits.h>
#include <math.h>
After applying this patch, the package builds successfully on ppc64el.
Please review the patch and let me know if any additional changes are
required.
Thanks,
Trupti