unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
@ 2022-11-24  6:46 Thierry Volpiatto
  2022-11-24  8:03 ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Volpiatto @ 2022-11-24  6:46 UTC (permalink / raw)
  To: 59532


I started from a clean emacs directory (git clean -fdx).
Then I tried with a simple configuration after generating ./configure
(./autogen.sh).
./configure worked fine, finding properly tree-sitter and other libraries:

,----
|   Does Emacs use -lXaw3d?                                 no
|   Does Emacs use -lXpm?                                   yes
|   Does Emacs use -ljpeg?                                  yes
|   Does Emacs use -ltiff?                                  yes
|   Does Emacs use a gif library?                           yes -lgif
|   Does Emacs use a png library?                           yes -lpng16 -lz
|   Does Emacs use -lrsvg-2?                                yes
|   Does Emacs use -lwebp?                                  no
|   Does Emacs use -lsqlite3?                               yes
|   Does Emacs use cairo?                                   yes
|   Does Emacs use -llcms2?                                 yes
|   Does Emacs use imagemagick?                             no
|   Does Emacs use native APIs for images?                  no
|   Does Emacs support sound?                               yes
|   Does Emacs use -lgpm?                                   yes
|   Does Emacs use -ldbus?                                  yes
|   Does Emacs use -lgconf?                                 no
|   Does Emacs use GSettings?                               yes
|   Does Emacs use a file notification library?             yes -lglibc (inotify)
|   Does Emacs use access control lists?                    yes -lacl
|   Does Emacs use -lselinux?                               yes
|   Does Emacs use -lgnutls?                                yes
|   Does Emacs use -lxml2?                                  yes
|   Does Emacs use -lfreetype?                              yes
|   Does Emacs use HarfBuzz?                                yes
|   Does Emacs use -lm17n-flt?                              yes
|   Does Emacs use -lotf?                                   yes
|   Does Emacs use -lxft?                                   no
|   Does Emacs use -lsystemd?                               yes
|   Does Emacs use -ljansson?                               yes
|   Does Emacs use -ltree-sitter?                           yes
|   Does Emacs use the GMP library?                         yes
|   Does Emacs directly use zlib?                           yes
|   Does Emacs have dynamic modules support?                yes
|   Does Emacs use toolkit scroll bars?                     yes
|   Does Emacs support Xwidgets?                            no
|   Does Emacs have threading support in lisp?              yes
|   Does Emacs support the portable dumper?                 yes
|   Does Emacs support legacy unexec dumping?               no
|   Which dumping strategy does Emacs use?                  pdumper
|   Does Emacs have native lisp compiler?                   no
|   Does Emacs use version 2 of the X Input Extension?      yes
|   Does Emacs generate a smaller-size Japanese dictionary? no
`----

Then I ran make and had this error:

,----
| cp -f temacs bootstrap-emacs
| rm -f bootstrap-emacs.pdmp
| ./temacs --batch  -l loadup --temacs=pbootstrap \
|         --bin-dest /usr/local/bin/ --eln-dest /usr/local/lib/emacs/29.0.50/
| ./temacs: error while loading shared libraries: libtree-sitter.so.0: cannot open shared object file: No such file or directory
| make[2]: *** [Makefile:915 : bootstrap-emacs.pdmp] Erreur 127
| make[2] : on quitte le répertoire « /home/thierry/tmp/emacs/src »
| make[1]: *** [Makefile:544 : src] Erreur 2
| make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
| make[1] : on entre dans le répertoire « /home/thierry/tmp/emacs »
| ***
| *** "make all" failed with exit status 2.
| ***
| *** You could try to:
| *** - run "make bootstrap", which might fix the problem
| *** - run "make V=1", which displays the full commands invoked by make,
| ***   to further investigate the problem
| ***
| make[1]: *** [Makefile:414 : advice-on-failure] Erreur 2
| make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
| make: *** [Makefile:370 : all] Erreur 2
`----

So ./configure is finding tree-sitter but not make.

NOTE: The only way I found to install tree-sitter was cloning from
github and run make && make install.

Thanks.



In GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, Motif Version 2.3.8, cairo version 1.16.0)
 of 2022-09-12 built on IPad-S340
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Linux Mint 20.3

Configured using:
 'configure CFLAGS=-O8 --with-mailutils --with-cairo --without-dbus
 --without-gconf --without-gsettings --with-x-toolkit=motif'

Configured features:
ACL CAIRO FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE
XIM XPM MOTIF ZLIB

Important settings:
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix

Major mode: 

