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))))))))

Reply via email to