Bug 274918 - databases/mysql80-server: fails with alignment error on i386 [patch]
Summary: databases/mysql80-server: fails with alignment error on i386 [patch]
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jochen Neumeister
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-04 19:04 UTC by Martin Birgmeier
Modified: 2023-12-02 09:23 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (joneum)


Attachments
patch to fix mysql80-server on i386 (1.64 KB, patch)
2023-11-04 19:04 UTC, Martin Birgmeier
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Birgmeier 2023-11-04 19:04:56 UTC
Created attachment 246122 [details]
patch to fix mysql80-server on i386

Scenario:
- FreeBSD stable/14 098273e6
- System = i386 KVM (Linux)
- ports latest
- using portmaster to build ports
- building databases/mysql80-server 8.0.33

Result:
- Build fails with (edited for brevity)

In file included from .../work/mysql-8.0.33/sql/rpl_rli.cc:53:
In file included from .../mysql-8.0.33/sql/auth/sql_auth_cache.h:28:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/graph/adjacency_list.hpp:20:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/unordered_set.hpp:17:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/unordered/unordered_set.hpp:19:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/move/move.hpp:29:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/move/utility.hpp:30:
In file included from .../mysql-8.0.33/boost/boost_1_77_0/boost/move/traits.hpp:31:
.../mysql-8.0.33/boost/boost_1_77_0/boost/move/detail/type_traits.hpp:1107:21: error: size of array element of type 'long double' (12 bytes) isn't a multiple of its alignment (8 bytes)
{  long double dummy[4];  };
                    ^
.../mysql-8.0.33/boost/boost_1_77_0/boost/move/detail/type_traits.hpp:1125:28: error: size of array element of type 'long double' (12 bytes) isn't a multiple of its alignment (8 bytes)
   long double long_double_[4];
                           ^
2 errors generated.
*** [sql/CMakeFiles/rpl_replica.dir/rpl_rli.cc.o] Error code 1

Expected result:
- build should succeed

A (crude) patch is attached. The problem probably stems from -malign-double, which is not used with devel/boost-libs, which can be built successfully.

The resulting binary has not yet been tested.

-- Martin
Comment 1 commit-hook freebsd_committer freebsd_triage 2023-12-01 05:45:54 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bbc7f225adae1c20fa9a4d3e28e544eb51730075

commit bbc7f225adae1c20fa9a4d3e28e544eb51730075
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2023-12-01 05:42:15 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2023-12-01 05:45:32 +0000

    databases/mysql80-server: Fix build

    Fix aarch64 (1) and i386 (2) build

    Reported by:    fluffy (1)
    PR:     274918 (2) Martin Birgmeier <d8zNeCFG@aon.at>

    Sponsored by:   Netzkommune GmbH

 databases/mysql80-server/Makefile                    |  5 +++++
 ...st_1_77_0-boost-move-detail-type_traits.hpp (new) | 20 ++++++++++++++++++++
 .../patch-storage_innobase_include_ut0crc32.h (new)  | 12 ++++++++++++
 3 files changed, 37 insertions(+)