Minor modes in effect:
  global-undo-tree-mode: t
  undo-tree-mode: t
  psession-mode: t
  psession-savehist-mode: t
  global-git-gutter-mode: t
  display-time-mode: t
  winner-mode: t
  helm-epa-mode: t
  helm-descbinds-mode: t
  override-global-mode: t
  helm-adaptive-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  helm-ff-icon-mode: t
  shell-dirtrack-mode: t
  helm-popup-tip-mode: t
  async-bytecomp-package-mode: t
  dired-async-mode: t
  minibuffer-depth-indicate-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow epa-mail face-remap emacsbug helm-command esh-toggle em-unix
em-term term disp-table ehelp em-script em-prompt em-ls em-hist em-pred
em-glob em-cmpl em-dirs esh-var em-basic em-banner em-alias esh-mode
smerge-mode whitespace cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs tabify w3m-symbol
w3m-filter w3m-form w3m-cookie w3m-tabmenu w3m-session w3m-search
helm-w3m w3m-bookmark w3m doc-view jka-compr timezone w3m-hist w3m-fb
bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util
helm-apt helm-firefox make-mode tramp-cmds dired-x tramp-cache epa-file
image-file image-converter char-fold tramp-archive tramp-gvfs
helm-x-files helm-for-files addressbook-bookmark tv-mu4e-config
mu4e-contrib mu4e-patch mu4e mu4e-org mu4e-main mu4e-view gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo
gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7
netrc nnoo gnus-spec gnus-int gnus-range gnus-win mu4e-headers
mu4e-compose mu4e-draft mu4e-actions smtpmail sendmail mu4e-search
mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr kinsoku svg
flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-server
mu4e-context mu4e-obsolete mu4e-vars mu4e-helpers mu4e-config ido
vc-filewise vc-rcs conf-mode ledger-config ledger-mode ledger-check
ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile
ledger-occur ledger-fonts ledger-fontify ledger-state ledger-complete
ledger-schedule ledger-init ledger-xact ledger-post ledger-exec
ledger-navigate eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util ledger-context ledger-commodities
ledger-regex bug-reference flymake-shellcheck sh-script smie executable
naquadah-theme view solar cal-dst holidays hol-loaddefs tv-utils osm dom
yaml-mode undo-tree diff queue psession frameset log-view pcvs-util
bash-completion cl-indent pcase ffap autocrypt-message message rmc puny
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader autocrypt-gnus gnus nnheader gnus-util
rmail rmail-loaddefs rfc2047 rfc2045 mail-utils mm-util mail-prsvr
autocrypt-mu4e autocrypt ietf-drums config-w3m git-gutter mule-util appt
diary-lib diary-loaddefs gud wdired dired-extension org-config
ob-gnuplot org-crypt net-utils time winner autotest-mode autoconf-mode
use-package-ensure flymake-proc flymake project warnings thingatpt woman
man ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util init-helm helm-ls-git vc-git diff-mode vc
vc-dispatcher helm-fd epa derived epg rfc6068 epg-config helm-epa
helm-imenu imenu helm-elisp-package helm-find helm-org org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol
rx org-keys oc org-compat advice org-macs org-loaddefs cal-menu calendar
cal-loaddefs helm-external isl helm-descbinds helm-wikipedia
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons cus-edit
wid-edit helm-ipython helm-elisp helm-eval edebug backtrace find-func
python tramp-sh use-package-bind-key bind-key popup helm-bookmark
helm-net xml helm-info bookmark pp helm-adaptive diminish helm-mode
helm-misc helm-files image-dired image-mode exif filenotify tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
pcomplete parse-time iso8601 time-date ls-lisp helm-buffers helm-occur
helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile
text-property-search comint ring helm-regexp format-spec ansi-color
helm-utils helm-help helm-types use-package-diminish
helm-extensions-autoloads helm-config helm-autoloads helm
helm-global-bindings helm-easymenu helm-core easy-mmode async-bytecomp
helm-source helm-multi-match helm-lib dired-async dired-aux dired
dired-loaddefs async cl-extra help-mode use-package-core mb-depth server
edmacro kmacro avoid cus-load finder-inf package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
info w3m-load iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads inotify lcms2 dynamic-setting
font-render-setting cairo motif x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 936514 82077)
 (symbols 48 46491 5)
 (strings 32 288057 33568)
 (string-bytes 1 14317641)
 (vectors 16 95342)
 (vector-slots 8 1922696 204644)
 (floats 8 4501 3446)
 (intervals 56 23326 4714)
 (buffers 992 167))
<#secure method=pgpmime mode=sign>

