This is a re-post. The original email was sent when I was not
subscribed, so it is still in moderation. Meanwhile, this might be
useful to somebody:

With ASDF 3.3.1, elephant fails to build. Here's the trivial fix,
as recommended by ASDF:

--- /elephant.asd       2018-03-13 05:06:40.056298013 +0000
+++ /elephant.asd       2018-03-13 05:29:08.851258161 +0000
@@ -271,7 +271,7 @@
        (or (uffi-funcall :load-foreign-library file :module module)
            (error "Could not load ~A into ~A" file module)))))
   ;; Load the compiled libraries
-  (dolist (file (output-files (make-instance 'compile-op) c))
+  (dolist (file (output-files (make-operation 'compile-op) c))
     (format t "Attempting to load ~A...~%" (file-namestring file))
     (if (and (probe-file file)
             (not (get-config-option :prebuilt-libraries c)))

My environment: 64-bit SBCL 1.4.5, Linux 4.9.x

ASDF complains about other things too. I might fix them in the following
weeks but it's far from certain.

1. use uiop:run-program instead of asdf:run-shell-command

For your convenience,

------------------------------
excerpt from
asdf/build/asdf.lisp:

defun run-shell-command (control-string &rest args)
    "PLEASE DO NOT USE. This function is not just DEPRECATED, but also 
dysfunctional.
Please use UIOP:RUN-PROGRAM instead."
------------------------------
excerpt from
uiop/run-program.lisp:

defun run-program (command &rest keys
                       &key ignore-error-status (force-shell nil 
force-shell-suppliedp)
                         input (if-input-does-not-exist :error)
                         output (if-output-exists :supersede)
                         error-output (if-error-output-exists :supersede)
                         (element-type #-clozure *default-stream-element-type* 
#+clozure 'character)
                         (external-format *utf-8-external-format*)
                       &allow-other-keys)
    "Run program specified by COMMAND,
either a list of strings specifying a program and list of arguments,
or a string specifying a shell command (/bin/sh on Unix, CMD.EXE on Windows);
_synchronously_ process its output as specified and return the processing 
results
when the program and its output processing are complete.

[…]

RUN-PROGRAM returns 3 values:
0- the result of the OUTPUT slurping if any, or NIL
1- the result of the ERROR-OUTPUT slurping if any, or NIL
2- either 0 if the subprocess exited with success status,
or an indication of failure via the EXIT-CODE of the process"
------------------------------

2. other warnings
WARNING: UIOP/VERSION:PARSE-VERSION: "1.0a1" doesn't follow asdf version 
numbering convention
WARNING: Invalid :version specifier "1.0a1" for component "elephant" from file 
#P"/home/akater/common-lisp/elephant/elephant.asd", using NIL instead
WARNING: Invalid :version specifier "1.0a1" for component "elephant" from file 
#P"/home/akater/common-lisp/elephant/elephant.asd", using NIL instead

Attachment: signature.asc
Description: PGP signature

Reply via email to