Date: Fri, 22 Mar 2024 20:49:34 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 277896] databases/mysql80-server databases/mysql81-server: fix build with libc++ 18 on i386 Message-ID: <bug-277896-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D277896 Bug ID: 277896 Summary: databases/mysql80-server databases/mysql81-server: fix build with libc++ 18 on i386 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: joneum@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(joneum@FreeBSD.org) Assignee: joneum@FreeBSD.org When building against libc++ 18, several iostream classes now get inlined into C++ binaries for efficiency. But because the mysql ports use -malign-double on non-powerpc architectures, this causes an ABI problem with libc++.so, which has not been built with that flag, at least on i386. This can cause segfaults during the build of the port. If it is not the architecture default, as it is on amd64, -malign-double should not be used without recompiling basically the entire userspace runtime. Quoting the gcc docs: > Warning: if you use the -malign-double switch, structures containing > the above types are aligned differently than the published application > binary interface specifications for the x86-32 and are not binary > compatible with structures in code compiled without that switch. Hence, remove -malign-double from CXXFLAGS for these ports. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-277896-7788>