Skip to content

ppg:devel:18: fix pg_tde build problems - #3

Merged
rjd15372 merged 2 commits into
mainfrom
fix-pgtde
Jul 27, 2026
Merged

ppg:devel:18: fix pg_tde build problems#3
rjd15372 merged 2 commits into
mainfrom
fix-pgtde

Conversation

@rjd15372

Copy link
Copy Markdown
Collaborator

No description provided.

rjd15372 added 2 commits July 27, 2026 16:55
Upstream commit 844379e (post-2.2.1) switched the KMIP support to a new
C++ KMIP client library and set cpp_std=c++20 on the pg_tde targets.
meson only knows the "c++20" value from 0.57 on, so meson 0.56.2 on
Debian 11 aborts at configure time with:

  ERROR: Value "c++20" ... is not one of the choices

Carry a Debian packaging patch (3.0 quilt) that switches the two
override_options to the pre-ratification spelling "c++2a", which meson
0.56 accepts and gcc/clang treat identically to c++20. The libkmip cmake
subproject needs no change: cmake already emits -std=c++2a for
CMAKE_CXX_STANDARD 20 on gcc 10.

Verified by container builds against the published staging:18 repos:
all 118 targets compile and link on both Debian 11 (meson 0.56.2,
g++ 10) and Debian 13 (meson 1.7.0, g++ 14).

Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
Upstream commit 844379e (post-2.2.1) made pg_tde need a C++ compiler for
the new C++ KMIP client library. On openSUSE Tumbleweed and Leap 16 the
spec never installed one, so meson fell back to clang++ (present only via
the llvmjit BuildRequires) while C was still compiled by gcc. With SUSE's
default -flto=auto that mixed toolchain cannot be linked: gcc-ar cannot
index clang LLVM bitcode archives and clang's ld.bfd cannot read gcc LTO
objects, failing with

  libkmipclient.a: error adding symbols: archive has no index
  plugin needed to handle lto object

Add gcc-c++ to the suse_version BuildRequires so meson picks c++ (g++)
and the whole build uses one toolchain.

Verified in a Tumbleweed container against the published staging:18 repo
with clang installed and -flto=auto in C/CXX/LDFLAGS: meson selects
c++ (gcc 15.3.0), all targets link, pg_tde.so is produced.

Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
@rjd15372 rjd15372 added openSUSE_Leap_16 openSUSE_Tumbleweed no-dep-cascade If used with `obs-sync*` labels, it prevents from packages that were not changed from being built Debian_11 labels Jul 27, 2026
@CLAassistant

CLAassistant commented Jul 27, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@rjd15372 rjd15372 added the obs-sync Trigger OBS sync push label Jul 27, 2026
@rjd15372
rjd15372 merged commit 074f56d into main Jul 27, 2026
14 of 20 checks passed
@github-actions

Copy link
Copy Markdown

OBS Build Check — ⏱️ Build polling cancelled

Packages for this PR are being built at isv:percona:PR:pr-3.

Packages
Built from PR sources 8
Reused from main binaries 59

Updated: 2026-07-27 22:27 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Debian_11 no-dep-cascade If used with `obs-sync*` labels, it prevents from packages that were not changed from being built obs-sync Trigger OBS sync push openSUSE_Leap_16 openSUSE_Tumbleweed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants