Menu

SHOP2 Build Documentation

Cerin
2010-08-26
2013-05-20
  • Cerin

    Cerin - 2010-08-26

    Is there any documentation explaining how to build, install, and use SHOP2? The readme doesn't explain what exact program you need to run, or how to build SHOP2. I'm running Ubuntu 10.04, so I have access to Clisp, but I don't have any experience building Lisp programs. Could the developers please shead some light on how to properly build SHOP2?

     
  • Robert P. Goldman

    The short answer is that you should be able to use ASDF, which is roughly speaking the equivalent of make for Lisp, to build and run SHOP2.

    To do this, you will need to start up your lisp and then (possibly in a lisp init file, possibly just by typing to lisp), do the following:

    (require :asdf)   ; this SHOULD load ASDF -- I am not very familiar with clisp
    (push <directory where shop2.asd is located> asdf:*central-registry*)

    E.g.,

    (push "/home/rpg/shop2/" asdf:*central-registry*)

    (asdf:oos 'asdf:load-op :shop2)

    That should do the trick.

     
  • Robert P. Goldman

    Is this not covered in the shop2 manual (shop2.pdf)?

     
  • Cerin

    Cerin - 2010-08-27

    Sorry,  I'm unfamiliar with Lisp culture. I'm coming from a C/Java/Python background, where all that's typically required is to run "make" from a commandline. I now see what you are referring to in the shop2.pdf, but I'm still unclear on what I have to do/install. It's strange to me that new users are expected to read a 40-page manual, and then write their own install script in order to run Shop2.

    I tried running the commands you list, and this is the output from GNU Clisp:

    [1]> (require :asdf)
    NIL
    [2]> (push "/workspace/grammar/shop2_2.0.1/shop2/" asdf:*central-registry*)
    ("/workspace/grammar/shop2_2.0.1/shop2/" (MERGE-PATHNAMES ".clc/systems/" (USER-HOMEDIR-PATHNAME))
     (DIRECTORY-NAMESTRING *DEFAULT-PATHNAME-DEFAULTS*) #P"/usr/share/common-lisp/systems/")
    [3]> (asdf:oos 'asdf:load-op :shop2)
    ; loading system definition from /workspace/grammar/shop2_2.0.1/shop2/shop2.asd into #<PACKAGE ASDF0>
    ;; Loading file /workspace/grammar/shop2_2.0.1/shop2/shop2.asd ...
    ; registering #<SYSTEM :SHOP2 #x000335691D80> as SHOP2
    ; registering #<SHOP-TESTER :SHOP-PDDL-TESTS #x0003356C6DE0> as SHOP-PDDL-TESTS
    *** - Program stack overflow. RESET
    

    I'm not sure what that response means, but I'm assuming the stack overflow means the build failed. What am I doing wrong?

    I researched ASDF, but I'm not sure if I have it installed. Their page doesn't explicitly say that GNU Clisp comes bundled with it, so I'm assuming I probably don't have it installed. I tried following their install instructions but the first load command fails for me with the error:

    [1]> (load "asdf/asdf.lisp")
    ;; Loading file asdf/asdf.lisp ...
    Upgrading ASDF package to version 2.007
    *** - READ from
           #<INPUT BUFFERED FILE-STREAM CHARACTER #P"asdf/asdf.lisp" @743>
          : #<PACKAGE POSIX> has no external symbol with name "UID"
    The following restarts are available:
    ABORT          :R1      Abort main loop
    

    Does this mean ASDF isn't compatible with my version of Clisp?

     
  • Robert P. Goldman

    Short answer about ASDF:  it is installed in your CLISP, because otherwise the

    PUSH
    

    you did in your first snippet would not have worked.

    Unfortunately, I can't be tremendously helpful about your stack overflow, because I don't ever use CLISP. Here's what happened for me:

    I tried installing clisp on my OpenSUSE 11.2 box.  I got version 2.44.1.

    The

    require
    

    call failed for me.  AFAICT, the version of CLISP on OpenSUSE does not have clisp installed.

    I then tried to load ASDF (from the git repo) on CLISP on OpenSuse 11.2, and it fails just as you said.  POSIX symbol missing.  I suspect that the problem is that I'm getting an antique version of CLISP, and it's not capable of loading ASDF, because ASDF is expecting a newer version of clisp.

    I'm afraid I'm at an impasse here.

    My suggestion would be to use SBCL http://www.sbcl.org/, which I know to work with SHOP2.  Please do not use the SBCL that comes with Ubuntu:  It is infested with a piece of software known as common-lisp-controller, and if that makes it go pear-shaped, I cannot help you.  Looks like you should be able to download a precompiled binary for your platform.

    Try going through the steps I told you about using SBCL, and if that doesn't work, post again.

    By the way, I didn't respond to your JSHOP questions because I have never run JSHOP.  I suspect it's completely bitrotted by now.  My colleagues and I maintain the CL version of SHOP2, and it's under current development.  However, when Sourceforge rearchitected itself, we pulled ourselves off the CVS here.  We just use Sourceforge as a place to park tarballs now.

     
  • Robert P. Goldman

    Yes, I just checked.  The version of CLISP on Ubuntu is not supported by ASDF (nor is mine).  See https://bugs.launchpad.net/asdf/+bug/577141

    Bah.

     
  • Robert P. Goldman

    A quick follow-up.  I have corresponded with Faré, the ASDF maintainer, about this topic.  This is a problem between ASDF and the version of CLISP that comes with Ubuntu.  If you pull a new version of ASDF from the git repository, then it should work with your current CLISP.

    Best,
    R

     
  • Anonymous

    Anonymous - 2011-09-28

    Hi There,

    I have tried to install the SHOP2 in my windows machine. I have already installed ASDF. However, when I try to load the shop2, I get the following error:

    > (asdf:oos 'asdf:load-op :shop2)
    ;; Loading file C:\Users\Farshad\Desktop\RESEARCH\SHOP\shop2-2.8.0\shop2.asd …

    ;;  Loading file C:\Users\Farshad\Desktop\RESEARCH\SHOP\shop2-2.8.0\shop-asd.asd

    *** - Error while trying to load definition for system shop2 from pathname
          C:\Users\Farshad\Desktop\RESEARCH\SHOP\shop2-2.8.0\shop2.asd:
          Error while trying to load definition for system shop-asd from pathname
          C:\Users\Farshad\Desktop\RESEARCH\SHOP\shop2-2.8.0\shop-asd.asd:
          DEFPACKAGE SHOP2-ASD: invalid syntax in DEFPACKAGE option: (ERROR
          "Don't know how to find CLASS-DIRECT-SUPERCLASSES in this lisp.")
    The following restarts are available:
    SKIP           :R1      skip (DEFPACKAGE SHOP2-ASD # …)
    RETRY          :R2      retry (DEFPACKAGE SHOP2-ASD # …)
    STOP           :R3      stop loading file C:\Users\Farshad\Desktop\RESEARCH\SHOP
    \shop2-2.8.0\shop-asd.asd
    SKIP           :R4      skip (OOS 'LOAD-OP SHOP-ASD)
    RETRY          :R5      retry (OOS 'LOAD-OP SHOP-ASD)
    STOP           :R6      stop loading file C:\Users\Farshad\Desktop\RESEARCH\SHOP
    \shop2-2.8.0\shop2.asd
    ABORT          :R7      Abort main loop
    Break 1 ASDF1>

    Do u have any idea?

    Thanks

     
  • Robert P. Goldman

    Farshad,

    Please let me know what version of Common Lisp you are using to try to load SHOP2.  We have tested SHOP2 on both Allegro Common Lisp and Steel Bank Common Lisp.  From the above error message, I believe this is some other Common Lisp implementation with a slightly different naming convention for some built-ins.  If you will let me know what version, I should be able to test and provide a fix.

    Best,
    r

     
  • greye

    greye - 2012-05-04

    DEFPACKAGE SHOP2-ASD: invalid syntax in DEFPACKAGE option: (ERROR "Don't know how to find CLASS-DIRECT-SUPERCLASSES in this lisp.")

    Same problem with GNU Common Lisp implementation.

     
  • Robert P. Goldman

    @kamgreye - that is a problem with us not knowing how to get at some object-oriented functions in GCL.

    According to the GNU CL web page at gnu.org "GCL is a Common Lisp currently compliant with the CLtL1 standard. Lisp compilation produces native code through the intermediary of the system's C compiler, from which GCL derives efficient performance and facile portability. Currently uses TCL/Tk as GUI."  CLtL1 is pre-ANSI Common Lisp and so SHOP2 is unlikely to work on it.  Notably CLtL1 does not have the Common Lisp Object System, which SHOP2 uses heavily.

    I do not know what platform you are running on (Linux? Mac? Windows?) but my suggestion would be to drop using GCL in favor of some other free CL implementation that is a full ANSI CL.  In decreasing order of familiarity to me, I would suggest SBCL, Clozure Common Lisp, or clisp.

    Try one of those and see if that fixes your problem.

     
  • greye

    greye - 2012-05-05

    @rpgoldman,
    Oh, sorry, it's my mistake - I meant CLISP implementation, Linux, but thanks for the answer. I've already turned to SBCL for my purposes though.

     
  • Robert P. Goldman

    OK, got it.  We have a prerelease 2.9.0 version of SHOP2 that loads on clisp.  We will try to get it packaged for release.  Will act on it more quickly if there is substantial interest.

     
  • greye

    greye - 2012-05-07

    Well, it never hurts to have a bit more homogenous system, so I'm interested.

     
  • Henrique Marques

    Gentleman, I am also interested. I am currently using Allegro CL Express Edition and, because of the heap limitation, I am not able to use all the SHOP2 capabilities.
    I am also currently trying to use SBCL.
    Best regards,
    Henrique Marques

     

Log in to post a comment.