[Prev][Next][Index][Thread]

Trying to generate HTTP server image under Franz ACL



Upon following the instructions per the http.script file, when I run
acl/http -build I get the following runlog. This is after I ran with
acl/http -compile. Any hints? After this runlog is a listing of my
http:acl;http script I ran for compiling as well as building an image.

oopsy% acl/http -build
*********
Warning: /usr/acl4.3/bin/bind80 not found.
Error: ~/cl-http/cl-http-60-17/acl/bind80.c not found.
*********
Unpacking ~/cl-http/cl-http-60-17/acl/cgi-bin.
Error: ~/cl-http/cl-http-60-17/acl/cgi-bin not found.
Creating ~/cl-http/cl-http-60-17/custom.
mkdir: ~/cl-http/cl-http-60-17/custom: No such file or directory
chmod: ~/cl-http/cl-http-60-17/custom: No such file or directory
cp: ~/cl-http/cl-http-60-17/acl/server/user-exports.lisp: No such file
or directory
chmod: ~/cl-http/cl-http-60-17/custom/user-exports.lisp: No such file or
directory
acl/http: ~/cl-http/cl-http-60-17: bad directory

================Here's my http script file I used to generate above=====
#! /bin/sh
# Usage: http -?
 
export DOMAINNAME
 
####
# Note: You may setup symbolic links for ~/franz/cl and ~/franz/cl-http
# so you don't have to edit this file each time you get a new CL-HTTP
version.
#
# Edit the path of Allegro Common Lisp (Franz ACL) main directory at
your site:
#
FRANZ="/usr/acl4.3"
#
# Note: If directory ${FRANZ}4 (${FRANZ}5) exists it is assumed to be
for
# the SunOS version 4 (5 respectively) - to provide CL-HTTP for
SunOS[4-5].*
# from one source [acl/http_image.4 and acl/http_image.5 respectively.]
# If both versions of SunOS are built from the same source, you MUST
# compile the SunOS4 version compiling for SunOS5.
#
# Edit the path of the present version of CL-HTTP:
#
HTTP="~/cl-http/cl-http-60-17"
HTTP80="$HTTP/acl/bind80"       # required path to bind80.c for -build
option
BIND80="/usr/acl4.3/bin/bind80  # local path to bind80 with root
privileges
#BIND80=                        # to disable local root version of
bind80
#
# If "domainname" does not return a true IP domain name (e.g. NIS)
# Then edit DOMAINNAME to be the site domain where the server will run,
# Else leave this unchanged (DNS):
#
DOMAINNAME="oopsy.jpl.nasa.gov"     # hardcode a name for NIS domain
(not for DNS)
#DOMAINNAME="oopsy.jpl.nasa.gov"   # comment out this line for NIS
domain server.
#
# Name the ACL UNIX base image used to build acl/http_image.[4-5]:
CL="cl"
####
 
#### ACL Tips:
# To turn CL-HTTP notifications on and off:
# (http:log-notifications-on (http:current-access-logs) t)
# (http:log-notifications-on (http:current-access-logs) nil)
# To cleanly exit CL-HTTP (closing sockets):
# (http:exit)
# To stop and restart:
# (http:exit nil)
# (http:serve)
####
 
SunOSv="`uname -r`"
case $SunOSv in
4.*)
        OSV=4
        ;;
5.*)
        OSV=5
        ;;
*)
        echo "This OS version $SunOSv may not be supported"
        OPTION="-help"
        ;;
esac
 
case "$1" in
  -build*)
           # Build bind80
           if ( test ! -x "${BIND80}" ) && ( test ! -z "${BIND80}" )
           then
             echo "*********"
             echo "Warning: ${BIND80} not found."
             if test -r ${HTTP80}.c
             then
               echo "You need to build ${HTTP80} to enable"
               echo "the port=80 option of CL-HTTP, as follows:"
                 echo "1. $ cc ${HTTP80}.c -o ${HTTP80} -lsocket -lnsl 
# Sample SunOS compilation"
                 echo "2. $ su root             # Login as root locally"
                 echo "3. # cp ${HTTP80} ${BIND80}"
                 echo "4. # chmod 4755 ${BIND80}"
                 echo "5. # exit"
             else
               echo "Error: ${HTTP80}.c not found."
             fi
             echo "*********"
           fi
 
           # install cgi-bin from tar backup example
           CGI=$HTTP/acl/cgi-bin
           if test ! -x $CGI
           then
             echo "Unpacking $CGI."
             if test -r $CGI.tar
             then
               cd $HTTP/acl
               tar xvf $CGI.tar
             else
               echo "Error: $HTTP/acl/cgi-bin not found."
             fi
           fi
 
           # make custom directory for user custom exports
           if test ! -x $HTTP/custom
           then
             echo "Creating $HTTP/custom."
             mkdir $HTTP/custom
             chmod 775 $HTTP/custom
             cp $HTTP/acl/server/user-exports.lisp $HTTP/custom/
             chmod 664 $HTTP/custom/user-exports.lisp
           fi
 
           # ACL configuration file
           cd $HTTP
           CONFHTML="configure-acl.html"
           if test ! -h "www/cl-http/$CONFHTML"
           then
             echo "Updating $CONFHTML"
             mv "www/cl-http/$CONFHTML" "www/cl-http/${CONFHTML}~"
             ln -s "$HTTP/acl/$CONFHTML" "www/cl-http/$CONFHTML"
           fi
           ;;
