[Bug 277896] databases/mysql80-server databases/mysql81-server: fix build with libc++ 18 on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Mar 2024 20:49:34 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277896
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.
--
You are receiving this mail because:
You are the assignee for the bug.