elm-lang / elm-repl

A REPL for Elm
BSD 3-Clause "New" or "Revised" License
170 stars 34 forks source link

REPL won't open with 6.0-3 of ncurses #83

Open thunklife opened 8 years ago

thunklife commented 8 years ago

I'm running an Arch based distro that has version 6.0-3 of ncurses installed. When I attempt to open the REPL, I get the following:

/home/wilhelmson/Elm-Platform/0.15.1/.cabal-sandbox/bin/elm-repl: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory
ygt-mikekchar commented 7 years ago

I know this issue is a year old, but in case anyone runs into it:

The joys of pre-built binaries. I imagine that other distros will be running into this problem before long...

bukzor commented 7 years ago

I hit this today (on arch). This workaround isn't great. Symlinking a library between versions is begging for segfaults.

ygt-mikekchar commented 7 years ago

Agreed. I can't think what you could do about it, though. Upgrading the library will break other (arguably more popular) distros. In the end, I just built elm myself and decided not to use the NPM version.

bukzor commented 7 years ago

What you could do about it:

1) Ensure that libtinfo is statically linked during elm-repl's build. This will be reliable, and should be fairly easy to implement. 2) Figure out what npm supports with respect to shipping different binaries for different distros. Surely they don't expect that a single binary will work for all linux? This depends entirely on whether the nodejs community supports differentiating linuxen.

boxofrox commented 7 years ago

Arch users can install ncurses5-compat-libs from the aur. This package creates /usr/lib/libtinfo.so.5 and solved the error on my machine.