Skip to content

Conversation

@clan
Copy link

@clan clan commented Dec 8, 2025

when building on Gentoo with the musl profile, gcc 15 reports the following errors:

In file included from /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/src/provider_options.cpp:20:
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:114:30: error: unknown type name 'int64_t'
114 | option_value_int(int64_t value)
| ^
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:13: error: unknown type name 'int64_t'
127 | int64_t value_;
| ^
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:21: warning: private field 'value_' is not used [-Wunused-private-field]
127 | int64_t value_;
| ^
1 warning and 2 errors generated.

The root cause is that including <memory> pulls in bits/align.h, and GCC 15 has removed the implicit inclusion of <stdint.h> from bits/align.h. As a result, int64_t is no longer defined unless <cstdint> is explicitly included.

This patch adds the missing <cstdint> include to fix the build.

when building on Gentoo with the musl profile, gcc 15 reports the
following errors:

> In file included from /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/src/provider_options.cpp:20:
> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:114:30: error: unknown type name 'int64_t'
>   114 |             option_value_int(int64_t value)
>       |                              ^
> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:13: error: unknown type name 'int64_t'
>   127 |             int64_t value_;
>       |             ^
> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:21: warning: private field 'value_' is not used [-Wunused-private-field]
>   127 |             int64_t value_;
>       |                     ^
> 1 warning and 2 errors generated.

The root cause is that including <memory> pulls in bits/align.h, and GCC
15 has removed the implicit inclusion of <stdint.h> from bits/align.h.
As a result, int64_t is no longer defined unless <cstdint> is explicitly
included.

This patch adds the missing <cstdint> include to fix the build.

Signed-off-by: Z. Liu <[email protected]>
@janlindstrom janlindstrom self-assigned this Dec 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants