Skip to content

Compiles libvterm, but is not able to open it #791

@ZelphirKaltstahl

Description

@ZelphirKaltstahl

I am using Emacs (GNU Emacs 30.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4)) with straight and include the following in my init.el:

(use-package vterm
  :ensure t
  :straight t)
  • I have the system package installed libvterm-dev on a Debian system:
# apt-cache policy libvterm-dev
libvterm-dev:
  Installed: 0.1.4-1
  Candidate: 0.1.4-1
  Version table:
 *** 0.1.4-1 500
        500 http://debian.inf.tu-dresden.de/debian bookworm/main amd64 Packages
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
  • I have cmake installed:
# apt-cache policy cmake
cmake:
  Installed: 3.25.1-1
  Candidate: 3.25.1-1
  Version table:
     3.31.6-2~bpo12+1 100
        100 http://deb.debian.org/debian bookworm-backports/main amd64 Packages
 *** 3.25.1-1 500
        500 http://debian.inf.tu-dresden.de/debian bookworm/main amd64 Packages
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
  • I have libtool-bin installed:
# apt-cache policy libtool-bin
libtool-bin:
  Installed: 2.4.7-7~deb12u1
  Candidate: 2.4.7-7~deb12u1
  Version table:
 *** 2.4.7-7~deb12u1 500
        500 http://debian.inf.tu-dresden.de/debian bookworm/main amd64 Packages
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
  • I have libtool installed:
# apt-cache policy libtool
libtool:
  Installed: 2.4.7-7~deb12u1
  Candidate: 2.4.7-7~deb12u1
  Version table:
 *** 2.4.7-7~deb12u1 500
        500 http://debian.inf.tu-dresden.de/debian bookworm/main amd64 Packages
        500 http://debian.inf.tu-dresden.de/debian bookworm/main i386 Packages
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        500 http://deb.debian.org/debian bookworm/main i386 Packages
        100 /var/lib/dpkg/status
  • emacs-libvterm doesn't find the system library and asks whether to compile: Vterm needs 'vterm-module' to work. Compile it now? (y or n)
  • I press y.
  • The compilation is completed successfully:
Image
  • I see the files in the build directory of the package in the straight directory:
 /home/user/.emacs.d/straight/build/vterm:
  drwxr-xr-x  4 user user   4096 Dec 10 04:01 .
  drwxr-xr-x 59 user user   4096 Dec 10 04:01 ..
  drwxr-xr-x  3 user user   4096 Dec 10 04:01 build
  lrwxrwxrwx  1 user user     68 Dec 10 04:01 CMakeLists.txt -> /home/user/.emacs.d/straight/repos/emacs-libvterm/CMakeLists.txt
  lrwxrwxrwx  1 user user     61 Dec 10 04:01 elisp.c -> /home/user/.emacs.d/straight/repos/emacs-libvterm/elisp.c
  lrwxrwxrwx  1 user user     61 Dec 10 04:01 elisp.h -> /home/user/.emacs.d/straight/repos/emacs-libvterm/elisp.h
  lrwxrwxrwx  1 user user     68 Dec 10 04:01 emacs-module.h -> /home/user/.emacs.d/straight/repos/emacs-libvterm/emacs-module.h
  drwxr-xr-x  2 user user   4096 Dec 10 04:01 etc
  lrwxrwxrwx  1 user user     60 Dec 10 04:01 utf8.c -> /home/user/.emacs.d/straight/repos/emacs-libvterm/utf8.c
  lrwxrwxrwx  1 user user     60 Dec 10 04:01 utf8.h -> /home/user/.emacs.d/straight/repos/emacs-libvterm/utf8.h
  -rw-r--r--  1 user user   2400 Dec 10 04:01 vterm-autoloads.el
  lrwxrwxrwx  1 user user     62 Dec 10 04:01 vterm.el -> /home/user/.emacs.d/straight/repos/emacs-libvterm/vterm.el
  -rw-r--r--  1 user user  62591 Dec 10 04:01 vterm.elc
  lrwxrwxrwx  1 user user     68 Dec 10 04:01 vterm-module.c -> /home/user/.emacs.d/straight/repos/emacs-libvterm/vterm-module.c
  lrwxrwxrwx  1 user user     68 Dec 10 04:01 vterm-module.h -> /home/user/.emacs.d/straight/repos/emacs-libvterm/vterm-module.h
  -rwxr-xr-x  1 user user 123416 Dec 10 04:01 vterm-module.so
  • I restart Emacs, but it still cannot load libvterm.
 ■  Error (use-package): vterm/:catch: Module could not be opened: "/home/user/.emacs.d/straight/build/vterm/vterm-module.so", "libvterm.so.0: cannot open shared object file: No such file or directory"
  • I even tried what is described in Guix;emacs;libvterm.so.0;shared library #764 to set LD_LIBRARY_PATH via env. (env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/user/.emacs.d/straight/build/vterm" /home/user/emacs.sh) Still no luck, same error.

What am I overlooking/doing wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions