[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.