Skip to content

Commit 1c789a6

Browse files
committed
BUILD: relax GCC 14 strictness for BerkeleyDB 6.1.26
GCC 14 turned -Wincompatible-pointer-types, -Wint-conversion and -Wimplicit-function-declaration into errors by default. BDB 6.1.26 uses K&R-style function pointer assignments in env_config.c that trip the first. Pass -Wno-error=... for the three for the BDB configure only. The original Dockerfile would hit the same break on a fresh build against current Fedora 44 packages; the previously-published image was made against an older cross-gcc where these were still warnings.
1 parent b335c34 commit 1c789a6

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,19 @@ RUN tar xzf /tmp/deps/uuid-${UUID_VERSION}.tar.gz && \
107107
# means the .la / .pc files inside the staging tree refer to a path that
108108
# starts with /staging/...; we sed those back to the on-target prefix
109109
# before the COPY out of the stage.
110+
#
111+
# GCC 14 turned -Wincompatible-pointer-types, -Wint-conversion and
112+
# -Wimplicit-function-declaration into errors by default; BDB 6.1.26
113+
# pre-dates that and uses K&R-style function pointer assignments that
114+
# trip the first. Relax with -Wno-error=... for these three.
110115
RUN tar xzf /tmp/deps/db-${BDB_VERSION}.tar.gz && \
111116
( cd db-${BDB_VERSION}/build_unix && \
112117
sed -i -e "s:WinIoCtl.h:winioctl.h:" ../src/dbinc/win_db.h && \
113118
sed -i -e 's@\(#include "dbinc/txn.h"\)@\1\nint __repmgr_get_nsites __P((ENV *, u_int32_t *));\n@' \
114119
../src/rep/rep_method.c && \
120+
CFLAGS="-Wno-error=incompatible-pointer-types \
121+
-Wno-error=int-conversion \
122+
-Wno-error=implicit-function-declaration" \
115123
../dist/configure --enable-mingw --host=$CROSS64 \
116124
--prefix="$STAGING$MINGW64_ROOT" \
117125
--enable-shared --disable-static && \

0 commit comments

Comments
 (0)