# AllegroGraph 3.3 Lisp Installation

# Table of Contents

## Installation Instructions

## Manual Installation Instructions

## The AllegroGraph Server

## Starting Lisp and the AllegroGraph Server

### Starting Allegro Common Lisp

### The AllegroGraph Server

## Starting the AllegroGraph Server

## Installation Instructions

NOTE: For pre-releases of AllegroGraph, you must manually install the downloaded file. Please use the instructions in the next section, however Steps 1-3 of this section are still applicable.

Steps 1-3 only have to be done for the initial installation of AllegroGraph. Once installed, you can update by starting directly on step 4.

1. Install Allegro Common Lisp: (Skip this step if you already have Allegro CL 8.1 installed.) If you do not already have a installer downloaded, you can find one on the Franz website.

2. Install the license file: (Skip this step if you have already installed a license file that includes AllegroGraph.) You will need to place the file `devel.lic` into the Allegro directory. This is the directory into which you installed Allegro CL in step 1. On Windows, that would normally be `c:\acl82` or `c:\acl82.64` . If you have any problems with this, please email . To use AllegroGraph, you must have a license file which includes support for it. If you would like an evaluation license for AllegroGraph, please request one from .

3. Install Patches: Make sure you have all the latest patches to Allegro CL installed. It is very important that you not skip this step.

4. Install AllegroGraph: Start Allegro CL and evaluate one of the forms below. You choice will depend on whether you need to use a proxy for web access. Note: pre-releases cannot be installed with this method. For pre-releases, use the Manual installation in the next section.

No proxy needed for web access:

    (require :update)
    (system.update:install-allegrograph)

Proxy needed for web access:

Substitute your actual proxy host name, proxy port (a number), username and password for the items below:

If you do not require a username and password, then use these forms:

    (require :update)
    (system.update:install-allegrograph :proxy "myproxy:myport")

