Skip to content

Native: fix GCC 15 and 64-bit compatibility - #528

Draft
jzhvymetal wants to merge 1 commit into
google:masterfrom
opensagetv-vibe:sagetv-review/native-gcc15-64bit
Draft

jzhvymetal wants to merge 1 commit into
google:masterfrom
opensagetv-vibe:sagetv-review/native-gcc15-64bit

Conversation

@jzhvymetal

@jzhvymetal jzhvymetal commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • modernize native function prototypes and POSIX thread entry signatures
  • correct pointer, handle, IPC, and iovec conversions for 64-bit builds
  • retain the existing runtime contracts while allowing current GCC toolchains to compile the sources

Validation

  • Complete Java suite passed in the Vibe extraction workspace.
  • Native compilation advances to the separately known legacy bundled-JPEG baseline failure.

Review state

Draft while the broad native patch is split into independently reviewable maintenance changes. The applicable changes are intended for canonical SageTV so it can compile on current GCC/64-bit Linux environments; an upstream-supported platform matrix is still required before merge.


This replaces OpenSageTV#13, which was opened against an intermediate fork instead of the canonical SageTV repository. The topic was replayed without patch changes onto the current canonical master.

Maintenance triage (2026-09-29)

Disposition: active canonical modernization work; draft until split into reviewable patches.

Maintenance need: current GCC 15/64-bit compilation exposes obsolete prototypes, thread entry signatures, pointer/integer conversions, IPC layout assumptions, and bundled-library warnings/errors. These changes were required to advance the Vibe Ubuntu 26 build.

Available evidence: Java tests pass and native compilation advances to the separately known bundled-JPEG baseline. That is not a complete upstream platform matrix, and the patch touches multiple independent native subsystems.

Before review, split by native subsystem, retain the exact compiler diagnostics fixed by each change, and test the upstream-supported Linux architectures plus any affected Windows/macOS shared source. These smaller changes are intended for canonical SageTV; successful compilation alone does not prove a runtime behavior change.

Current-Ubuntu container dependency

This is the native-compiler prerequisite for the canonical current-Ubuntu container path. It is independent of #516 (launcher) and #519 (source-clean build), and it precedes the Ubuntu/ImageLoader work currently stacked in #529. After the Core changes pass individually, a separate OpenSageTV/sagetv-dockers PR will own the non-root runtime image, packages, supervisor, health checks, and GPU device documentation. This draft should be split by native subsystem before merge review.

@google-cla

google-cla Bot commented Sep 29, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

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.

1 participant