• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
      • Operational-semantics
      • Real
      • Start-here
      • Miscellaneous
      • Output-controls
      • Bdd
      • Macros
      • Installation
        • Using-ACL2
        • Installation-requirements
        • Installation-summary
        • Installation-support
          • Creating-executable
          • Windows-installation
            • Windows-installation-gcl
            • Obtaining-ACL2
            • Summary-of-ACL2-system-distribution
            • Running-ACL2-without-executable
        • Mailing-lists
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Windows-installation

    Windows-installation-gcl

    Building an executable image on a Windows system using GCL

    This topic is based on very old documentation that is probably superseded by the topic, windows-installation. But here are steps that may be helpful when installing ACL2 on Windows with GCL as the host Common Lisp.

    1. FIRST get GCL running on your Windows system using ONE of the following two options. Note that GCL can be unhappy with spaces in filenames, so you should probably save the GCL distribution to a directory whose path is free of spaces.
      • Obtain GCL for Windows systems if such a distribution is available.
      • OR, perhaps you can build GCL on your Windows system from the sources. The mingw tools and the cygnus bash shell have been used to build distributed GCL executables.
    2. SECOND, create an appropriate GCL batch file. When we tried running the script gclm/bin/gclm.bat, a separate window popped up, and with an error. Many ACL2 users prefer running in an emacs shell buffer. The following modification of gclm.bat seemed to solve the problem (your pathnames may vary).
      @
      % do not delete this line %
      @ECHO off
      set cwd=%cd%
      path C:\gcl\gclm\mingw\bin;%PATH%
      C:\gcl\gclm\lib\gcl-2.6.2\unixport\saved_gcl.exe -dir C:/gcl/gclm/lib/gcl-2.6.2/unixport/ -libdir  C:/gcl/gclm/lib/gcl-2.6.2/ -eval "(setq si::*allow-gzipped-file* t)" %1 %2 %3 %4 %5 %6 %7 %8 %9
    3. THIRD, see creating-executable, and follow the instructions in the section, “Building an executable image on other than a Unix-like system”. The resulting file may be called saved_acl2.exe rather than saved_acl2.
    4. FINALLY, create a suitable file acl2.bat.

    If you experience problems, the following hints may help.

    TROUBLESHOOTING

    • In an attempt to build ACL2 on Windows XP on top of GCL, the attempt broke at the end of the “Initialization, first pass” step (see creating-executable), while compiling TMP1.lisp. That was easily remedied by starting up a fresh GCL session and invoking (compile-file "TMP1.lisp") before proceeding to the next step.
    • When you want to quit ACL2, invoke (good-bye). The point here is to avoid control-c control-d, even though that often works fine in Emacs under Unix-like systems.
    • If the above batch file does not work for some reason, an alternate approach may be to set environment variables. You may be able to add to the PATH variable gcl-dir\gcc\bin, where gcl-dir is the directory where GCL is installed. To get to the place to set environment variables, you might be able to go to the control panel, under system, under advanced. Alternately, you might be able to get there by opening My Computer and right-clicking to get to Properties, then selecting the Advanced tab. At one time, when GCL/Windows was released as Maxima, Pete Manolios once suggested adding the system variable LD_LIBRARY_PATH with the value "maxima-dir\gcc\i386-mingw32msvc\include"; this may or may not be necessary for your GCL installation (and the path would of course likely be different).