atlas-engineer / nyxt

Nyxt - the hacker's browser.

Home Page:https://nyxt-browser.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Running from source: `Component "swank/exts" not found`

evertedsphere opened this issue · comments

Describe the bug
Following the recipe in the developer manual produces the following error in *Nyxt Guix shell compilation* after some time at the C-u - M-x sly RET nyxt-sbcl RET step:

debugger invoked on a ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread
#<THREAD tid=410169 "main thread" RUNNING {1001488093}>:
  Component "swank/exts" not found

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry ASDF operation.
  1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  2: [RETRY                        ] Retry EVAL of current toplevel form.
  3: [CONTINUE                     ] Ignore error and continue loading file "/gnu/store/ix0ccac5l39qikwl7habpihvci3fymjj-profile/bin/lisp-repl-core-dumper".
  4: [ABORT                        ] Abort loading file "/gnu/store/ix0ccac5l39qikwl7habpihvci3fymjj-profile/bin/lisp-repl-core-dumper".
  5:                                 Ignore runtime option --eval "(with-open-file (s \"/gnu/store/ix0ccac5l39qikwl7habpihvci3fymjj-profile/bin/lisp-repl-core-dumper\")
  (read-line s)
  (load s))".
  6:                                 Skip rest of --eval and --load options.
  7:                                 Skip to toplevel READ/EVAL/PRINT loop.
  8: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the process).

((LAMBDA NIL :IN ASDF/SYSTEM:FIND-SYSTEM))
; File has been modified since compilation:
;   SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST
; Using form offset instead of character position.
   error finding frame source: invalid feature expression: "#.(UIOP/UTILITY:SYMBOL-TEST-TO-FEATURE-EXPRESSION
   '#:COMPILER-ERROR-CONTEXT-%SOURCE '#:SB-C)"
   source: NIL
0] 

Doing guix shell -D -f build-scripts/nyxt.scm -- sbcl and then (asdf:load-system :nyxt/gi-gtk) has the same effect, so it's not an Emacs-specific issue.

Information

  • OS name+version: NixOS unstable
  • How you installed Nyxt (Guix pack, package manager, build from source): source
  • Information from show-system-information:
    • Nyxt version (from the nyxt-version command or nyxt --version from a shell): 655588b4981e2dd9ea0c736be980e75defd61261
    • Lisp implementation/version (if built from source): SBCL 2.4.0
    • Kernel name+version: Linux 6.7.12 #1-NixOS SMP PREEMPT_DYNAMIC

@evertedsphere it seems that the issue is related to the fact that Guix isn't up-to-date. Can you run guix pull and then try again?

@aadcg tried it a few times since then, git pull --recurse-submodules and guix pull followed by running (asdf:load-system :nyxt/gi-gtk) in the REPL consistently produces the same error.

Could it have to do with my Guix setup? I installed it so I could use Nyxt, but I don't know much about it otherwise. I do have the PATH set up correctly, as far as I know:

$ which guix
/home/s/.config/guix/current/bin/guix

and my ~/.config/guix/channels.scm contains (only) the snippet in the Nonguix readme.

@aadcg tried it a few times since then, git pull --recurse-submodules and guix pull followed by running (asdf:load-system :nyxt/gi-gtk) in the REPL consistently produces the same error.

The git submodules are irrelevant when the development environment is done via Guix. In other words, the swank/exts system is coming from Guix, not from the git submodules. That's why I maintain that your Guix instance isn't up-to-date. What's the output of guix install emacs-slime --dry-run? It should output emacs-slime 2.29.1.

and my ~/.config/guix/channels.scm contains (only) the snippet in the Nonguix readme.

Assuming you're using the default channel and nonguix, the channel file (at ~/.config/guix/channels.scm) should look along the lines below:

(use-modules (guix ci))

(list (channel
       (name 'nonguix)
       (url "https://gitlab.com/nonguix/nonguix")
       (introduction
        (make-channel-introduction
         "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
         (openpgp-fingerprint
          "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
      (channel-with-substitutes-available %default-guix-channel
                                          "https://ci.guix.gnu.org"))