axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Debian .deb file


From: Camm Maguire
Subject: Re: [Axiom-developer] Debian .deb file
Date: 14 Sep 2003 18:49:58 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks!  I think this has been resolved in the latest
upload, -5.

I've discussed briefly before the compiler::link image building
option in GCL.  It is a hopefully temporary means to get GCL images
with compiled objects included on ia64, mips(el), hppa, and alpha.
Anyway, in the latest deb package release, I've included the following
mechanism to apply small patches against the Makefile.pamphlets to get
things to work.

Hopefully this can be made more transparent n the GCL end.  But I've
tested the compiler::link options on i386 and it works just fine
apparently.  I have one question -- the si::*system-directory* is
reset by the interpsys building process (somewhere in makeint.lsp I
think) -- is this necessary?  When setting the system-p compile flag
(required for compiler::link usage), the compiler needs to be able to
find the system include file cmpinclude.h in the h/ directory, which
is done conventially via reference to the si::*system-directory*
path.  The patch below sets it back to its original value.  Can this
pose a problem?

Lastly, it would be nice to turn off compiler::*default-system-p* in
the final image.  It is needed in the intermediary interpsys for
algebra compilation/linking purposes.  Don't know exactly where to put
(setq compiler::*default-system-p* nil).

Take care,

=============================================================================
debian/rules
=============================================================================
ARCHT:=$(dpkg --print-architecture)
ifeq ($(ARCHT),ia64)
NO_SAVE_SYS=t
endif
ifeq ($(ARCHT),mips)
NO_SAVE_SYS=t
endif
ifeq ($(ARCHT),mipsel)
NO_SAVE_SYS=t
endif
ifeq ($(ARCHT),hppa)
NO_SAVE_SYS=t
endif
ifeq ($(ARCHT),alpha)
NO_SAVE_SYS=t
endif

debian/patches_applied: 
        ! [ -e debian/patches_unapplied ] || patch -p0 <debian/patch.all
        ! [ -e debian/patches_unapplied ] || [ "$(NO_SAVE_SYS)" = "" ] || patch 
-p0 <debian/patch.save
        ! [ -e debian/patches_unapplied ] || [ "$(NO_SAVE_SYS)" != "" ] || 
patch -p0 <debian/patch.nosave
        rm -f debian/patches_unapplied
        touch $@

debian/patches_unapplied: 
        ! [ -e debian/patches_applied ] || patch -R  -p0 <debian/patch.all
        ! [ -e debian/patches_applied ] || [ "$(NO_SAVE_SYS)" = "" ] || patch 
-R -p0 <debian/patch.save
        ! [ -e debian/patches_applied ] || [ "$(NO_SAVE_SYS)" != "" ] || patch 
-R -p0 <debian/patch.nosave
        rm -f debian/patches_applied
        touch $@
=============================================================================
path.all
=============================================================================
--- lsp/Makefile.pamphlet       31 Aug 2003 03:00:46 -0000      1.2
+++ lsp/Makefile.pamphlet       13 Sep 2003 18:59:40 -0000
@@ -152,17 +152,7 @@
        @echo 1 building ${LSP} ${GCLVERSION}
 
 gcldir: 
