Quoting [email protected]:

Quoting Francois Bissey <[email protected]>:

On 01/05/13 04:13, [email protected] wrote:
On Tue, 30 Apr 2013, [email protected] wrote:
The ecls library for
maxima has changed name with the new asdf. So
newins maxima.fasb maxima.fas
should become:
newins maxima.system.fasb maxima.fas
How have you got so far? I get

;;; Loading #P"/usr/lib/ecl-12.12.1/asdf.fas"
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; End of Pass 1.An error occurred during initialization:
The function ASDF/INTERFACE::REMOVE-KEYS is undefined..
 * ERROR: sci-mathematics/maxima-5.30.0 failed (install phase):
 *   !!! newins: maxima.system.fasb does not exist

It seems maxima-build.lisp (or some file included from it) is not
compatible with the current asdf.


I see, I hadn't actually tested it with the latest ecls from the tree
that copies an adsf file from adsf-2.33-r3. The change I mentioned works
without that. Don't know what to do about that yet.
By the way can you make ecls-12.12.1-r4 prefix friendly by replacing
cp /usr/share/common-lisp/source/asdf/build/asdf.lisp
with
cp ${EPREFIX}/usr/share/common-lisp/source/asdf/build/asdf.lisp

I think I may have a clue. "remove-keys" is defined in asdf 2 and used
in asdf-bundle. These two are shipped in contrib/asdf:
ll contrib/asdf/ll contrib/asdf/
total 300K
drwxr-xr-x  2 fbissey fbissey 4.0K Dec  8 10:01 .
drwxr-xr-x 17 fbissey fbissey 4.0K Dec  8 10:01 ..
-rw-r--r--  1 fbissey fbissey  542 Dec  8 10:01 README
-rw-r--r--  1 fbissey fbissey  713 Dec  8 10:01 README.ECL
-rw-r--r--  1 fbissey fbissey  23K Dec  8 10:01 asdf-bundle.lisp
-rwxr-xr-x  1 fbissey fbissey  17K Dec  8 10:01 asdf-ecl.lisp
-rw-r--r--  1 fbissey fbissey 196K Dec  8 10:01 asdf.lisp
-rw-r--r--  1 fbissey fbissey  41K Dec  8 10:01 asdf.texinfo

asdf-ecl.lisp is historic but not used. asdf-bundle in this source is supposed
to used against asdf as shipped in this version of ecls.
The two files are used when building asdf as shipped by ecls, from
src/compile.lisp.in:
;;;
;;; * ASDF
;;;
#+WANTS-ASDF
(build-module "asdf"
               '("ext:asdf;asdf.lisp"
                 "ext:asdf;asdf-bundle.lisp")
               :dir "build:ext;"
               :prefix "EXT"
               :builtin #+:BUILTIN-ASDF t #-:BUILTIN-ASDF nil)

asdf 3.0 includes asdf-bundle but here when building we mix incompatible
versions. A first step will be to patch src/compile.lisp.in not to add
asdf-bundle.lisp when building the asdf module for ecls. That may not
solve everything but that would be a first step in the right direction.

Removing asdf-bundle.lisp is definitely the right thing to do but that doesn't
put me out of my misery:
;;; Loading #P"/usr/lib64/ecl-12.12.1/asdf.fas"
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; End of Pass 1.An error occurred during initialization:
Component :MAXIMA not found.

At this stage I think some element of asdf-bundle have changed and I may need to
find someone knowledgeable with it to get it right.

I'll try to fill a bug with a patch today in bugzilla.

Francois





Reply via email to