How to install PicoLisp
Tags: picolisp, tutorial, lisp, functional
Published: 2021-10-04 07:47:00

### A whole new world in a 1.1 MB tar ball!

This is the first part of the "Getting Started with PicoLisp"-Series.


-----------------------------


Installing PicoLisp is easy and doesn't require much space on the system: **3.2 MB** to be exact (plus obviously some space for your fancy new PicoLisp programs). 

-----------------------------

### System requirements

Note: This post covers pil21 only.

Let's quickly go through the [installation requirements file](https://git.envs.net/mpech/pil21/src/branch/master/INSTALL):

> PicoLisp needs a POSIX compatible system and the LLVM infrastructure. 

In simple words, you need a unix-like system: If you are using Linux or MacOS, you should be fine. "Normal" Windows will not work unfortunately, but since Windows 10, you can install the "Windows Subsystem for Linux" ([WSL](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)), which runs a Linux distribution directly in Windows. 

> It supports two installation strategies: Local and Global. [...]

Global means that the picolisp code can be accessed from anywhere in the system, while local installation means that it will be only be accessible by relative path names. It is also possible to have both in coexistence (for example for different versions).

-----------------------------

### Windows Users: Pre-requirement - Installing the WSL 

I don't use Windows very often, but for testing purposes I installed the Windows Subsystem for Linux (WSL) with help of this [installation guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and it was fairly easy. If you don't want to sign up for the "Windows Insiders" Program, you can do it like me and go for the manual way, which includes a few powershell commands and an upgrade of Windows 10 to the newest available system (can take a while). After you have finished all the steps, you can search for *Linux* in the Windows Store and choose between several distributions. If you choose **Ubuntu** or **Debian Linux**, you should be able to follow along the PicoLisp installation instructions below. 

![microsoftstore.PNG](https://cdn.hashnode.com/res/hashnode/image/upload/v1630574949093/m6KiYYiCP.png)

After installation, you will be presented a terminal window to create a new user account for your Linux system. After that, you can interact with it just like with a "normal" Linux system via the command line. There is also support for the graphical user interface since April 2021 ([GUI](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps)), but it's currently still in test mode. 

-----------------------------

### MAC-OS

If you are using MAC-OS, follow along [these instructions](https://picolisp.com/wiki/?alternativeMacOSRepository).

-----------------------------

### Debian-systems: The easy way

If you are using a debian-based Linux system, like Linux Mint, Ubuntu or Kali Linux, you can install it globally by 
```
sudo apt-get install picolisp
```   
and then you're done. However, the version you will get is most probably not the most recent one. 

Note: If your WSL installation is brand new, you might see an error message such as ``E: Unable to locate package picolisp``. In this case, execute ``sudo apt update`` first. Some more hints are available in this article: [Install PicoLisp on Windows 10](https://picolisp.com/wiki/?WSL)

### Manual Installation

The following steps are also for a Debian-based system, but should be available with similar syntax in other Linux systems as well. 

1. Download the tar-file

    The code is available as tar.tgz-file on the [PicoLisp Download page](https://software-lab.de/down.html) or alternatively on this [git-Repository](https://git.envs.net/mpech/pil21/src/branch/master/INSTALL). 

    ![install-1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629032479556/cnvc_Q8x7.png)

2. Install required packages by typing:

    ```
$ sudo apt install make clang llvm libreadline-dev libffi-dev libssl-dev pkg-config
```
    *(Note: The "$"-sign does not need to be typed, it symbolizes that it is a shell-command).*

3. Unpack the tarball:

    ```
   $ tar xfz pil21.tgz 
```  

4. Change the directory

    ```
   $ cd pil21
```

4. Compile the PicoLisp interpreter

    ```
   $ (cd src; make)
```
   Congratulations, now you have pico lisp installed locally! Now you can run picolisp scripts by ``pil [myFirstPicoLispProgram.l]`` from the pil21/-Folder.

5. Make the installation global

    This step is optional, but if you want to make the installation globally available, you can create a symbolic link from /usr/lib and /usr/bin to a local installation directory:
   ```
   $ sudo ln -s /<path>/pil21 /usr/lib/picolisp
   $ sudo ln -s /usr/lib/picolisp/bin/picolisp /usr/bin
   $ sudo ln -s /usr/lib/picolisp/bin/pil /usr/bin
```

For additional access to the man pages and some examples:

   ```
   $ sudo ln -s /<path>/pil21/man/man1/picolisp.1 /usr/share/man/man1
   $ sudo ln -s /<path>/pil21/man/man1/pil.1 /usr/share/man/man1
   $ sudo ln -s /<path>/pil21 /usr/share/picolisp
```
-----------------------------

### That's all!

In the upcoming articles of this series, we will learn how how to play with your brand new picoLisp installation. Stay tuned!

-----------------------------

### Sources

- https://software-lab.de/down.html 
- https://git.envs.net/mpech/pil21  
- https://git.envs.net/mpech/pil21/src/branch/master/INSTALL  
- https://picolisp.com/wiki/?WSL  
- https://docs.microsoft.com/en-us/windows/wsl/install-win10  
- https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps  
- https://picolisp.com/wiki/?alternativeMacOSRepository