[Ecls-list] [Maxima] build_info fails in ECL + Maxima (unbound *MAXIMA-BUILD-TIME*)

Robert Dodier robert.dodier at gmail.com
Sun Aug 17 02:09:24 UTC 2008


On 8/15/08, Andrej Vodopivec <andrej.vodopivec at gmail.com> wrote:

> I think we can define *maxima-build-time* in cl-init.lisp for ecl with
>
>  #+ecl (defvar cl-user::*maxima-build-time* '#.(multiple-value-list
>  (get-decoded-time)))

Tried that; appears to chug along happily but eventually make dies
with the following error:

;;; Note: Invoking external command:
;;; gcc -o "/home/robert/tmp/maxima-head/maxima/src/maxima"
-L"/usr/local/lib/"
"/home/robert/tmp/maxima-head/maxima/src/ECLINIT3QA4fp.o"
"/home/robert/tmp/maxima-head/maxima/src/libmaxima.a"    -lecl -ldl
-lm   -lgmp
/home/robert/tmp/maxima-head/maxima/src/libmaxima.a(ECLINITVnmYjW.o)(.text+0x1828):
In function `init_lib_MAXIMA':
/home/robert/tmp/maxima-head/maxima/src/ECLINITVnmYjW.c:622: undefined
reference to `_eclAhC0Wtq9_hzEQGLy'

Can someone who knows more about ECL comment on this?

best

Robert Dodier

PS. Here's what I tried. I changed *MAXIMA-BUILD-TIME* to an internal
symbol because I had trouble with EXPORT. Maybe that was unnecessary;
maybe it should be in the :maxima package anyway.

Index: src/init-cl.lisp
===================================================================
RCS file: /cvsroot/maxima/maxima/src/init-cl.lisp,v
retrieving revision 1.116.2.2
diff -u -r1.116.2.2 init-cl.lisp
--- src/init-cl.lisp    14 Aug 2008 18:48:17 -0000      1.116.2.2
+++ src/init-cl.lisp    17 Aug 2008 02:07:26 -0000
@@ -9,6 +9,8 @@

 ;;; An ANSI-CL portable initializer to replace init_max1.lisp

+#+ecl (defvar cl-user::*maxima-build-time* '#.(multiple-value-list
(get-decoded-time)))
+
 ;;; Locations of various types of files. These variables are discussed
 ;;; in more detail in the file doc/implementation/dir_vars.txt. Since
 ;;; these are already in the maxima package, the maxima- prefix is
Index: src/maxima.system
===================================================================
RCS file: /cvsroot/maxima/maxima/src/maxima.system,v
retrieving revision 1.63
diff -u -r1.63 maxima.system
--- src/maxima.system   1 Aug 2008 16:50:52 -0000       1.63
+++ src/maxima.system   17 Aug 2008 02:07:27 -0000
@@ -26,8 +26,6 @@

 (defvar *maxima-build-time* (multiple-value-list (get-decoded-time)))

-(export '*maxima-build-time*)
-
 #+ecl
 (defun do-compile-ecl (&rest args)
   (let ((c::*cc-flags* (concatenate 'string "-I. " c::*cc-flags*))
Index: src/maxima.asd
===================================================================
RCS file: /cvsroot/maxima/maxima/src/maxima.asd,v
retrieving revision 1.4.2.1
diff -u -r1.4.2.1 maxima.asd
--- src/maxima.asd      9 Aug 2008 18:26:42 -0000       1.4.2.1
+++ src/maxima.asd      17 Aug 2008 02:07:28 -0000
@@ -27,8 +27,7 @@

 (in-package :cl-user)

-(defvar *maxima-build-time* (multiple-value-list (get-decoded-time)))
-(export '*maxima-build-time*)
+#-ecl (defvar *maxima-build-time* (multiple-value-list (get-decoded-time)))

 (eval-when (:compile-toplevel :load-toplevel :execute)
   (unless (find-package :maxima.system)
Index: src/macsys.lisp
===================================================================
RCS file: /cvsroot/maxima/maxima/src/macsys.lisp,v
retrieving revision 1.69
diff -u -r1.69 macsys.lisp
--- src/macsys.lisp     27 Jul 2008 07:04:10 -0000      1.69
+++ src/macsys.lisp     17 Aug 2008 02:07:29 -0000
@@ -349,11 +349,11 @@
 (defmfun $build_info ()
   (format t "~%Maxima version: ~a~%" *autoconf-version*)
   (format t "Maxima build date: ~a:~a ~a/~a/~a~%"
-         (third cl-user:*maxima-build-time*)
-         (second cl-user:*maxima-build-time*)
-         (fifth cl-user:*maxima-build-time*)
-         (fourth cl-user:*maxima-build-time*)
-         (sixth cl-user:*maxima-build-time*))
+         (third cl-user::*maxima-build-time*)
+         (second cl-user::*maxima-build-time*)
+         (fifth cl-user::*maxima-build-time*)
+         (fourth cl-user::*maxima-build-time*)
+         (sixth cl-user::*maxima-build-time*))
   (format t "host type: ~a~%" *autoconf-host*)
   (format t "lisp-implementation-type: ~a~%" (lisp-implementation-type))
   (format t "lisp-implementation-version: ~a~%~%"
(lisp-implementation-version))




More information about the ecl-devel mailing list