git: ba9f8de67ed9 - main - databases/mysql80-server: fix build of client on powerpc
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 02 Mar 2023 18:43:32 UTC
The branch main has been updated by pkubaj:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ba9f8de67ed96731d4b6f6e9c73df056793a9e0c
commit ba9f8de67ed96731d4b6f6e9c73df056793a9e0c
Author: Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-03-02 18:43:16 +0000
Commit: Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-03-02 18:43:16 +0000
databases/mysql80-server: fix build of client on powerpc
On powerpc, clang miscompiles comp_err, which later fails at runtime with:
-> 0x102ff48c <+16>: .long 0x0006ee74 ; unknown opcode
The problem happens because of line:
frame #0: 0x10323eb4 comp_err`set_my_errno(my_errno=-10608) at my_thr_init.cc:344:47
GCC can compile client, but without -malign-double. It also needs to link to
libatomic (so building without GCC installed wouldn't work anyway).
This only fixes client. Server still fails to build because of:
/wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.32/storage/innobase/include/log0sys.h:190:60: error: static assertion failed
190 | static_assert(decltype(write_to_file_requests_interval)::is_always_lock_free);
---
databases/mysql80-server/Makefile | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile
index e85c20172dd2..06864573e5f2 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -15,8 +15,8 @@ LICENSE= GPLv2
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX}
SLAVEDIRS= databases/mysql80-client
-USES= bison:build cmake:noninja compiler:c++17-lang cpe \
- groff:run libedit localbase ncurses perl5 pkgconfig shebangfix ssl
+USES= bison:build cmake:noninja cpe groff:run libedit localbase \
+ ncurses perl5 pkgconfig shebangfix ssl
CPE_VENDOR= oracle
@@ -53,7 +53,7 @@ BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind
BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind
CMAKE_BUILD_TYPE= Release
-CFLAGS+= -fPIC -malign-double
+CFLAGS+= -fPIC
CFLAGS_aarch64?= -march=armv8-a+crc+crypto
CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
@@ -184,6 +184,14 @@ FEDERATED_SUB_LIST_OFF+= FEDER=""
SSP_UNSAFE= yes
.endif
+.if ${ARCH} == powerpc
+LDFLAGS+= -latomic
+USES+= compiler:gcc-c++11-lib
+.else
+CXXFLAGS+= -malign-double
+USES+= compiler:c++17-lang
+.endif
+
post-extract:
@${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h