Instalare Prolog

    Cateva indicatii pentru cei care doresc sa-si instaleze SWI-Prolog si interfata acestuia cu emacs-ul (majoritatea acestor operatii se pot efectua numai avand drepturi de supervizor, deci din contul de root):

Se copiaza local fisierul pl-<version> (de exemplu pl-3.3.0.tar.gz pe care il puteti aduce de la site-ul de download al SWI-Prolog) si se desface cu ajutorul comenzii:

    tar -zxf pl-3.3.0.tar.gz

Aceasta comanda va decomprima si dezarhiva fisierul primit ca parametru, obtinandu-se un director pl-<version> cu toate informatiile necesare pentru instalare (/boot, /lib, /man, /runtime, /lisp, /src, INSTALL, INSTALL.notes, etc.)

Procedura de instalare, descrisa in INSTALL.notes presupune introducerea urmatoarelor comenzi (avand pl-<version> ca si director curent de lucru):

    ./configure
    make
    make install

Implicit, prologul se va instala in /usr/local/bin/pl cu bibliotecile in /usr/local/lib/pl-<version>.

Se poate verifica structura urmatoarelor directoare:

/usr/local/bin/pl:
        @chpl
        @pl
        @pl-bite
        !pl.
        @plld

/usr/local/lib/pl-<version>/bin/i486-linux
                *chpl
                *pl
                *pl-bite
                *.plld

In acest moment, SWI-prolog este instalat in sistem. Pentru instalarea interfetei cu emacs-ul se creeaza directorul /usr/local/prolog in care se copiaza continutul arhivei emacs-prolog.tgz (acest fisier se desface tot cu comanda 'tar -zxf  file_name' obtinandu-se un director 'emacs' in care se afla fisierele necesare interfetei dintre prolog si emacs)

Fiecare user va trebui sa-si modifice fisierul .emacs din propriul director home astfel incat acesta sa contina liniile:

(setq inferior-lisp-program "xlispstat")
(setq load-path (cons "usr/local/prolog/emacs" load-path))
(autoload 'run-prolog "swi-prolog19" "Run an inferior prolog process" t)
(autoload 'prolog-mode "swi-prolog19" "SWI-Prolog mode" t)
(setq auto-mode-alist (cons '("\\.pl$".prolog-mode) auto-mode-alist))
(setq auto-mode-alist (mapcar 'purecopy
        '(("\\.c$".c-mode)
        ("\\.h$".c++-mode)
        ("\\.cc$".c++mode)
        ("\\.C$".c++mode)
        ("\\.el$".emacs-lisp-mode)
        ("\\.emacs$.emacs-lisp-mode)
        (\\".a$".c-mode)
        ("\\.tex$".latex-mode)
        ("\\.pl$".prolog-mode)
        ("\\.lsp$".lisp-mode))))

Fisierul /usr/local/prolog/emacs/swi-prolog19.el trebuie sa sufere niste modificari astfel incat in final sa avem:

(defconst qlisp-directory "/usr/local/prolog/emacs")
(defvar run-prolog-command
        (cond ((and (equal (getenv "OSTYPE") "Linux")
                    (equal (getenv "HOSTTYPE") "i386"))
                    "usr/local/bin/pl")
              (t "pl?")))

In final, in directorul home al fiecarui user trebuie facuta o legatura simbolica spre pl, prin urmatoarea comanda:

    ln -s /usr/local/bin/pl  /home/<user_name>/prolog