]> git.ipfire.org Git - people/mfischer/ipfire-2.x.git/commitdiff
berkeley: Fix build with GCC 14
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 6 Aug 2024 09:50:49 +0000 (09:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Aug 2024 10:01:01 +0000 (10:01 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/berkeley
src/patches/db-5.2.28-sqlite-configure-path.patch [new file with mode: 0644]
src/patches/db-5.3.28-clang16.patch [new file with mode: 0644]

index 0ef917015ca5201374d152264fb7e3a934c75671..264097c59de84109226c4210a6cc5373fc7cb20e 100644 (file)
@@ -71,6 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        $(UPDATE_AUTOMAKE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/db-5.3.28-clang16.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/db-5.2.28-sqlite-configure-path.patch
+       cd $(DIR_APP)/dist && ./s_config
        cd $(DIR_APP) && sed -i "s/\(__atomic_compare_exchange\)/\1_db/" src/dbinc/atomic.h
        cd $(DIR_APP)/build_unix && ../dist/configure \
                --prefix=/usr \
diff --git a/src/patches/db-5.2.28-sqlite-configure-path.patch b/src/patches/db-5.2.28-sqlite-configure-path.patch
new file mode 100644 (file)
index 0000000..cfbe2a7
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/dist/aclocal/sql.m4
++++ b/dist/aclocal/sql.m4
+@@ -91,7 +91,7 @@
+ # !!! END COPIED from autoconf distribution
+ sqlite_dir=$srcdir/../lang/sql/sqlite
+-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1
++(cd sql && eval "\$SHELL $sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1
+ # Configure JDBC if --enable-jdbc
+ if test "$db_cv_jdbc" != "no"; then
diff --git a/src/patches/db-5.3.28-clang16.patch b/src/patches/db-5.3.28-clang16.patch
new file mode 100644 (file)
index 0000000..aab73d8
--- /dev/null
@@ -0,0 +1,325 @@
+https://bugs.gentoo.org/883413
+--- a/dist/aclocal/clock.m4
++++ b/dist/aclocal/clock.m4
+@@ -20,12 +20,14 @@ esac
+ #     existence to mean the clock really exists.
+ AC_CACHE_CHECK([for clock_gettime monotonic clock], db_cv_clock_monotonic, [
+ AC_TRY_RUN([
++#include <time.h>
+ #include <sys/time.h>
+-main() {
++int main(void) {
+       struct timespec t;
+       return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
+ }], db_cv_clock_monotonic=yes, db_cv_clock_monotonic=no,
+ AC_TRY_LINK([
++#include <time.h>
+ #include <sys/time.h>], [
+ struct timespec t;
+ clock_gettime(CLOCK_MONOTONIC, &t);
+--- a/dist/aclocal/mmap.m4
++++ b/dist/aclocal/mmap.m4
+@@ -29,6 +29,7 @@ if test "$mmap_ok" = "yes" ; then
+      * system to system.
+      */
+     #include <stdio.h>
++    #include <stdlib.h>
+     #include <string.h>
+     #include <sys/types.h>
+     #include <sys/stat.h>
+@@ -42,13 +43,12 @@ if test "$mmap_ok" = "yes" ; then
+     #define MAP_FAILED (-1)
+     #endif
+-    int catch_sig(sig)
+-          int sig;
++    void catch_sig(int sig)
+     {
+           exit(1);
+     }
+-    main() {
++    int main(void) {
+           const char *underlying;
+           unsigned gapsize;
+           char *base;
+--- a/dist/aclocal/mutex.m4
++++ b/dist/aclocal/mutex.m4
+@@ -5,7 +5,7 @@ AC_DEFUN(AM_PTHREADS_SHARED, [
+ AC_TRY_RUN([
+ #include <stdlib.h>
+ #include <pthread.h>
+-main() {
++int main(void) {
+       pthread_cond_t cond;
+       pthread_mutex_t mutex;
+       pthread_condattr_t condattr;
+@@ -49,7 +49,7 @@ AC_DEFUN(AM_PTHREADS_PRIVATE, [
+ AC_TRY_RUN([
+ #include <stdlib.h>
+ #include <pthread.h>
+-main() {
++int main(void) {
+       pthread_cond_t cond;
+       pthread_mutex_t mutex;
+       pthread_condattr_t condattr;
+@@ -89,7 +89,7 @@ AC_DEFUN(AM_PTHREADS_CONDVAR_DUPINITCHK, [
+ AC_TRY_RUN([
+ #include <stdlib.h>
+ #include <pthread.h>
+-main() {
++int main(void) {
+       pthread_cond_t cond;
+       pthread_condattr_t condattr;
+       exit(pthread_condattr_init(&condattr) ||
+@@ -110,7 +110,7 @@ AC_DEFUN(AM_PTHREADS_RWLOCKVAR_DUPINITCHK, [
+ AC_TRY_RUN([
+ #include <stdlib.h>
+ #include <pthread.h>
+-main() {
++int main(void) {
+       pthread_rwlock_t rwlock;
+       pthread_rwlockattr_t rwlockattr;
+       exit(pthread_rwlockattr_init(&rwlockattr) ||
+@@ -227,6 +227,7 @@ if test "$db_cv_mutex" = no; then
+       # LWP threads: _lwp_XXX
+       if test "$db_cv_mutex" = no; then
+       AC_TRY_LINK([
++      #include <stdlib.h>
+       #include <synch.h>],[
+               static lwp_mutex_t mi = SHAREDMUTEX;
+               static lwp_cond_t ci = SHAREDCV;
+@@ -243,6 +244,7 @@ if test "$db_cv_mutex" = no; then
+       LIBS="$LIBS -lthread"
+       AC_TRY_LINK([
+       #include <thread.h>
++      #include <stdlib.h>
+       #include <synch.h>],[
+               mutex_t mutex;
+               cond_t cond;
+@@ -258,6 +260,7 @@ if test "$db_cv_mutex" = no; then
+       if test "$db_cv_mutex" = no -o "$db_cv_mutex" = ui_only; then
+       AC_TRY_LINK([
+       #include <thread.h>
++      #include <stdlib.h>
+       #include <synch.h>],[
+               mutex_t mutex;
+               cond_t cond;
+@@ -282,7 +285,7 @@ if test "$db_cv_mutex" = no; then
+       # x86/gcc: FreeBSD, NetBSD, BSD/OS, Linux
+       AC_TRY_COMPILE(,[
+       #if (defined(i386) || defined(__i386__)) && defined(__GNUC__)
+-              exit(0);
++              return 0;
+       #else
+               FAIL TO COMPILE/LINK
+       #endif
+@@ -291,7 +294,7 @@ if test "$db_cv_mutex" = no; then
+       # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux
+       AC_TRY_COMPILE(,[
+       #if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)
+-              exit(0);
++              return 0;
+       #else
+               FAIL TO COMPILE/LINK
+       #endif
+@@ -314,7 +317,7 @@ if test "$db_cv_mutex" = no; then
+       AC_TRY_COMPILE(,[
+       #if defined(__sparc__) && defined(__GNUC__)
+               asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore");
+-              exit(0);
++              return 0;
+       #else
+               FAIL TO COMPILE/LINK
+       #endif
+@@ -356,7 +359,7 @@ AC_TRY_LINK([
+       msem_init(&x, 0);
+       msem_lock(&x, 0);
+       msem_unlock(&x, 0);
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -373,7 +376,7 @@ AC_TRY_LINK([
+       msem_init(&x, 0);
+       msem_lock(&x, 0);
+       msem_unlock(&x, 0);
+-      exit(0);
++      return 0;
+ ], [db_cv_mutex=UNIX/msem_init])
+ fi
+@@ -395,7 +398,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__USLC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -452,7 +455,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__alpha) && defined(__DECC)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -463,7 +466,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__alpha) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -474,7 +477,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__arm__) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -485,7 +488,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -496,7 +499,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -507,7 +510,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -518,7 +521,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -529,7 +532,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__MVS__) && defined(__IBMC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -540,7 +543,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__s390__) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -551,7 +554,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(__ia64) && defined(__GNUC__)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -562,7 +565,7 @@ fi
+ if test "$db_cv_mutex" = no; then
+ AC_TRY_COMPILE(,[
+ #if defined(_UTS)
+-      exit(0);
++      return 0;
+ #else
+       FAIL TO COMPILE/LINK
+ #endif
+@@ -910,9 +913,9 @@ fi
+ if test "$db_cv_atomic" = no; then
+       AC_TRY_COMPILE(,[
+       #if ((defined(i386) || defined(__i386__)) && defined(__GNUC__))
+-              exit(0);
++              return 0;
+       #elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__))
+-              exit(0);
++              return 0;
+       #else
+               FAIL TO COMPILE/LINK
+       #endif
+@@ -921,6 +924,7 @@ fi
+ if test "$db_cv_atomic" = no; then
+ AC_TRY_LINK([
++#include <stdlib.h>
+ #include <sys/atomic.h>],[
+       volatile unsigned val = 1;
+       exit (atomic_inc_uint_nv(&val) != 2 ||
+--- a/dist/aclocal/sequence.m4
++++ b/dist/aclocal/sequence.m4
+@@ -43,7 +43,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [
+       # test, which won't test for the appropriate printf format strings.
+       if test "$db_cv_build_sequence" = "yes"; then
+               AC_TRY_RUN([
+-              main() {
++              #include <stdio.h>
++              #include <string.h>
++              int main(void) {
+                       $db_cv_seq_type l;
+                       unsigned $db_cv_seq_type u;
+                       char buf@<:@100@:>@;
+@@ -59,7 +61,10 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [
+                               return (1);
+                       return (0);
+               }],, [db_cv_build_sequence="no"],
+-              AC_TRY_LINK(,[
++              AC_TRY_LINK([
++              #include <stdio.h>
++              #include <string.h>
++              ],[
+                       $db_cv_seq_type l;
+                       unsigned $db_cv_seq_type u;
+                       char buf@<:@100@:>@;
+--- a/dist/aclocal/types.m4
++++ b/dist/aclocal/types.m4
+@@ -69,7 +69,7 @@ AC_SUBST(stdint_h_decl)
+ AC_MSG_CHECKING(for stdint.h)
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+ #include <stdint.h>
+-  int main() {
++  int main(void) {
+   uint_least8_t x=0;
+   return x;
+   }])],[AC_MSG_RESULT(yes)
+@@ -77,7 +77,7 @@ if test "$db_cv_cxx" = "yes"; then
+   AC_MSG_CHECKING([if stdint.h can be used by C++])
+   AC_LANG_PUSH(C++)
+   AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <stdint.h>
+-    int main() {
++    int main(void) {
+     uint_least8_t x=0;
+     return x;
+   }])],[AC_MSG_RESULT(yes)