Question: I am having trouble using the `asdf` build tools with common lisp. Here is my `fractals.asd` file:

```
(defpackage :fractals
  (:use :cl :asdf :cl-opengl :cl-glu :cl-glut)
  (:export :frac-tree :draw-tree))
(in-package :fractals)
;----------------------------------------------------------
(defsystem fractals 
  :name "fractals"
  :version "0.0.0"
  :serial t
  :components ((:file "frac-tree")
           (:file "fractal-lab")))

```

Both the ffiles `fract-tree.lisp` and `fractal-lab.lisp` have the statement `(in-package :fractals)` at the very beginning of the file. However, I am automatically getting an error saying `The name "CL-OPENGL" does not designate any package.` I don't understand why this is wrong. Furthermore, if I don't include these libraries, then I have to manually require them myself... I created a directory called: `~/.config/common-lisp/source-registry.conf.d/` where I placed a file called `fractals2.conf` which contains the following:

```
(:directory "~/lisp_proj/fractals2/")

```

This is the directory of my `fractals.asd` file as shown above. Apparently, this is supposed to tell `asdf` where my user-defined systems are located. I followed [this](http://common-lisp.net/project/asdf/asdf.html#Configuring-ASDF) tutorial.

* In summary, how can I get `asdf` to find my user-defined systems so that I do not have to manually load them?

Thanks for all the help!

Answer: 
You need to declare your dependencies in the `defsystem` with a `:depends-on` clause. The `:use` clause of the `defpackage` only makes names of already loaded packages available, but won't load them.

BTW, your `.asd` file should not include the `defpackage` of the main package. While it makes sense to declare a special package to run the `defsystem`s in there, regular packages should be declared in `.lisp` files.

**EDIT:** This may also solve your second problem. If not, it's probably because ASDF doesn't automatically expand the `~` character in paths. In that case, replace it with the actual path of your home directory.
1- Looks like you were using the undefined fractals:defsystem instead of asdf:defsystem

2- the ASDF DSL accepts the directive (:directory (:home "lisp\_proj/fractals\_2"))

3- Starting with 3.1.2, you can put everything under ~/common-lisp/

4- For God's Sake, RTFM!