• 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
        • Gentle-introduction-to-ACL2-programming
        • ACL2-tutorial
        • About-ACL2
          • Recursion-and-induction
          • Operational-semantics
          • Soundness
          • Release-notes
          • Workshops
          • ACL2-tutorial
          • Version
          • How-to-contribute
          • Acknowledgments
          • Using-ACL2
          • Releases
          • Pre-built-binary-distributions
          • Common-lisp
          • Installation
            • Obtaining-common-lisp
              • Sbcl-installation
              • Allegro-cl
              • Sbcl-installation-brief
              • Ccl-installation
                • Ccl-installation-extra
                • Ccl-installation-mac-elaborate
                • Ccl-installation-linux-elaborate
                  • Ccl-installation-mac-brief
                  • Ccl-installation-linux-brief
              • Installation-instructions
              • Using-ACL2
              • Installation-support
            • Mailing-lists
            • Git-quick-start
            • Copyright
            • ACL2-help
        • Miscellaneous
        • Output-controls
        • Bdd
        • Macros
        • Installation
          • Obtaining-common-lisp
            • Sbcl-installation
            • Allegro-cl
            • Sbcl-installation-brief
            • Ccl-installation
              • Ccl-installation-extra
              • Ccl-installation-mac-elaborate
              • Ccl-installation-linux-elaborate
                • Ccl-installation-mac-brief
                • Ccl-installation-linux-brief
            • Installation-instructions
            • Using-ACL2
            • Installation-support
          • Mailing-lists
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Ccl-installation

      Ccl-installation-linux-elaborate

      Installing Clozure Common Lisp (CCL) on Linux (elaborate version)

      NOTE: See the Clozure CL releases page for the latest information, which may well supersede what is included below.

      See ccl-installation for introductory remarks. The ``cookbook'' instructions below give you one way to install CCL on Linux without any knowledge of git or CCL. For more streamlined instructions see ccl-installation-linux-brief.

      Note: Linux users may need to install m4.

      First fetch CCL from GitHub as follows. (You may prefer to use ``git pull'' if you previously did this step. In that case you probably won't want to do the optional renaming of the directory, mentioned below.)

      # Obtain a ccl distribution in a fresh directory:
      mkdir temp
      cd temp
      git clone https://github.com/Clozure/ccl
      # Optionally rename that directory as suggested below, after
      # executing the following three commands.
      cd ccl
      git rev-parse HEAD
      cd ../../
      # Optionally change directory name, and then go back to ccl directory:
      # You'll want the last 10 hex digits to match those of the
      # output from the ``git rev-parse HEAD'' command above: do
      # that twice here and once further below.
      mv temp 2017-12-07-6be8298fe5
      cd 2017-12-07-6be8298fe5/ccl

      Next fetch and extract a development snapshot in the new ccl directory. WARNING. The version below is current as of this writing (November, 2023), but see https://github.com/Clozure/ccl/releases/ for the latest snapshots; in particular, "v1.12.2" below could change, e.g., to "v1.12.3" or "v1.13".

      wget https://github.com/Clozure/ccl/releases/download/v1.12.2/linuxx86.tar.gz
      tar xfz linuxx86.tar.gz

      Rebuild and quit, twice.

      echo '(rebuild-ccl :full t)' | ./lx86cl64
      echo '(rebuild-ccl :full t)' | ./lx86cl64

      Create an executable script like the following. You might want to call it ``ccl'' and put it into a directory on your path. Be sure to change the name (shown as ``2017-12-07-6be8298fe5'' above) to match the name change already made above.

      #!/bin/sh
      
      export CCL_DEFAULT_DIRECTORY=/projects/acl2/lisps/ccl/2017-12-07-6be8298fe5/ccl
      ${CCL_DEFAULT_DIRECTORY}/scripts/ccl64 "$@"

      Now ensure that your script is executable, e.g.:

      chmod +x my-script

      You're done! (Note however that certification of books that use Quicklisp may require openssl to be installed if it is not already on your system.)