stumpwm / mahogany

A stumpwm like Wayland compositor
GNU General Public License v2.0
241 stars 14 forks source link

Error building #66

Closed kkflto closed 1 month ago

kkflto commented 1 month ago
ninja -C /home/kkflt/src/mahogany/build/heart
ninja: Entering directory `/home/kkflt/src/mahogany/build/heart'
[359/359] Linking target example/heart
# FIXME?: move the api headers into a separate directory and just use those instead of calling install:
ninja -C /home/kkflt/src/mahogany/build/heart install > /home/kkflt/src/mahogany/build/install_output.txt
sbcl --non-interactive --load  build-mahogany.lisp
This is SBCL 2.4.9, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
While evaluating the form starting at line 17, column 0
  of #P"/home/kkflt/src/mahogany/build-mahogany.lisp":
Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD tid=23596 "main thread" RUNNING
                                                             {1000B88003}>:
  Component "mahogany/executable" not found

Backtrace for: #<SB-THREAD:THREAD tid=23596 "main thread" RUNNING {1000B88003}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK Component "mahogany/executable" not found #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* Component "mahogany/executable" not found)
2: (INVOKE-DEBUGGER Component "mahogany/executable" not found)
3: (ERROR ASDF/FIND-COMPONENT:MISSING-COMPONENT :REQUIRES "mahogany/executable")
4: ((:METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) ASDF/OPERATE:BUILD-OP "mahogany/executable") [fast-method]
5: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/OPERATE:BUILD-OP "mahogany/executable")
6: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
7: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP "mahogany/executable") [fast-method]
8: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1003E5345B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
9: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
10: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1002D5E86B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
11: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP "mahogany/executable") [fast-method]
12: (ASDF/OPERATE:MAKE "mahogany/executable")
13: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:MAKE "mahogany/executable") #<NULL-LEXENV>)
14: (EVAL-TLF (ASDF/OPERATE:MAKE "mahogany/executable") 2 NIL)
15: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:MAKE "mahogany/executable") 2)
16: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:MAKE "mahogany/executable") :CURRENT-INDEX 2)
17: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {7F797EFFF4CB}> #<SB-C::SOURCE-INFO {1002955103}> SB-C::INPUT-ERROR-IN-LOAD)
18: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {100294A563}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
19: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {100294A563}> NIL)
20: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F797EFFF88B}> #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {100294A563}> NIL #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {100294A563}>)
21: (LOAD #P"build-mahogany.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
22: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:LOAD . "build-mahogany.lisp") (:QUIT)))
23: (SB-IMPL::TOPLEVEL-INIT)
24: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
25: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
26: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
make: *** [Makefile:18: /home/kkflt/src/mahogany/build/mahogany] Error 1
sdilts commented 1 month ago

Well, that's bizarre that I can't trigger this bug in the build pipeline.

Does adding (:directory ,(uiop/os:getcwd)) to the initialize-source-registry call in build-mahogany.lisp fix it? It should look like this;

(asdf:initialize-source-registry
 `(:source-registry
   (:directory ,(uiop/os:getcwd))
   (:tree ,(merge-pathnames (uiop/os:getcwd) #P"dependencies"))
   ;; Use whatever the user has configured in their environment to find the rest.
   :inherit-configuration))
sdilts commented 1 month ago

Does #67 fix it for you?

kkflto commented 1 month ago

I'm now getting a different error

ninja -C /home/kkflt/src/mahogany/build/heart
ninja: Entering directory `/home/kkflt/src/mahogany/build/heart'
ninja: no work to do.
# FIXME?: move the api headers into a separate directory and just use those instead of calling install:
ninja -C /home/kkflt/src/mahogany/build/heart install > /home/kkflt/src/mahogany/build/install_output.txt
sbcl --non-interactive --load  build-mahogany.lisp
This is SBCL 2.4.9, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
While evaluating the form starting at line 17, column 0
  of #P"/home/kkflt/src/mahogany/build-mahogany.lisp":
Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY in thread #<SB-THREAD:THREAD tid=26669 "main thread" RUNNING
                                                              {1003F38133}>:
  Component #:ALEXANDRIA not found, required by #<SYSTEM "mahogany">

Backtrace for: #<SB-THREAD:THREAD tid=26669 "main thread" RUNNING {1003F38133}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK Component #:ALEXANDRIA not found, required by #<SYSTEM "mahogany"> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* Component #:ALEXANDRIA not found, required by #<SYSTEM "mahogany">)
2: (INVOKE-DEBUGGER Component #:ALEXANDRIA not found, required by #<SYSTEM "mahogany">)
3: (ERROR ASDF/FIND-COMPONENT:MISSING-DEPENDENCY :REQUIRED-BY #<ASDF/SYSTEM:SYSTEM "mahogany"> :REQUIRES #:ALEXANDRIA)
4: (ASDF/FIND-COMPONENT:RESOLVE-DEPENDENCY-NAME #<ASDF/SYSTEM:SYSTEM "mahogany"> #:ALEXANDRIA NIL)
5: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/SYSTEM:SYSTEM "mahogany"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144539B}>)
6: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
7: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
8: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/SYSTEM:SYSTEM "mahogany"> NIL)
9: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mahogany" "log"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144524B}>)
10: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
11: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
12: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mahogany" "log"> NIL)
13: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mahogany" "log"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144366B}>)
14: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
15: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
16: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mahogany" "log"> NIL)
17: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {1001441A2B}>)
18: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
19: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
20: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany"> NIL)
21: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144189B}>)
22: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
23: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
24: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:PREPARE-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> NIL)
25: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144177B}>)
26: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
27: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
28: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> NIL)
29: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/BUNDLE:PROGRAM-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100144165B}>)
30: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
31: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
32: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/BUNDLE:PROGRAM-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> T)
33: (ASDF/PLAN:MAP-DIRECT-DEPENDENCIES #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> #<FUNCTION (LAMBDA (ASDF/PLAN::O ASDF/PLAN::C) :IN ASDF/PLAN:TRAVERSE-ACTION) {100143790B}>)
34: ((LAMBDA NIL :IN ASDF/PLAN:TRAVERSE-ACTION))
35: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
36: (ASDF/PLAN:TRAVERSE-ACTION #<ASDF/PLAN:SEQUENTIAL-PLAN {100140CDB3}> #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> T)
37: ((LAMBDA NIL :IN ASDF/PLAN:MAKE-PLAN))
38: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
39: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable">)
40: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
41: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "mahogany/executable">) [fast-method]
42: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/OPERATE:BUILD-OP "mahogany/executable")
43: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
44: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP "mahogany/executable") [fast-method]
45: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1003E7C70B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
46: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
47: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1002D8BF1B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
48: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP "mahogany/executable") [fast-method]
49: (ASDF/OPERATE:MAKE "mahogany/executable")
50: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:MAKE "mahogany/executable") #<NULL-LEXENV>)
51: (EVAL-TLF (ASDF/OPERATE:MAKE "mahogany/executable") 2 NIL)
52: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:MAKE "mahogany/executable") 2)
53: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:MAKE "mahogany/executable") :CURRENT-INDEX 2)
54: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {7F8E787FF4CB}> #<SB-C::SOURCE-INFO {100295D123}> SB-C::INPUT-ERROR-IN-LOAD)
55: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {1002952563}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
56: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {1002952563}> NIL)
57: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F8E787FF88B}> #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {1002952563}> NIL #<SB-INT:FORM-TRACKING-STREAM for "file /home/kkflt/src/mahogany/build-mahogany.lisp" {1002952563}>)
58: (LOAD #P"build-mahogany.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
59: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:LOAD . "build-mahogany.lisp") (:QUIT)))
60: (SB-IMPL::TOPLEVEL-INIT)
61: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
62: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
63: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
make: *** [Makefile:18: /home/kkflt/src/mahogany/build/mahogany] Error 1

Which is weird considering I have installed the dependencies with quicklisp

* (ql:system-apropos "alexandria") 
#<SYSTEM alexandria / alexandria-20241012-git / quicklisp 2024-10-12>
#<SYSTEM alexandria+ / alexandria-plus-20241012-git / quicklisp 2024-10-12>
#<SYSTEM alexandria+/tests / alexandria-plus-20241012-git / quicklisp 2024-10-12>
#<SYSTEM alexandria/tests / alexandria-20241012-git / quicklisp 2024-10-12>
kkflto commented 1 month ago

Actually, nevermind. Reinstalled quicklisp and followed the build pipeline

curl -O https://beta.quicklisp.org/quicklisp.lisp     && sbcl --noinform --load quicklisp.lisp --eval "(quicklisp-quickstart:install)"     && sbcl --noinform --load "/root/quicklisp/setup.lisp"  --eval "(progn (setf ql-util::*do-not-prompt* t)(ql:add-to-init-file))"     && sbcl --noinform --eval "(ql:quickload '("alexandria" "cl-ansi-text" "terminfo" "snakes" "iterate" "cffi" "cffi-grovel" "closer-mop"))"     && sbcl --noinform --eval "(ql:quickload '("prove" "fiasco"))"

The first time I did what says on the README

(ql:quickload '("alexandria" "cl-ansi-text" "terminfo"
          "snakes" "iterate" "cffi" "cffi-grovel" "closer-mop")