Skip to content

Comments

Build static binary with CGO_ENABLED=0 to fix glibc version mismatch#4

Merged
exploded merged 4 commits intomasterfrom
claude/github-linode-deployment-tSEGu
Feb 23, 2026
Merged

Build static binary with CGO_ENABLED=0 to fix glibc version mismatch#4
exploded merged 4 commits intomasterfrom
claude/github-linode-deployment-tSEGu

Conversation

@exploded
Copy link
Owner

The server's glibc is older than what the GitHub Actions runner (Ubuntu 24.04) links against. The binary was requiring GLIBC_2.32 and GLIBC_2.34 but the server only has 2.31 or earlier.

Setting CGO_ENABLED=0 produces a fully static binary with no glibc dependency, which runs on any Linux regardless of libc version.

https://claude.ai/code/session_01SvqeKxC2hJbDnDAViSJSDk

The server's glibc is older than what the GitHub Actions runner (Ubuntu
24.04) links against. The binary was requiring GLIBC_2.32 and GLIBC_2.34
but the server only has 2.31 or earlier.

Setting CGO_ENABLED=0 produces a fully static binary with no glibc
dependency, which runs on any Linux regardless of libc version.

https://claude.ai/code/session_01SvqeKxC2hJbDnDAViSJSDk
The riseset module (v1.0.1-0.20260220080739-24891d86367a) added two new
boolean fields to RiseSet: AlwaysAbove and AlwaysBelow, which distinguish
"object never sets" (midnight sun) from "object never rises" (polar night).
Previously both cases returned "-" for Rise and Set with no way to tell them apart.

Changes:
- go.mod/go.sum: upgrade to new riseset pseudo-version with the new fields
- moon.go: use named constants riseset.Moon and riseset.Sun instead of
  magic numbers 1 and 2; new JSON fields are included automatically
- calendar.html: render "Always above" / "Always below" in the table
  instead of showing "-" for polar day/night conditions
- static/script.js: handle AlwaysAbove and AlwaysBelow in the /gettimes
  JSON response, displaying a descriptive message in the Rise/Set fields

https://claude.ai/code/session_01T2dm9m2XwVaWyvAx6CDfhM
The app previously hardcoded :8181 which caused a startup crash when
that port was already in use on the server. The port is now read from
the PORT env var (falling back to 8181 if unset), so it can be
controlled via /var/www/moon/.env alongside GOOGLE_MAPS_API_KEY.

Also cherry-picked the riseset module update (AlwaysAbove/AlwaysBelow
named constants) from the parallel branch that was never merged.

https://claude.ai/code/session_01SvqeKxC2hJbDnDAViSJSDk
@exploded exploded merged commit a441c62 into master Feb 23, 2026
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