How to compile newLISP from source on 64-bit Ubuntu

Blog post

Author
Message

Rocket Man
Posts: 383
Posted on: 2013-02-26 15:35:09.000
I've been wanting to update newLISP on my development box to see what neat new changes and features are available. Unfortunately, it's a 64-bit Ubuntu install, and pre-packaged binaries are only available for i386 (32-bit) on newlisp.org.

So what to do? Well, compile from source of course!

First get the source:


cd ~
wget http://www.newlisp.org/downloads/newlisp-10.4.5.tgz
tar zxvf newlisp-10.4.5.tgz
cd newlisp-10.4.5


Now you're in the source code directory. First you need a few libraries, then you can go ahead and compile:


sudo apt-get install libffi-dev
sudo apt-get install libreadline6 libreadline6-dev
sudo make
sudo make install


And that's it! To get Rockets to work on Ubuntu, you'll have to go into the sqlite3.lsp module and add the appropriate path for where it lives on Ubuntu 64-bit:


cd /usr/share/newlisp/modules
sudo nano sqlite3.lsp


Add the following line under the list of similar lines:

"/usr/lib/x86_64-linux-gnu/libsqlite3.so" ; Ubuntu

Then do the same for crypto.lsp:

"/usr/lib/x86_64-linux-gnu/libcrypto.so.0.9.8" ; Ubuntu

And you're good to go!

xerxes
Posts: 107
Posted on: 2013-02-27 06:27:17.000
Great idea to post this. I got the basics for 64 bit compilation from Lutz on the forum, but had to figure out that file locations were a problem, finally fixing them as you have outlined.

xerxes
Posts: 107
Posted on: 2013-02-27 06:44:22.000
testing a post after signing in ok

frednerx
Posts: 3
Posted on: 2013-02-27 06:45:21.000
Well, if he can test a post after signing in, why don't I?

frednerx
Posts: 3
Posted on: 2013-02-27 08:30:00.000
testing from a different setup ...

frednerx
Posts: 3
Posted on: 2013-02-27 08:31:51.000
and another setup ...

xerxes
Posts: 107
Posted on: 2013-03-04 13:18:20.000
After some trouble, my test site is up and running again, but posts and replies do not work. I get the following error:

"SQL logic error or missing database query problem"

which I did not encounter before.

Where should I start to fix this?


Rocket Man
Posts: 383
Posted on: 2013-03-04 20:07:54.000
That's an issue with the database file itself. Apache can read it but doesn't have permissions to write the file.

First, chmod 755 ROCKETS-DB.db (or whatever the database name is)

Then chown www-data:www-data ROCKETS-DB.db

Now, here's the weird thing. You ALSO have to chown the directory that the database is in, to make the database itself writeable by the Apache process.

So you chown www-data:www-data /var/www as well.


xerxes
Posts: 107
Posted on: 2013-03-05 01:14:05.000
Excellent. Will try those steps. How am I ever going to learn all this A Patchy Server config stuff ... ?

xerxes
Posts: 107
Posted on: 2013-03-05 06:26:55.000
Those three steps did the trick. I haven't yet checked in detail, but there are no longer errors, and post/replies appear ok. Great!

xerxes
Posts: 107
Posted on: 2013-08-20 13:40:03.000
Ubuntu did a rare belly up on me the other day: I was running Raring, and the Unity went totally moggy. Reinstalling worked (on 3rd attempt - there were further screen handling problems) and nothing was lost, and everything worked better and better after a couple of updates.

However, I decided to try Crunchbang Linux, which uses OpenBox (tired of slow GUI stuff), and also because it is Debian, rather than Ubuntu based. It's on a SSD, and everything hums along beautifully. More to the point, though, I'd like to thank you for this post about getting newLISP from source. Fantastic. What a doddle. Now I just have to create a menu item for it. As it turns out, OpenBox makes it pretty easy to create menu items, but I'll leave that for tomorrow.

Thanks again.

xerxes
Posts: 107
Posted on: 2014-08-20 06:56:26.000
Hope all is well.

For anyone's information:

I had a problem with building newLISP 10.6.0 from source (on Ubuntu 14.04), but found a post from author Lutz, saying these two lines should be inserted into newlisp.c and/or newlisp.c.

typedef char *CPFunction ();
typedef char **CPPFunction ();

I inserted in both. It fixed the problem - "sudo make" and "sudo make install" proceeded perfectly.

Rocket Man
Posts: 383
Posted on: 2014-09-02 14:52:54.000
Thanks Xerxes, that's helpful information!

Things are going really well. I've been busy at work, but I've been using Rockets to develop some pretty spiffy in-house tools, so it's been good times!

xerxes
Posts: 107
Posted on: 2020-01-20 18:29:15.000
Hi Rocket Man

Something has changed in the meantimve - this tripped up on libreadline6, after which "sudo make" didn't complete:
//
Package libreadline6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libreadline6' has no installation candidate
//



Views: 10744