-- 
Thierry





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24  6:46 bug#59532: 28.2; Unable to build emacs with tree-sitter installed Thierry Volpiatto
@ 2022-11-24  8:03 ` Eli Zaretskii
  2022-11-24  8:49   ` Thierry Volpiatto
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-11-24  8:03 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 59532

> From: Thierry Volpiatto <thievol@posteo.net>
> Date: Thu, 24 Nov 2022 06:46:35 +0000
> 
> 
> Then I ran make and had this error:
> 
> ,----
> | cp -f temacs bootstrap-emacs
> | rm -f bootstrap-emacs.pdmp
> | ./temacs --batch  -l loadup --temacs=pbootstrap \
> |         --bin-dest /usr/local/bin/ --eln-dest /usr/local/lib/emacs/29.0.50/
> | ./temacs: error while loading shared libraries: libtree-sitter.so.0: cannot open shared object file: No such file or directory
> | make[2]: *** [Makefile:915 : bootstrap-emacs.pdmp] Erreur 127
> | make[2] : on quitte le répertoire « /home/thierry/tmp/emacs/src »
> | make[1]: *** [Makefile:544 : src] Erreur 2
> | make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
> | make[1] : on entre dans le répertoire « /home/thierry/tmp/emacs »
> | ***
> | *** "make all" failed with exit status 2.
> | ***
> | *** You could try to:
> | *** - run "make bootstrap", which might fix the problem
> | *** - run "make V=1", which displays the full commands invoked by make,
> | ***   to further investigate the problem
> | ***
> | make[1]: *** [Makefile:414 : advice-on-failure] Erreur 2
> | make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
> | make: *** [Makefile:370 : all] Erreur 2
> `----
> 
> So ./configure is finding tree-sitter but not make.

More accurately, temacs cannot find tree-sitter when it runs from Make.

> NOTE: The only way I found to install tree-sitter was cloning from
> github and run make && make install.

When you do that, where are libtree-sitter.so and libtree-sitter.so.0
installed? in which directory on your system?  Is that directory the same as
the one where you have the other shared libraries used by Emacs, like the
image libraries or GnuTLS?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24  8:03 ` Eli Zaretskii
@ 2022-11-24  8:49   ` Thierry Volpiatto
  2022-11-24 10:19     ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Volpiatto @ 2022-11-24  8:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59532

[-- Attachment #1: Type: text/plain, Size: 1955 bytes --]


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thievol@posteo.net>
>> Date: Thu, 24 Nov 2022 06:46:35 +0000
>> 
>> 
>> Then I ran make and had this error:
>> 
>> ,----
>> | cp -f temacs bootstrap-emacs
>> | rm -f bootstrap-emacs.pdmp
>> | ./temacs --batch  -l loadup --temacs=pbootstrap \
>> |         --bin-dest /usr/local/bin/ --eln-dest /usr/local/lib/emacs/29.0.50/
>> | ./temacs: error while loading shared libraries: libtree-sitter.so.0: cannot open shared object file: No such file or directory
>> | make[2]: *** [Makefile:915 : bootstrap-emacs.pdmp] Erreur 127
>> | make[2] : on quitte le répertoire « /home/thierry/tmp/emacs/src »
>> | make[1]: *** [Makefile:544 : src] Erreur 2
>> | make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
>> | make[1] : on entre dans le répertoire « /home/thierry/tmp/emacs »
>> | ***
>> | *** "make all" failed with exit status 2.
>> | ***
>> | *** You could try to:
>> | *** - run "make bootstrap", which might fix the problem
>> | *** - run "make V=1", which displays the full commands invoked by make,
>> | ***   to further investigate the problem
>> | ***
>> | make[1]: *** [Makefile:414 : advice-on-failure] Erreur 2
>> | make[1] : on quitte le répertoire « /home/thierry/tmp/emacs »
>> | make: *** [Makefile:370 : all] Erreur 2
>> `----
>> 
>> So ./configure is finding tree-sitter but not make.
>
> More accurately, temacs cannot find tree-sitter when it runs from Make.
>
>> NOTE: The only way I found to install tree-sitter was cloning from
>> github and run make && make install.
>
> When you do that, where are libtree-sitter.so and libtree-sitter.so.0
> installed? in which directory on your system?  Is that directory the same as
> the one where you have the other shared libraries used by Emacs, like the
> image libraries or GnuTLS?