-       @echo 2 building ${GCLVERSION}
-       @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
-<<gcl-2.5.2.socket.patch>>
-<<gcl-2.5.2.fortran.patch>>
-<<gcl-2.5.2.libspad.patch>>
-<<gcl-2.5.2.toploop.patch>>
-<<gcl-2.5.2.objecttofloat.patch>>
-<<gcl-2.5.2.in-package.patch>>
-<<gcl-2.5.2.exit.patch>>
-<<gcl-2.5.2.tail-recursive.patch>>
-<<gclConfigureMake>>
+       echo "(compiler::link nil \"${OUT}/lisp\" \"(setq 
compiler::*default-system-p* t)\" \"${OBJ}/${SYS}/lib/cfuns-c.o 
${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a\")" | gcl
        @echo 13 finished system build on `date` | tee >gcldir
 
 ccldir: ${LSP}/ccl/Makefile
--- src/interp/util.lisp.pamphlet       28 Aug 2003 14:23:40 -0000      1.1
+++ src/interp/util.lisp.pamphlet       13 Sep 2003 18:59:49 -0000
@@ -68,10 +68,14 @@
   ;; perform system initializations for building a starter system
   (init-memory-config)
   #+:AKCL
-  (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn")))
-   (unless (probe-file (concatenate 'string collectfn ".o"))
-     (compile-file collectfn))
-   (load collectfn)
+  (let ((collectfn (concatenate 'string si::*system-directory* 
"../cmpnew/gcl_collectfn.lsp"))
+       (collectfn1 (concatenate 'string obj "/" sys "/interp/collectfn")))
+   (with-open-file (st collectfn :direction :input)
+      (with-open-file (st1 (concatenate 'string collectfn1 ".lsp") :direction 
:output)
+       (si::copy-stream st st1)))
+   (unless (probe-file (concatenate 'string collectfn1 ".o"))
+     (compile-file collectfn1))
+   (load collectfn1)
    (compiler::emit-fn t)
    (mapcar
      #'load
=============================================================================
patch.save
=============================================================================
--- src/boot/Makefile.pamphlet  28 Aug 2003 12:15:28 -0000      1.1
+++ src/boot/Makefile.pamphlet  13 Sep 2003 18:59:46 -0000
@@ -1101,7 +1101,8 @@
 expansion. Adding a single quote symbol will break this expansion.
 
 <<environment>>= 
-CMD0=  (progn (mapcar (function (lambda (x) (load  x))) (quote (${OBJS1}))) 
(system::save-system "${SAVESYS}"))
+CMD0=   (compiler::link (quote (${OBJS1})) "${SAVESYS}" "(setq 
compiler::*default-system-p* t)")
+#CMD0= (progn (mapcar (function (lambda (x) (load  x))) (quote (${OBJS1}))) 
(system::save-system "${SAVESYS}"))
  
 @
 \subsection{boothdr.lisp \cite{1}}
--- src/interp/Makefile.pamphlet        5 Sep 2003 22:14:19 -0000       1.3
+++ src/interp/Makefile.pamphlet        13 Sep 2003 18:59:49 -0000
@@ -558,8 +558,10 @@
        @ echo '(load "${OUT}/c-util")' >> ${OUT}/makedep.lisp
        @ echo '(unless (probe-file "${OUT}/g-util.${O}") (compile-file 
"${OUT}/g-util.${LISP}" :output-file "${OUT}/g-util.${O}"))' >> 
${OUT}/makedep.lisp
        @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp
-       @ (cd ${MNT}/${SYS}/bin ; \
-          echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' 
| ${LISPSYS})
+#      @ (cd ${MNT}/${SYS}/bin ; \
+#         echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' 
| ${LISPSYS})
+       @ ( cd ${OBJ}/${SYS}/bin && \
+               echo '(setq si::*collect-binary-modules* t)(load 
"${OUT}/makedep.lisp")(compiler::link (remove-duplicates si::*binary-modules* 
:test (quote equal)) "$(DEPSYS)" "(setq si::*collect-binary-modules* t)(load 
\"$(OUT)/makedep.lisp\")(gbc t)(when si::*binary-modules* (error 
si::*binary-modules*))(setq si::collect-binary-modules* nil 
si::*binary-modules* nil)(gbc t)(setq compiler::*default-system-p* t)" "" nil)' 
| ${LISPSYS})
        @ echo 4 ${DEPSYS} created
 
 @
@@ -611,8 +613,10 @@
        @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> 
${OUT}/makeint.lisp
        @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp
        @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> 
${OUT}/makeint.lisp
-       @ (cd ${OBJ}/${SYS}/bin ; \
-         echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) 
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
+#      @ (cd ${OBJ}/${SYS}/bin ; \
+#        echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) 
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
+       @ (cd ${MNT}/${SYS}/bin && \
+         echo '(setq si::*collect-binary-modules* t)(setq x 
si::*system-directory*)(load "${OUT}/makeint.lisp")(setq si::*system-directory* 
x)(compiler::link (remove-duplicates si::*binary-modules* :test (quote equal)) 
"$(SAVESYS)" "(setq si::*collect-binary-modules* t)(load 
\"$(OUT)/makeint.lisp\")(when si::*binary-modules* (error 
si::*binary-modules*)(setq si::collect-binary-modules* nil si::*binary-modules* 
nil)(setq compiler::*default-system-p* t)(gbc t))" 
"$(OBJ)/$(SYS)/lib/sockio-c.o $(OBJ)/$(SYS)/lib/cfuns-c.o 
$(OBJ)/$(SYS)/lib/libspad.a" nil)' | ${LISPSYS})
        @ echo 6 ${SAVESYS} created
        @ cp ${SAVESYS} ${AXIOMSYS}
        @ echo 6a ${AXIOMSYS} created
=============================================================================
patch.nosave
=============================================================================
--- src/interp/Makefile.pamphlet        5 Sep 2003 22:14:19 -0000       1.3
+++ src/interp/Makefile.pamphlet        13 Sep 2003 18:59:49 -0000
@@ -611,8 +613,10 @@
        @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> 
${OUT}/makeint.lisp
        @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp
        @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> 
${OUT}/makeint.lisp
-       @ (cd ${OBJ}/${SYS}/bin ; \
-         echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) 
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
+#      @ (cd ${OBJ}/${SYS}/bin ; \
+#        echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) 
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
+       @ (cd ${OBJ}/${SYS}/bin ; \
+         echo '(progn (gbc t) (setq x si::*system-directory*)(load 
"${OUT}/makeint.lisp") (setq si::*system-directory* x)(gbc t) (user::spad-save 
"${SAVESYS}"))' | ${LISPSYS} )
        @ echo 6 ${SAVESYS} created
        @ cp ${SAVESYS} ${AXIOMSYS}
        @ echo 6a ${AXIOMSYS} created
=============================================================================


Jason White <address@hidden> writes:

> Camm Maguire writes:
>  > Greetings!  Just a heads up that the .deb file has just been accepted
>  > into the Debian distribution.  Still have a bit or work to do on the
>  > portability, but more on that later.
> 
> Congratulations, and thank you for preparing the Debian package. The
> version which was uploaded, however, contains the following bug:
> 
> address@hidden axiom
> GCL (GNU Common Lisp)  (2.6.1) Tue Sep  9 17:14:40 UTC 2003
> Licensed under GNU Library General Public License
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> 
> (AXIOM Sockets) The AXIOM server number is undefined.
> -----------------------------------------------------------------------------
>    Issue )copyright to view copyright notices.
>    Issue )summary for a summary of useful system commands.
>    Issue )quit to leave AXIOM and return to shell.
> Thursday September 11, 2003 at 15:27:44 
> -----------------------------------------------------------------------------
>  
> 
> Error: Cannot open the file 
> /fix/g/camm/axiom/axiom-0.0.0cvs/mnt/linux/algebra/compress.daase.
> Fast links are on: do (si::use-fast-links nil) for debugging
> Error signalled by SYSTEM:TOP-LEVEL.
> Broken at APPLY.  Type :H for Help.
> BOOT>>
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]