Maybe I should get my project up in a repo, but it looks like I have the dependency listed. Here is my package's .asd named cl-i3.asd:

(asdf:defsystem #:cl-i3
  :name "cl-i3"
  :description "A replacement for i3status written in Common Lisp."
  :author "Brandon Hale <>"
  :license "GPLv3"
  :version "1.0"
  :depends-on (#:cl-ansi-text #:trivial-battery #:str)
  :components ((:file "main")))

And the top portion of my main.lisp:

(ql:quickload :trivial-battery)
(ql:quickload :str)
;; allows for colors to be printed
(ql:quickload :cl-ansi-text)
(defpackage :cl-i3
  (:use #:common-lisp))

I am definitely not an expert on Common Lisp packages, but this does load up in slime on my machine when I do a

(ql:quickload :cl-i3)

with ecl 21.2.1-3 from Arch Linux.

I need to look at the well-commented example again to see what I'm doing wrong methinks.

Brandon Hale

On 2/10/23 01:07, Daniel Kochmański wrote:
Hello Brandon,

------- Original Message -------
On Friday, February 10th, 2023 at 00:20, Brandon Hale <> wrote:

Hello all,

I apologize if this is either the wrong place to get help with ecl, or if this is asked all of the time. 
this is the right place, don't worry :)

I've written a small replacement for i3status with common lisp and want to use ecl to make a binary so when i3wm loads, it just loads the cl-i3status binary. I've looked at the ecl documentation online and it suggests doing something like this:

(ql:quickload :cl-i3)

(asdf:make-build :cl-i3

                 :type :program

                 :move-here #P"/home/brandon/Programming/lisp/cl-i3/"

                 :prologue-code '(require 'asdf))

So, I run this and the binary appears. However, when I try to run it, I get this output:

;;; Loading #P"/usr/lib/ecl-21.2.1/asdf.fas"
;;; Computing Hangul syllable names
Condition of type: MISSING-COMPONENT
Component "str" not found

Available restarts:

1. (RETRY) Retry ASDF operation.
2. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.

Top level in: #<process TOP-LEVEL 0x557ade1c2f80>.

I imagine it is just because of my use of quicklisp packages, but how do I compile the packages into the binary?
this error message seems to suggest that you use a system "str" without declaring it in dependencies. In your
project file my-project.asd add

(defsystem "my-project"
  :depends-on (... "str")

depending on what you want from your project you may not need (require 'asdf) in the prologue code. Also you
may consider passing :monolithic t flag to make-build.

Make sure that you study well-commented example in ecl source repository under examples/asdf_with_dependence/.

Last but not least make sure that you use the latest release (currently it is 21.2.1) or a build from the branch
"develop" if you are not afraid of cutting your self on the bleeding edge ;).

If none of these advises helps then please try to minimize the test case to the minimum (basically an asd system
with a singly stub file and all dependencies you need) and make an issue ticket on gitlab

mind that such action requires registration on the gitlab platform.

Thank you very much for any help you can offer,

Brandon Hale
Best regards,

Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański      |

"Be the change that you wish to see in the world." - Mahatma Gandhi