Skip to content

docs: recommend ponyup default before ponyup update for non-default platforms#417

Open
mvanhorn wants to merge 3 commits intoponylang:mainfrom
mvanhorn:osc/185-document-ponyup-default
Open

docs: recommend ponyup default before ponyup update for non-default platforms#417
mvanhorn wants to merge 3 commits intoponylang:mainfrom
mvanhorn:osc/185-document-ponyup-default

Conversation

@mvanhorn
Copy link
Copy Markdown

Issue #185 reported that on a non-default Linux distribution (Debian Buster on WSL2 with glibc 2.28), ponyup update fails because the auto-detected target triple does not match an available package. The fix the reporter found was to first run ponyup default <platform> to pin the platform, but this was easy to miss during initial setup.

The README already documents ponyup default under the "Platform" section. The problem is positional: that section sits below "Install Pony", so a first-time user on a non-default distro hits the install failure before they ever read about the workaround.

This PR adds one sentence right after the ponyup update ponyc example pointing readers with non-default platforms to the Platform section before they run ponyup update. The full Platform section is left in place; this is a forward reference, not a duplication.

Diff:

  • README.md: one sentence added under "Install Pony", linking to #platform.
  • .release-notes/next-release.md: a corresponding entry so the change appears in the next release.

Closes #185.

This contribution was developed with AI assistance (Claude Code).

…latforms

Issue ponylang#185 reported that on non-default Linux distributions (e.g., Debian
Buster on WSL2 with glibc 2.28), 'ponyup update' fails with an
'unexpected selection' error because the auto-detected target triple
does not match an available package. Setting the platform manually with
'ponyup default <platform>' first fixes it.

The README already documents 'ponyup default' under the Platform
section, but that section sits below 'Install Pony' in the install flow,
so first-time users hit the failure before reaching the workaround. Add
a single sentence right after the install command pointing them to
Platform when their distro isn't auto-detected.

Closes ponylang#185
@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Apr 15, 2026
@SeanTAllen
Copy link
Copy Markdown
Member

Please remove the release notes.

@SeanTAllen
Copy link
Copy Markdown
Member

I dont think there is any value in this change. Telling people to set a platform where they have no idea what might or might not work isn't helpful. And anything that we could put in a list there would be better done updating the init script to detect for folks. The platform has to be one that we have builds for. The issue would be "we don't recognize in the init script your platform and can't set". If we can tell people what to do for this, then we should update the script to just do it for them.

I think #185 should be closed.

We have this:

https://github.com/ponylang/ponyc/blob/main/INSTALL.md#manually-selecting-your-linux-platform

but we can identify everything in that list and do so it isn't actually needed. I'd say that even that list in the installation section of ponyc can be removed.

The issue here is that the list I just pointed to and the issue came from a time when we did "generic glibc" and "generic musl" builds where a list like that might help. We got rid of that a few years back because it was painful for users and would break out from under them. I think we would be better off directing people to open a discussion if they cant install (or send them to zulip), we can collect the information needed from them and either inform them there platform isnt supported with pre-builts for ponyc and they need to build from source or we update the init script here to correctly identify their missing platform, do a quick release, and have them use ponyup.

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
@mvanhorn
Copy link
Copy Markdown
Author

Removed the release notes in bd1250f.

Your point on the init script doing detection automatically is fair. Should I close this PR, or would you prefer I pivot it toward init-script detection? Happy to go either way - let me know how you'd like to proceed.

@SeanTAllen
Copy link
Copy Markdown
Member

@mvanhorn lets see what folks say if they get to this during sync today. if they don't, i'd say "go forward with the sean idea". Which I think would be:

  • Adding "how to get support" clearly in the ponyup README
  • Updating the install doc in ponyc for "if ponyup doesn't have your platform" and also giving the "how to get support" info.

The init script would be "someone comes with a platform we support but isnt recognized" and we figure out how to recognize and add support.

@mvanhorn
Copy link
Copy Markdown
Author

Sounds good. I'll wait on the sync today - if the team lands on your plan, I'll pivot this PR to:

  1. Add a "how to get support" section to the ponyup README
  2. Update the "if ponyup doesn't have your platform" section of the ponyc install doc
  3. Leave init-script detection as case-by-case when new platforms come up

Ping me once there's an outcome and I'll pick it back up.

@mvanhorn
Copy link
Copy Markdown
Author

@SeanTAllen following up - did anything come out of the sync on the 15th for this? Happy to start on the pivot (support section in ponyup README plus the 'if ponyup doesn't have your platform' note in the ponyc install doc) if nothing else surfaced.

@SeanTAllen
Copy link
Copy Markdown
Member

@mvanhorn Joe had work stuff come up so there was no sync. I'll give this some thought on how to address this and get back to you. I'm on a work trip so, expect that might drag on for a bit.

@SeanTAllen
Copy link
Copy Markdown
Member

@mvanhorn ok i think we close the issue. we add a "how to request additional" to both ponyc INSTALL and here in the README.

and we point folks at the release channel in zulip.

…nTAllen

Replaces the earlier one-sentence pointer at 'Install Pony' (which the
maintainer flagged as not useful) with a new 'Requesting support for
additional platforms' subsection under 'Common Issues'.

The new section directs users to the #release stream on the Pony Zulip
with the output of `cc -dumpmachine` (or `uname -a` + `ldd --version`)
and the exact error they hit, so the team can either point them at an
existing platform identifier or add detection support in a future
release.

Ref ponylang#185 (to be closed per maintainer direction).

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
@mvanhorn
Copy link
Copy Markdown
Author

@SeanTAllen pivoted the PR per your direction in 2317071:

  • Removed the 'Install Pony' pointer sentence you flagged as not useful.
  • Added a new 'Requesting support for additional platforms' subsection under Common Issues in the ponyup README. It points folks at the #release stream on the Pony Zulip and asks them to include cc -dumpmachine (or uname -a + ldd --version) plus the exact error.

Net diff vs main is now just the new section. Happy to adjust the section title, wording, or placement if you'd prefer something else.

I'll open a matching PR against ponylang/ponyc to add the same 'how to request additional' block to INSTALL.md - unless you'd rather handle that one yourselves. Also happy to close #185 once this lands, or now if you'd prefer.

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

Labels

discuss during sync Should be discussed during an upcoming sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document ponyup default in README

3 participants