If you require a username and password, then use these forms:

    (require :update)
    (system.update:install-allegrograph
      :proxy "myproxy:myport"
      :proxy-basic-authorization '("myaccount" . "mypassword"))

5. Test the installation: While still in Allegro CL, evaluate this form:

       (require :agraph)

If you see something like the following, then the installation worked:

    cl-user(11): (require :agraph)
    ; Fast loading C:\acl82\code\agraph.fasl
    ...
    t
    cl-user(12):

The important part is the lack of the string `Error:` appearing anywhere in the output.

If you see the following, then your license file addition either was not done or not done correctly:

    cl-user(11): (require :agraph)
    ; Fast loading C:\acl82\code\agraph.fasl
    ...
    Error: Missing or invalid license (C:\acl82\devel.lic) for
    AllegroGraph.

    Restart actions (select using :continue):
     0: retry the load of sys:;code;agraph.fasl
     1: skip loading sys:;code;agraph.fasl
     2: Return to Top Level (an "abort" restart).
     3: Abort entirely from this (lisp) process.
    [1] cl-user(12):

If you see the following, then you did not successfully download and install the required patches:

    cl-user(11): (require :agraph)
    ; Fast loading C:\acl82\code\agraph.fasl
    ...
    Error: A Lisp patch is needed for proper AllegroGraph operation and
           this patch is not present in the current Lisp image.  Please
           download patches with (system:update-allegro) and rebuild your
           Lisp images as system:update-allegro instructs.

    Restart actions (select using :continue):
     0: retry the load of sys:;code;agraph.fasl
     1: skip loading sys:;code;agraph.fasl
     2: Return to Top Level (an "abort" restart).
     3: Abort entirely from this (lisp) process.

    [changing package from "common-lisp-user" to "db.agraph"]
    [1] triple-store(12):

## Manual Installation Instructions

Use these instructions for pre-releases of AllegroGraph.

The following instructions are for manual installation only. Manual installation should only be used when you want to install an older version of AllegroGraph, or the automatic installation above does not work for you (in which case, we would definitely like to know about it, so please send the details to ).

1. Please follow steps 1-3 in "Installation Instructions" above. This will insure that an up-to-date Allegro CL is installed.

2. Download AllegroGraph: choosing the file appropriate to your version of installed Allegro CL. Also, you will need to select the version of AllegroGraph you wish to download. For demonstration purposes, we will use version 3.0. For pre-releases refer to the email you received regarding the pre-release, it should have a download URL in it.

3. Unpack the downloaded file somewhere. For the purposes of discussion, we will assume that you unpacked the Windows version in `c:\temp`. This means you will have a new directory `c:\temp\agraph-3.0-acl8.1-windows`.

4. Move this newly unpacked directory to the Allegro directory, renaming it to agraph in the process. That is, move `c:\temp\agraph-3.0-acl8.1-windows` to `c:\acl82\agraph`. If there is an existing agraph directory, please rename it to `agraph.old` before creating `c:\acl82\agraph`.

5. Move `c:\acl82\agraph\agraph.fasl` to `c:\acl82\code\agraph.fasl`.

The steps for manual installation on 64-bit Linux, for example, would be:

    # The following assumes the file was downloaded to /tmp
    % rm -fr agraph.old
    % mv agraph agraph.old
    % mv code/agraph*.fasl agraph.old
    % tar zxf /tmp/agraph-3.0-acl8.1-linuxamd64.64.tgz
    % mv agraph-3.0-acl8.1-linuxamd64.64 agraph
    % mv agraph/agraph*.fasl code

If the installation was successful, you should be able to start Allegro CL and load AllegroGraph like this:

    cl-user(1): (require :agraph)
    ; Fast loading C:\acl82\code\agraph.fasl
    ...
    ...
    AllegroGraph 3.0 [built on April 23, 2008 14:59:53 GMT-0700]
    ...
    t
    cl-user(2):

The above output is similar to what you see. The exact version information printed depends on which version of AllegroGraph you downloaded and installed.

## The AllegroGraph Server

AllegroGraph can be used in stand-alone mode in the Lisp REPL or in client/server mode. Details and examples on using AllegroGraph in the REPL can be found in the tutorials. We cover starting the server below, more details can be found in the lisp client document.

## Starting Lisp and the AllegroGraph Server

### Starting Allegro Common Lisp

We assume that you installed the Lisp on one of your machines according to the instructions that came with Allegro Common Lisp. See the Franz documentation for installation instructions for Allegro CL.

We also assume that you know how to startup Lisp. See the Franz documentation on starting Lisp for more information.

On Windows, select the menu item `Start | Programs | Allegro CL 8.1 | Modern ACL Images | Allegro CL 8.1 (Modern)` (you can also start the one with the IDE if you want to play with the interactive Lisp version of the AllegroGraph).

On Linux/Solaris/Mac OS X (or any other non-Windows platform), the recommended way to start Lisp is as a subprocess of Emacs (XEmacs or GNU Emacs). However, Lisp may be started from a shell. The disadvantage of starting Lisp from a shell is that the editing and other features of the Emacs-Lisp interface are not available. The command for starting in a shell (assuming the Allegro directory is in your PATH) is:

    mlisp

When Lisp is started, an interactive session (similar to a Unix shell, or DOS shell) is opened. Lisp expressions are entered, evaluated and the results printed out. Some expressions may be evaluated for their side-effects. It is also possible to package a Lisp application so that it simply starts and runs without any interactions, but that is an advanced topic. In these examples we use the interactive mode for the flexibility it affords. AllegroGraph is an optional module that is loaded (enabled) by evaluating the following expression:

    (require :agraph)

You now can continue with the Lisp tutorial as described in agraph-tutorial.html or you can start the AllegroGraph server.

### The AllegroGraph Server

To start the server, evaluate the following expression in the Lisp application:

    (db.agraph:start-ag-server)

or the more complex form

    (db.agraph:start-ag-server
      :port 1776 :root "e:/tmp" :limit 3
      :ender 'my-end-function :nanny 5)

The second form starts a server at port number 1776; the default directory will be "e:/tmp"; three connections will be allowed before the server shuts down; the function my-end-function will be called whenever a connection is terminated, and when the server shuts down; a separate process will check for dead connections every 5 seconds.

The arguments of the call specify how the server should be configured, The client application must use matching parameters to connect to the server (e.g., the same port). All the arguments are described in detail in the AllegroGraph Reference Guide.

## Starting the AllegroGraph Server

The server application is distributed with the Lisp Edition. The server is located in the `sys:agraph;` directory (the agraph subdirectory of the Allegro directory). The name of the server is AllegroGraphServer. You can read more about in the Server Installation document.