Reason REPL Error libncurses.so.5

09/08/20191 Min Read — In Reason

Installation

rtop is the name of the Reason REPL. Get it by installing Reason and BuckleScript globally:

$ npm install -g bs-platform reason-cli@latest-linux

(or reason-cli@latest-macos)

If you get the error Permission denied, you can solve it by adding --unsafe-perm:

$ npm install -g bs-platform reason-cli@latest-linux --unsafe-perm

(More about this issue on Github.)

Usage

You can now run rtop in your terminal:

$ rtop

If you have an up-to-date system, you might get the following error:

error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

Check if libncurses is installed. In my case, I had a newer version of the library.

Arch Linux:

$ pacman -Qs libncurses
> local/ncurses 6.1-6

On a Linux system, you can symlink version 5 with the installed version (i.e., version 6):

$ sudo ln -s /usr/lib/libncursesw.so.6.1 /usr/lib/libncurses.so.5
$ sudo ln -s /usr/lib/libtinfo.so.6 /usr/lib/libtinfo.so.5

Read more about this issue on StackOverflow.

Exit

rtop runs now smoothly. But how do you exit the REPL?

In most terminals, CTRL+C is what you're looking for.

Strangely, that doesn't work in rtop.

You have to use CTRL+D.

There is an open issue on Github that contains more information about rtops behavior.

Further Reading