No, these files are installed in /usr/local/lib.

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24  8:49   ` Thierry Volpiatto
@ 2022-11-24 10:19     ` Eli Zaretskii
  2022-11-24 10:47       ` Thierry Volpiatto
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-11-24 10:19 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 59532

> From: Thierry Volpiatto <thievol@posteo.net>
> Cc: 59532@debbugs.gnu.org
> Date: Thu, 24 Nov 2022 08:49:51 +0000
> 
> >> NOTE: The only way I found to install tree-sitter was cloning from
> >> github and run make && make install.
> >
> > When you do that, where are libtree-sitter.so and libtree-sitter.so.0
> > installed? in which directory on your system?  Is that directory the same as
> > the one where you have the other shared libraries used by Emacs, like the
> > image libraries or GnuTLS?
> 
> No, these files are installed in /usr/local/lib.

Then I think you need to tweak tree-sitter's Makefile, or use "make install
PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
where the rest of them are installed on your system.  In any case, so that
the shared libraries end up in a directory that the dynamic linker scans for
shared libraries on your system.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24 10:19     ` Eli Zaretskii
@ 2022-11-24 10:47       ` Thierry Volpiatto
  2022-11-24 10:58         ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Volpiatto @ 2022-11-24 10:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59532

[-- Attachment #1: Type: text/plain, Size: 1107 bytes --]


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thievol@posteo.net>
>> Cc: 59532@debbugs.gnu.org
>> Date: Thu, 24 Nov 2022 08:49:51 +0000
>> 
>> >> NOTE: The only way I found to install tree-sitter was cloning from
>> >> github and run make && make install.
>> >
>> > When you do that, where are libtree-sitter.so and libtree-sitter.so.0
>> > installed? in which directory on your system?  Is that directory the same as
>> > the one where you have the other shared libraries used by Emacs, like the
>> > image libraries or GnuTLS?
>> 
>> No, these files are installed in /usr/local/lib.
>
> Then I think you need to tweak tree-sitter's Makefile, or use "make install
> PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
> where the rest of them are installed on your system.  In any case, so that
> the shared libraries end up in a directory that the dynamic linker scans for
> shared libraries on your system.

Yes, of course I can do that but it seems weird that ./configure locate
these files and make doesn't, isn't it?

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24 10:47       ` Thierry Volpiatto
@ 2022-11-24 10:58         ` Eli Zaretskii
  2022-12-04  7:59           ` Thierry Volpiatto
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-11-24 10:58 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 59532

> From: Thierry Volpiatto <thievol@posteo.net>
> Cc: 59532@debbugs.gnu.org
> Date: Thu, 24 Nov 2022 10:47:08 +0000
> 
> > Then I think you need to tweak tree-sitter's Makefile, or use "make install
> > PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
> > where the rest of them are installed on your system.  In any case, so that
> > the shared libraries end up in a directory that the dynamic linker scans for
> > shared libraries on your system.
> 
> Yes, of course I can do that but it seems weird that ./configure locate
> these files and make doesn't, isn't it?

The configure script doesn't run any programs, it only tries to compile and
link them.  By contrast, the build process does run Emacs, and that requires
to find the library (if the Lisp code processed by temacs needs to call the
library).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-11-24 10:58         ` Eli Zaretskii
@ 2022-12-04  7:59           ` Thierry Volpiatto
  2022-12-04 10:03             ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Volpiatto @ 2022-12-04  7:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59532

