all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Gernot Kieseritzky <gernotk@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Treesit says grammar is unavailable when it
Date: Mon, 4 Dec 2023 13:43:22 +0100	[thread overview]
Message-ID: <CAFAbsyv=dM+NgSMfzXQFrg8nojWbkEavxKVpEeFgXDu1FvmZRg@mail.gmail.com> (raw)

Hello!

> Warning (treesit): Cannot activate tree-sitter, because language grammar
> for python is unavailable (not-found): (libtree-sitter-python libtree-sitter-python.so)
> No such file or directory

I had the same error when using "libtree-sitter-yaml.so" and, finally,
had some time for a deeper investigation. I tried the Emacs built-in
debugger (M-x debug-on-entry treesit_load_language) but I found the
error only occurs inside the C function "treesit-available-p". Since
this error occurred directly when Emacs loads the shared library
resting inside of my ".emacs.d/tree-sitter/" directory I resorted to
debugging the dynamic linker by starting Emacs with

$ LD_DEBUG=1; emacs 2> linker.log

and then just proceeded to activate "yaml-ts-mode". Then I hit this:

listdc++.so.6: error: version lookup error: version 'GLIBCXX_3.4.29'
not found (required by ~/.emacs.d/tree-sitter/libtree-sitter-yaml.so)

Turns out the yaml module is using C++ for its scanner component (see
https://github.com/ikatyang/tree-sitter-yaml) unlike all the other
plugins I am using (C, C++, JS and TS). But I compiled this module on
my own -- on the same machine -- so how can my system's C++ standard
library suddenly turn incompatible??

Well, it turns out I am using Alex Murray's Emacs snap package on my
Ubuntu 22.04 system being based on the "core20" snap base package
(i.e. it is based on Ubuntu 20). So this Emacs snap provides an older
set of build essentials including an incompatible C++ standard
library. So as a workaround I would need to cross-compile this module
using an Ubuntu 20 compatible environment. But the best solution is
probably to ask Alex Murray to add all available tree sitter parsers
in his snap.

Best regards,
Gernot Kieseritzky



             reply	other threads:[~2023-12-04 12:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-04 12:43 Gernot Kieseritzky [this message]
2023-12-13  3:33 ` Treesit says grammar is unavailable when it Yuan Fu
2023-12-13 12:00   ` Eli Zaretskii
2023-12-14  8:14     ` Yuan Fu
2023-12-14  8:27       ` Eli Zaretskii
2023-12-15  2:43         ` Madhu
2023-12-15  9:00           ` Eli Zaretskii
2023-12-17  6:31         ` Yuan Fu
2023-12-17  8:32           ` Eli Zaretskii
2023-12-27  6:41             ` Yuan Fu
  -- strict thread matches above, loose matches on Subject: below --
2023-03-10  9:24 mprodrigues
2023-03-10 12:32 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFAbsyv=dM+NgSMfzXQFrg8nojWbkEavxKVpEeFgXDu1FvmZRg@mail.gmail.com' \
    --to=gernotk@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.