archivers/rpm4: fix build with clang 15
During an exp-run for llvm 15 (see bug 265425), it turned out that archivers/rpm4 failed to build with clang 15: tools/rpmuncompress.c:101:23: warning: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] const char *bn = basename(fn); ^ tools/rpmuncompress.c:101:18: error: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion] const char *bn = basename(fn); ^ ~~~~~~~~~~~~ This is because basename(3) is defined in <libgen.h>. After this include is added to rpmuncompress.c, link errors still occur: ld: error: undefined symbol: WIFEXITED >>> referenced by rpmuncompress.c >>> tools/rpmuncompress.o:(main) ld: error: undefined symbol: WEXITSTATUS >>> referenced by rpmuncompress.c >>> tools/rpmuncompress.o:(main) This is because WIFEXITED() and WEXITSTATUS() are macros defined in <sys/wait.h>. PR: 268341 Approved by: rodrigo (maintainer) MFH: 2022Q4
This commit is contained in:
parent
8161d12fcc
commit
b06956644e
|
@ -1,9 +1,12 @@
|
|||
--- tools/rpmuncompress.c.orig 2022-08-30 11:42:23 UTC
|
||||
+++ tools/rpmuncompress.c
|
||||
@@ -1,5 +1,6 @@
|
||||
@@ -1,7 +1,9 @@
|
||||
#include "system.h"
|
||||
|
||||
+#include <sys/wait.h>
|
||||
#include <popt.h>
|
||||
#include <errno.h>
|
||||
+#include <libgen.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user