atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.64k stars 404 forks source link

Trouble Installing #3353

Closed Duncan-Britt closed 3 months ago

Duncan-Britt commented 3 months ago

Hi, I'm trying to build from source because I'm on MacOS (Monterey).

When I run make all from ~/common-lisp/nyxt, I get the following error message:

Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                          {1001090073}>:
  COMPILE-FILE-ERROR while
  compiling #<CL-SOURCE-FILE "nyxt" "Core" "configuration">

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001090073}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10055CC893}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10055CC893}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10055CC893}>)
3: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT "~/asdf-action::format-action/" :CONTEXT-ARGUMENTS ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "nyxt" "Core" "configuration">)))
4: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "nyxt" "Core" "configuration">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "nyxt" "Core" "configuration">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "nyxt" "Core" "configuration">) [fast-method]
8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100A5A5273}>) [fast-method]
9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100A5A5273}>) [fast-method]
11: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<NASDF:NASDF-SYSTEM "nyxt/gi-gtk-application"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<NASDF:NASDF-SYSTEM "nyxt/gi-gtk-application">)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
14: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<NASDF:NASDF-SYSTEM "nyxt/gi-gtk-application">) [fast-method]
15: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP :NYXT/GI-GTK-APPLICATION)
16: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP :NYXT/GI-GTK-APPLICATION) [fast-method]
18: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100A58B7FB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100A5647EB}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP :NYXT/GI-GTK-APPLICATION) [fast-method]
22: (ASDF/OPERATE:LOAD-SYSTEM :NYXT/GI-GTK-APPLICATION)
23: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:LOAD-SYSTEM :NYXT/GI-GTK-APPLICATION) #<NULL-LEXENV>)
24: (EVAL (ASDF/OPERATE:LOAD-SYSTEM :NYXT/GI-GTK-APPLICATION))
25: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require \"asdf\")") (:EVAL . #<(SIMPLE-ARRAY CHARACTER (342)) (when (string= "true" "true") (setf asdf:*default-source-registries* (list (quote asdf/source-registry:environment-source-registry))) (asdf:clear-configuration) (asdf:load-asd "/Users/duncanbritt/comm... {10025FF6EF}>) (:EVAL . "(asdf:load-asd \"/Users/duncanbritt/common-lisp/nyxt//libraries/nasdf/nasdf.asd\")") (:EVAL . "(asdf:load-asd \"/Users/duncanbritt/common-lisp/nyxt//nyxt.asd\")") (:EVAL . #<(SIMPLE-ARRAY CHARACTER (235)) (when (and (find-package :cffi) (uiop:getenv "GUIX_ENVIRONMENT")) (pushnew (pathname (format nil "~a/lib/" (uiop:getenv "GUIX_ENVIRONMENT"))) (symbol-value (read-from-string "cffi:*foreign-library-dir... {100260800F}>) (:EVAL . "(asdf:load-system :nyxt/gi-gtk-application)") (:EVAL . "(asdf:make :nyxt/gi-gtk-application)") (:EVAL . "(uiop:quit)") (:QUIT)))
26: (SB-IMPL::TOPLEVEL-INIT)
27: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
28: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
29: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition
;   caught 1 ERROR condition
;   caught 94 STYLE-WARNING conditions
;   printed 4410 notes
SLYNK's ASDF loader finished.
Compilation failed, see the above stacktrace.

I don't know how to go about fixing this. Does anyone have any ideas? Thanks.

aadcg commented 3 months ago

@Duncan-Britt what SBCL version are you using?

Duncan-Britt commented 3 months ago

SBCL 2.3.4

aadcg commented 3 months ago

@Duncan-Britt I'd suggest checking whether you're able to load the nfiles CL library.

What is your motivation, if I may ask? It isn't trivial to make Nyxt run on macOS, even though we're working on it (#2989).

Duncan-Britt commented 3 months ago

Ok, I tried (ql:quickload :nfiles) in SLIME and I get the following error message:

Error while trying to load definition for system nfiles from
pathname
/Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd:

   Invalid initialization argument:
     :TARGETS
   in call for class #<STANDARD-CLASS NASDF:NASDF-TEST-SYSTEM>.
   [Condition of type ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR]

Restarts:
 0: [RETRY] Retry EVAL of current toplevel form.
 1: [CONTINUE] Ignore error and continue loading file "/Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd".
 2: [ABORT] Abort loading file "/Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd".
 3: [RETRY] Retry #<DEFINE-OP > on #<SYSTEM "nfiles">.
 4: [ACCEPT] Continue, treating #<DEFINE-OP > on #<SYSTEM "nfiles"> as having been successful.
 5: [RETRY] Retry ASDF operation.
 --more--

Backtrace:
  0: ((LAMBDA (CONDITION) :IN ASDF/ACTION:PERFORM) #<SB-PCL::INITARG-ERROR {10021E7163}>)
  1: (SB-KERNEL::%SIGNAL #<SB-PCL::INITARG-ERROR {10021E7163}>)
  2: (ERROR SB-PCL::INITARG-ERROR :CLASS #<STANDARD-CLASS NASDF:NASDF-TEST-SYSTEM> :INITARGS (:TARGETS))
  3: (SB-PCL::INITARG-ERROR #<STANDARD-CLASS NASDF:NASDF-TEST-SYSTEM> (:TARGETS))
  4: ((:METHOD REINITIALIZE-INSTANCE (SB-PCL::SLOT-OBJECT)) #<NASDF:NASDF-TEST-SYSTEM "nfiles/tests"> :NAME "nfiles/tests" :PATHNAME NIL :TARGETS (:PACKAGE :NFILES/TESTS) :DEFSYSTEM-DEPENDS-ON ("nasdf")) [..
  5: (ASDF/PARSE-DEFSYSTEM:PARSE-COMPONENT-FORM NIL (:MODULE "nfiles/tests" :PATHNAME NIL :DEPENDS-ON (ASDF/USER::NFILES) ...) :PREVIOUS-SERIAL-COMPONENT NIL)
  6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/PARSE-DEFSYSTEM:DEFSYSTEM "nfiles/tests" :DEFSYSTEM-DEPENDS-ON ("nasdf") :CLASS :NASDF-TEST-SYSTEM ...) #<NULL-LEXENV>)
  7: (EVAL-TLF (ASDF/PARSE-DEFSYSTEM:DEFSYSTEM "nfiles/tests" :DEFSYSTEM-DEPENDS-ON ("nasdf") :CLASS :NASDF-TEST-SYSTEM ...) 2 NIL)
  8: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF/PARSE-DEFSYSTEM:DEFSYSTEM "nfiles/tests" :DEFSYSTEM-DEPENDS-ON ("nasdf") :CLASS :NASDF-TEST-SYSTEM ...) 2)
  9: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (ASDF/PARSE-DEFSYSTEM:DEFSYSTEM "nfiles/tests" :DEFSYSTEM-DEPENDS-ON ("nasdf") :CLASS :NASDF-TEST-SYSTEM ...)..
 10: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {1001FC2D2B}> #<SB-C::SOURCE-INFO {1001F9B3E3}> SB-C::INPUT-ERROR-IN-LOA..
 11: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd" {1001FC12D3}> :VERBOSE NIL :PRINT NIL :CONTEXT "lo..
 12: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd" {1001FC12D3}> NIL)
 13: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {6F1D73B}> #<SB-INT:FORM-TRACKING-STREAM for "file /Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-2..
 14: (LOAD #P"/Users/duncanbritt/.quicklisp/dists/quicklisp/software/nfiles-20230214-git/nfiles.asd" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :UTF-8)
 15: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {1001FC00AB}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
 16: ((FLET "THUNK" :IN ASDF/ACTION:PERFORM))
 17: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN ASDF/ACTION:PERFORM) {6F1D9AB}>)
 18: ((:METHOD ASDF/ACTION:PERFORM (ASDF/FIND-SYSTEM:DEFINE-OP ASDF/SYSTEM:SYSTEM)) #<ASDF/FIND-SYSTEM:DEFINE-OP > #<ASDF/SYSTEM:SYSTEM "nfiles">) [fast-method]
 19: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/FIND-SYSTEM:DEFINE-OP > #<ASDF/SYSTEM:SYSTEM "nfiles">)
 --more--

My motivation is just that I think it would be nice to have an Emacs like experience in the browser. Also, I've been learning common lisp, so it might be fun to play around with the source code. But if it proves to be quite difficult to get working, I don't mind to wait, because I don't need it for any particular task.

aadcg commented 3 months ago

@Duncan-Britt you're loading nfiles through quicklisp but Nyxt doesn't rely on quicklisp. You need to load the version that is pinned as a git submodule. Equivalently, you can load the version at the tip of the master branch https://github.com/atlas-engineer/nfiles.

aadcg commented 3 months ago

It is possible to load nyxt/electron on macOS.

make all NYXT_RENDERER=electron should do it.