summaryrefslogtreecommitdiff
path: root/databases/mariadb118-server/files/patch-FreeBSD15
diff options
context:
space:
mode:
Diffstat (limited to 'databases/mariadb118-server/files/patch-FreeBSD15')
-rw-r--r--databases/mariadb118-server/files/patch-FreeBSD1541
1 files changed, 41 insertions, 0 deletions
diff --git a/databases/mariadb118-server/files/patch-FreeBSD15 b/databases/mariadb118-server/files/patch-FreeBSD15
new file mode 100644
index 000000000000..7fb744032638
--- /dev/null
+++ b/databases/mariadb118-server/files/patch-FreeBSD15
@@ -0,0 +1,41 @@
+From 056494a7e62373f284d0779f75de90c2dea20794 Mon Sep 17 00:00:00 2001
+From: Florian Smeets <flo@FreeBSD.org>
+Date: Mon, 9 Jun 2025 15:51:00 +0200
+Subject: [PATCH] Fix bootstrapping Galera nodes on FreeBSD 15.0
+
+Commit https://github.com/MariaDB/server/commit/606c867e7fec4507bd1225f9abf2d0aa664b6ab6
+broke bootstrapping nodes on FreeBSD 15.0 with mariadb-backup.
+We should not need LD_LIBRARY_PATH trickery on FreeBSD, so skip setting
+it same as on Darwin. Alternatively putting /lib before /usr/lib also
+fixes it.
+
+WSREP_SST: [INFO] Preparing the backup at /var/db/mysql/.sst (20250608 14:44:04.000)
+WSREP_SST: [INFO] Evaluating /usr/local/bin/mariadb-backup --prepare --log-bin='/var/db/mysql-logs/mysql-bin' --use-memory=12G --target-dir='/var/db/mysql/.sst' --datadir='/var/db/mysql/.sst' --mysqld-args '--basedir=/usr/local' '--plugin-dir=/usr/local/lib/mysql/plugin' '--wsrep_provider=/usr/local/lib/libgalera_smm.so' '--wsrep_on=ON' '--wsrep_provider=/usr/local/lib/libgalera_smm.so' '--wsrep_on=ON' '--log-error=/var/db/mysql/db4.nexxtmobile.de.err' '--pid-file=/var/run/mysql/mysqld.pid' '--wsrep_start_position=00000000-0000-0000-0000-000000000000:-1,0-0-0' > '/var/db/mysql/mariabackup.prepare.log' 2>&1 (20250608 14:44:04.000)
+WSREP_SST: [ERROR] Cleanup after exit with status: 1 (20250608 14:44:04.000)
+
+With the following error in /var/db/mysql/mariabackup.prepare.log:
+ld-elf.so.1: /usr/local/bin/mariadb-backup: Undefined symbol "_ZNSt3__117bad_function_callD1Ev"
+
+I did not look for the root cause in FreeBSD 15.0 that changed this
+behaviour. Calling mariadb-backup directly from the shell works fine on
+FreeBSD 14.x and 15.x when LD_LIBRARY_PATH is not set (when using
+FreeBSD packages or installing from FreeBSD ports). Setting
+LD_LIBRARY_PATH manually like the script does, breaks mariadb-backup
+with the "Undefined symbol" error on FreeBSD 15.0 but not on 14.x.
+---
+ scripts/wsrep_sst_common.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/wsrep_sst_common.sh b/scripts/wsrep_sst_common.sh
+index 38aa18d5f6967..edde8328effe9 100644
+--- scripts/wsrep_sst_common.sh.orig
++++ scripts/wsrep_sst_common.sh
+@@ -25,7 +25,7 @@ OS="$(uname)"
+
+ # Setting the paths for some utilities on CentOS
+ export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"
+-if [ "$OS" != 'Darwin' ]; then
++if [ "$OS" != 'Darwin' ] && [ "$OS" != 'FreeBSD' ]; then
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}/usr/local/lib:/usr/lib:/lib:/opt/lib"
+ fi
+