Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install: Fix install on Linux to not take 10+ minutes #166

Open
1 task
davidfstr opened this issue Oct 29, 2023 · 0 comments
Open
1 task

Install: Fix install on Linux to not take 10+ minutes #166

davidfstr opened this issue Oct 29, 2023 · 0 comments
Labels
os-linux Linux-specific issue. priority-high High priority items, usually affecting end-users. topic-firstrun Bugs/features that especially affect the experience of running Crystal for the first time

Comments

@davidfstr
Copy link
Owner

davidfstr commented Oct 29, 2023

Problem

  • The current instructions for installing Crystal on Linux rely on "pipx install".
  • "pipx install" of Crystal on Linux takes 10+ minutes because wxPython must be compiled from source.
  • It takes so long because there are no pre-compiled wxPython wheels for Linux.
  • There are no pre-compiled wxPython wheels for Linux because historically it has been difficult to compile a manylinux wheel of wxPython.

In an era with instant app installs from app stores, it's unreasonable to expect users to be patient for 10+ minutes to install an unproven app.

Solution

  • Choose 1 of:
    • [#] Alter Linux install instructions to use a .wagon to install wxPython, for popular Linux distributions Not any easier that just building a binary, because .wagon must depend on major Python and GTK versions, which have too many varying combinations.
    • [#] Build a manylinux wheel of wxPython Infeasible (i.e. too hard)
      • Last attempt was in Aug 2022 on this thread, this PR, and this set of wheel files
      • wxPython's download page also mentions the last attempt to make a manylinux wheel:
        • Unfortunately, attempts to pound the wxPython peg into the manylinux1 hole have not been very successful. Maybe manylinux2 will be a better fit.

    • Build Linux binary (#161) 👈(do this)

Faster linux install  Probably via a Snap
@davidfstr davidfstr added priority-medium Medium priority items. This is the default priority. os-linux Linux-specific issue. topic-firstrun Bugs/features that especially affect the experience of running Crystal for the first time labels Oct 29, 2023
@davidfstr davidfstr self-assigned this Oct 29, 2023
@davidfstr davidfstr removed their assignment Nov 5, 2023
@davidfstr davidfstr added priority-high High priority items, usually affecting end-users. and removed priority-medium Medium priority items. This is the default priority. labels Dec 26, 2023
@davidfstr davidfstr changed the title Fix install on Linux to not take 10+ minutes Install: Fix install on Linux to not take 10+ minutes Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os-linux Linux-specific issue. priority-high High priority items, usually affecting end-users. topic-firstrun Bugs/features that especially affect the experience of running Crystal for the first time
Projects
None yet
Development

No branches or pull requests

1 participant