cl-geodesics compiles for me with the attached patch.
One of the problems is that the ASDF system definition has unbalanced
parentheses. This makes it impossible to load/use this package. The
version in sarge and etch has the same bug, so it doesn't look like
anybody has used cl-geodesics in the past several years. It should
probably be removed rather than fixed.
OTOH, if you decide to keep it, there are a few other problems I
noticed:
- utilities.lisp doesn't have an IN-PACKAGE form, so it gets loaded in
whatever random package happens to be active.
- The GD-STATIC-EQUAL, GD-STATIC-UNEQUAL and GD-COSMOLOGICAL
systems each define the same symbols in the GEODESICS package, so they
can't be loaded simultaneously. But that's exactly what the GEODESICS
system does. I think each of the GD-* systems needs to live in a
separate package?
--
Peter De Wachter
--- a/debian/geodesics.asd
+++ b/debian/geodesics.asd
@@ -4,25 +4,25 @@
(defsystem :gd-static-equal
- :depends-on (:integrate)
+ :depends-on (:infix :integrate)
:components ((:file "geodesics")
(:file "staticequal" :depends-on ("geodesics"))
(:file "gdequations" :depends-on ("staticequal"))
(:file "utilities" :depends-on ("staticequal"))))
(defsystem :gd-static-unequal
- :depends-on (:integrate)
- :components (((:file "geodesics")
- (:file "staticunequal" :depends-on ("geodesics"))
- (:file "gdequations" :depends-on ("staticunequal"))
- (:file "utilities" :depends-on ("staticunequal"))))
+ :depends-on (:infix :integrate)
+ :components ((:file "geodesics")
+ (:file "staticunequal" :depends-on ("geodesics"))
+ (:file "gdequations" :depends-on ("staticunequal"))
+ (:file "utilities" :depends-on ("staticunequal"))))
(defsystem :gd-cosmological
- :depends-on (:integrate)
+ :depends-on (:infix :integrate)
:components ((:file "geodesics")
(:file "general" :depends-on ("geodesics"))
(:file "gdequations" :depends-on ("general"))
(:file "utilities" :depends-on ("general"))))
(defsystem :geodesics
- :depends-on (:infix :gd-static-equal :gd-static-unequal :gd-cosmological))
+ :depends-on (:gd-static-equal :gd-static-unequal :gd-cosmological))
--- a/utilities.lisp
+++ b/utilities.lisp
@@ -46,7 +46,7 @@
(let ((*log* ,s))
,@body)))))
-(setf *integrator* (make-adaptive-integrator #'runge-kutta 5))
+(setf *integrator* (integrate:make-adaptive-integrator #'integrate:runge-kutta 5))
(defun invert (fn value &key min max)
;; uses linear interpolation. With extreme loss of generality:
@@ -64,4 +64,4 @@
(setf min x)
(setf max x))
(frob (+ min (/ (* (- max min) (- value (funcall fn min))) (- (funcall fn max) (funcall fn min)))))))))
- (frob (+ min (/ (* (- max min) (- value (funcall fn min))) (- (funcall fn max) (funcall fn min))))))))
\ No newline at end of file
+ (frob (+ min (/ (* (- max min) (- value (funcall fn min))) (- (funcall fn max) (funcall fn min))))))))