esac
 
HOST="`uname -n`"
 
IMAGE="acl/http_image.${OSV}"
IMAGEHOST="${IMAGE}.$HOST"
 
case "$1" in
  -compile*|-build*)
                     FRANZversion="${FRANZ}${OSV}"
                     if test -x "${FRANZversion}"
                     then FRANZ="${FRANZversion}";
                       echo "Using ACL version from $FRANZ."
                     fi
                     FRANZ=${FRANZ}/bin/${CL}
                     ;;
  *)
                     if test -x "$HTTP/$IMAGEHOST"
                     then
                       echo "Really $IMAGEHOST."
                       IMAGE=$IMAGEHOST
                     fi
                     ;;
esac
 
ECOMPILE="(progn(chdir\"$HTTP/\")(load\"acl/start\")(excl:exit))"
EBUILD="(progn(chdir\"$HTTP/\")(load\"acl/start\")(tpl:setq-default
*readtable* *readtable*)(excl:gc t)(excl:dumplisp :name \"$IMAGEHOST\"
:checkpoint nil))(excl:exit))"
EEXEC="(http:start)"
 
case "$1" in
  -compile*)
             shift
             $FRANZ -qq -e "$ECOMPILE" -- compile=t host= port=nil
start=nil
             exit
             ;;
  -build*)
           cd $HTTP
           if test -x "$IMAGEHOST"
           then mv "$IMAGEHOST" "$IMAGEHOST~"
           fi
           shift
           $FRANZ -qq -e "$EBUILD" -- compile=nil $* host= port=nil
start=nil
           
           # Clean images
           if test -h "$IMAGE"
           then rm "$IMAGE"
           else
             if test -x "$IMAGE"
             then mv "$IMAGE" "$IMAGE~"
             fi
           fi
           ln -s "$HTTP/$IMAGEHOST" "$IMAGE"
           exit
           ;;
  -help*|-\?)
              HELP=y
              ;;
  -back)
          shift # For $* args passing to the build
          BATCH=nohup
          BACK=yes
          DOIT=yes
          ;;
  -b*)
       shift    # For $* args passing to the build
       BATCH=nohup
       DOIT=yes
       ;;
  # This must be last
  *)
     DOIT=yes
     ;;
esac
 
# Seek port= argument
for arg in $*
do
  case $arg in
    port=*)
            PORT=`expr //$arg : '.*=\(.*\)'`
            ;;
  esac
done
 
if test "$DOIT"
then
  if test -x $HTTP/$IMAGE
  then
    if test "$BATCH"
    then        rm nohup.out 2>/dev/null
    fi
    if test "$PORT" = "80"
      # You need to insure ${BIND80} has root privileges and sticky bit
set
    then
      if test $BACK
      then      $BATCH ${BIND80} $HTTP/$IMAGE -e "$EEXEC" --
home="$HTTP/" $*&
      else      $BATCH ${BIND80} $HTTP/$IMAGE -e "$EEXEC" --
home="$HTTP/" $*
      fi
    else
      if test $BACK
      then      $BATCH $HTTP/$IMAGE -e "$EEXEC" -- home="$HTTP/" $*&
      else      $BATCH $HTTP/$IMAGE -e "$EEXEC" -- home="$HTTP/" $*
      fi
    fi
  else
    HELP=yes
  fi
fi
 
case "$HELP" in
  y*)
      case "$HELP" in
        yes*)
              echo "The CL-HTTP image: $HTTP/$IMAGE
is not found or not executable.
You may need to compile and then build this image.";
  ;;
      esac
      echo "Usage:
        $0              ; start CL-HTTP service without Log (default)
        $0 -b           ; start CL-HTTP service using nohup (daemon)
        $0 -back        ; start CL-HTTP service using nohup in
background
        $0 -build       ; build the CL-HTTP image
        $0 -compile     ; compile and load the sources
        $0 -help        ; print this message
        [port= eval=]   ; additional options where applicable
        "
        ;;
esac


Follow-Ups: