help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compiling vterm: cc: command not found


From: Chris Keschnat
Subject: Re: Compiling vterm: cc: command not found
Date: Tue, 22 Nov 2022 07:56:17 +0100

Chris Keschnat <chris@catsu.it> writes:

> Tobias Geerinckx-Rice <me@tobias.gr> writes:
>
>>> (anymore?)
>>
>> Guix has never provided the 'cc' alias for GCC AFAIR.
>>
>> Perhaps you were previously using 'clang-toolchain', which does
>> symlink cc to clang? That's something that we, Guix, explicitly add;
>> not upstream.
>>
>> It's unfortunate that Guix promotes a non-GPL compiler over GCC this way.
>>
>> Kind regards,
>>
>> T G-R
>>
>> Sent on the go.  Excuse or enjoy my brevity.
>
>
> Hello,
> I might have been confused about how I installed vterm before. I
> thought I used straight.el, which builds the module as describe in my
> previous mail. It could be that I had manually installed =emacs-vterm= and
> didn't add it to my (guix) emacs profile.
>
> I have now installed ~emacs-vterm~ through guix (together with ~libvterm~
> in my emacs profile). When I try running vterm from emacs, it still asks
> to compile the module though (which fails).
>
> Looking at the ~emacs-vterm~ packages, this happens here:
>
> #+begin_src sh
>
>   (unless (require 'vterm-module nil t)
>   ....)
>
> #+end_src
>
>
> Trying manually:
>
> #+begin_src sh
>
>   (require 'vterm-module)
>
> =>
>
>   Debugger entered--Lisp error: (file-missing "Cannot open load file" "No 
> such file or directory" "vterm-module")
>     require(vterm-module)
>     elisp--eval-last-sexp(nil)
>     eval-last-sexp(nil)
>     funcall-interactively(eval-last-sexp nil)
>     command-execute(eval-last-sexp)
>
> #+end_src
>
>
> There is a .so file in my emacs profile though, so I think there is something 
> wrong with some kind of module path?
>
> #+begin_src sh
>
>   ~/.guix-extra-profiles/emacs/emacs  $ find | grep vterm-module
>   ./lib/vterm-module.so
>
> #+end_src
>
> I do not know how/what to check though. So far I have only found that my
> ~module-file-prefix~ is ".so". But other than that, I do not know how
> the loading of modules works and would appreciate a hint.
>
>
> Thank you
> Chris


As I couldn't figure out how to debug this, I chose trial and error. And
it workd. I'm not exactly sure what the issue was, but here is what I
did, in case it helps anyone in the future:


Added ~libtool~ and ~cmake~ to =emacs.scm= and installed those. After that
and running:

#+begin_src sh

  GUIX_PROFILE="/home/ck/.guix-extra-profiles/emacs/emacs"
  . "$GUIX_PROFILE/etc/profile"

#+end_src

the compilation worked. But the module could not be loaded:

#+begin_src sh

  byte-code: Module could not be opened: 
"/home/ck/.emacs.d/straight/build/vterm/vterm-module.so", "libvterm.so.0: 
cannot open shared object file: No such file or directory"

#+end_src

Then changed (as stated in the docs)

#+begin_src emacs-lisp
  (use-package vterm)
#+end_src

to

#+begin_src emacs-lisp

  (use-package vterm
    :load-path  "/home/ck/.guix-extra-profiles/emacs/emacs/lib")

#+end_src

vterm now works again.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]