Puppy Linux Blog Post:

How to compile newLISP in Lucid Puppy Linux 5.2.8
12/27/2015

Post Below
12/27/2015 - How to compile newLISP in Lucid Puppy Linux 5.2.8 (Puppy Linux)

    Hide/Show:


   ▲ Top  ▼ Bottom  △ TOC
How to compile newLISP in Lucid Puppy Linux 5.2.8
Sunday, December 27th, 2015
14:58:21 GMT

Puppy Linux

Compiling newLISP 10.6.2 from scratch in Lucid Puppy Linux 5.2.8 wasn't as tough as compiling GNU Common Lisp 2.6.12, but it was still a bit tricky.


  1. You can download newLISP's source code from here:

    http://www.newlisp.org/index.cgi?Downloads


  2. Then, download libffi from here (I used version 3.2.1):

    https://sourceware.org/libffi/

    I don't know if most typical Linuxes usually already have that or not, but, Lucid Puppy 5.2.8 version 004 doesn't, and newLISP needs it.


  3. Unzip the libffi source code tarball, open the libffi source code folder, and open a terminal window. Then, do these 3 commands:

    ./configure
    make
    make install

    (Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.


  4. Next, unzip newLISP's source code, open the newLISP source code folder, open a terminal window, and type:

    ./configure


  5. Don't type "make" yet. For some reason, ./configure wrongly assumes libffi is at a location it's not at, so you have to open the file "makefile_build" in a text editor and fix the mistaken path in it.

    This is the line you need to change:

    CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include

    And here's what you change it to:

    CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.2.1/include/


  6. Now, you can type "make" (without quotes), and the build should succeed now.


  7. Next, you can type "make install" or "new2dir make install" (without quotes) to install newLISP.


  8. And the last step is, you have to create a symlink so newLISP can find a shared library which newLISP mistakenly looks for in the wrong place.

    This command will create the symlink:

    ln -s /usr/local/lib/libffi.so.6 /usr/lib/libffi.so.6


Now, it should be possible to run newLISP just by typing "newlisp" (without quotes).

   ▲ Top  ▼ Bottom  △ TOC


    Hide/Show: