Commit 1ff179d
committed
Fix Kerberos build on Alpine 3.23+ (GCC 15/C23)
Alpine 3.23 ships with GCC 15, which uses C23 as the default language
standard. In C23, empty parentheses `()` in function declarations mean
"no arguments" (like C++) instead of "unspecified arguments" (C17 and
earlier).
Several dependencies (MIT Kerberos 1.21.3, Cyrus SASL 2.1.28) use
old-style K&R declarations that conflict with proper prototypes,
causing build errors like:
error: conflicting types for 'ss_delete_info_dir'; have 'void(void)'
error: too many arguments to function 'MD5_memcpy'; expected 0
This fix adds -std=gnu17 globally in setup_musl_compiler() to force
C17 semantics for all dependency builds. This is fully backwards
compatible since GCC 8-14 already used gnu17 as the default.1 parent de06b7d commit 1ff179d
1 file changed
+8
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
139 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
140 | 145 | | |
141 | 146 | | |
142 | 147 | | |
143 | | - | |
| 148 | + | |
144 | 149 | | |
145 | 150 | | |
146 | 151 | | |
| |||
0 commit comments