Subject: 28.2; Unable to build emacs with tree-sitter installed
From: Thierry Volpiatto <[email-masked]>
To: [email-masked]
Date: Thu, 24 Nov 2022 06:46:35 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

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