[-- Attachment #1: Type: text/plain, Size: 1046 bytes --]


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thievol@posteo.net>
>> Cc: 59532@debbugs.gnu.org
>> Date: Thu, 24 Nov 2022 10:47:08 +0000
>> 
>> > Then I think you need to tweak tree-sitter's Makefile, or use "make install
>> > PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
>> > where the rest of them are installed on your system.  In any case, so that
>> > the shared libraries end up in a directory that the dynamic linker scans for
>> > shared libraries on your system.
>> 
>> Yes, of course I can do that but it seems weird that ./configure locate
>> these files and make doesn't, isn't it?
>
> The configure script doesn't run any programs, it only tries to compile and
> link them.  By contrast, the build process does run Emacs, and that requires
> to find the library (if the Lisp code processed by temacs needs to call the
> library).

So the documentation in emacs/admin/notes/tree-sitter/starter-guide is
wrong (* Building Emacs with tree-sitter).

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-12-04  7:59           ` Thierry Volpiatto
@ 2022-12-04 10:03             ` Eli Zaretskii
  2022-12-04 10:41               ` Thierry Volpiatto
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-12-04 10:03 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 59532

> From: Thierry Volpiatto <thievol@posteo.net>
> Cc: 59532@debbugs.gnu.org
> Date: Sun, 04 Dec 2022 07:59:21 +0000
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Thierry Volpiatto <thievol@posteo.net>
> >> Cc: 59532@debbugs.gnu.org
> >> Date: Thu, 24 Nov 2022 10:47:08 +0000
> >> 
> >> > Then I think you need to tweak tree-sitter's Makefile, or use "make install
> >> > PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
> >> > where the rest of them are installed on your system.  In any case, so that
> >> > the shared libraries end up in a directory that the dynamic linker scans for
> >> > shared libraries on your system.
> >> 
> >> Yes, of course I can do that but it seems weird that ./configure locate
> >> these files and make doesn't, isn't it?
> >
> > The configure script doesn't run any programs, it only tries to compile and
> > link them.  By contrast, the build process does run Emacs, and that requires
> > to find the library (if the Lisp code processed by temacs needs to call the
> > library).
> 
> So the documentation in emacs/admin/notes/tree-sitter/starter-guide is
> wrong (* Building Emacs with tree-sitter).

It is not wrong, it just assumes a well-configured system, where shared
libraries live in a sensible place.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-12-04 10:03             ` Eli Zaretskii
@ 2022-12-04 10:41               ` Thierry Volpiatto
  2022-12-04 11:44                 ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Volpiatto @ 2022-12-04 10:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59532

[-- Attachment #1: Type: text/plain, Size: 1835 bytes --]


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thievol@posteo.net>
>> Cc: 59532@debbugs.gnu.org
>> Date: Sun, 04 Dec 2022 07:59:21 +0000
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Thierry Volpiatto <thievol@posteo.net>
>> >> Cc: 59532@debbugs.gnu.org
>> >> Date: Thu, 24 Nov 2022 10:47:08 +0000
>> >> 
>> >> > Then I think you need to tweak tree-sitter's Makefile, or use "make install
>> >> > PREFIX=/SOME/DIRECTORY", to install the shared libraries and header files
>> >> > where the rest of them are installed on your system.  In any case, so that
>> >> > the shared libraries end up in a directory that the dynamic linker scans for
>> >> > shared libraries on your system.
>> >> 
>> >> Yes, of course I can do that but it seems weird that ./configure locate
>> >> these files and make doesn't, isn't it?
>> >
>> > The configure script doesn't run any programs, it only tries to compile and
>> > link them.  By contrast, the build process does run Emacs, and that requires
>> > to find the library (if the Lisp code processed by temacs needs to call the
>> > library).
>> 
>> So the documentation in emacs/admin/notes/tree-sitter/starter-guide is
>> wrong (* Building Emacs with tree-sitter).
>
> It is not wrong, it just assumes a well-configured system, where shared
> libraries live in a sensible place.

No, if one follow the directions in "* Building Emacs with tree-sitter"
it will fail, well-configured system or not as long as you consider
"/usr/local/lib" as a wrong place to install tree-sitter.  I just remind
you that it is tree-sitter itself with make+make install that install
tree-sitter libs in this place.
I just say that for people trying to install tree-sitter, if it just for
me I am fine with "--without-tree-sitter".

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#59532: 28.2; Unable to build emacs with tree-sitter installed
  2022-12-04 10:41               ` Thierry Volpiatto
@ 2022-12-04 11:44                 ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2022-12-04 11:44 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 59532

> From: Thierry Volpiatto <thievol@posteo.net>
> Cc: 59532@debbugs.gnu.org
> Date: Sun, 04 Dec 2022 10:41:00 +0000
> 
> > It is not wrong, it just assumes a well-configured system, where shared
> > libraries live in a sensible place.
> 
> No, if one follow the directions in "* Building Emacs with tree-sitter"
> it will fail, well-configured system or not as long as you consider
> "/usr/local/lib" as a wrong place to install tree-sitter.

/usr/local/lib is not a wrong place.  Depending on your system
configuration, it might be right or it might be wrong.

> I just remind you that it is tree-sitter itself with make+make install
> that install tree-sitter libs in this place.

No, that's the tree-sitter's _default_.  When you use its Makefile, you are
supposed to review it and change the default as needed.

> I just say that for people trying to install tree-sitter, if it just for
> me I am fine with "--without-tree-sitter".

Those notes are not for everyone, they will be deleted soon.  They were
meant to help people who wanted to work on new modes based on tree-sitter.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-12-04 11:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-24  6:46 bug#59532: 28.2; Unable to build emacs with tree-sitter installed Thierry Volpiatto
2022-11-24  8:03 ` Eli Zaretskii
2022-11-24  8:49   ` Thierry Volpiatto
2022-11-24 10:19     ` Eli Zaretskii
2022-11-24 10:47       ` Thierry Volpiatto
2022-11-24 10:58         ` Eli Zaretskii
2022-12-04  7:59           ` Thierry Volpiatto
2022-12-04 10:03             ` Eli Zaretskii
2022-12-04 10:41               ` Thierry Volpiatto
2022-12-04 11:44                 ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).