GNU bug report logs -
#65123
29.1; Build fails with "configure --without-all --with-tree-sitter"
Previous Next
Reported by: Ulrich Mueller <ulm <at> gentoo.org>
Date: Mon, 7 Aug 2023 10:46:01 UTC
Severity: normal
Found in version 29.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 65123 in the body.
You can then email your comments to 65123 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65123
; Package
emacs
.
(Mon, 07 Aug 2023 10:46:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ulrich Mueller <ulm <at> gentoo.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 07 Aug 2023 10:46:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Forwarding downstream bug: https://bugs.gentoo.org/911826
Linking of temacs fails with undefined references to symbols
dynlib_error, dynlib_open and dynlib_sym when using configure options
--without-all --with-tree-sitter. To reproduce:
emacs-29.1 $ ./configure --without-all --without-x --with-tree-sitter
[...]
emacs-29.1 $ make V=1
[...]
gcc -o temacs.tmp \
-Demacs -I. -I. -I../lib -I../lib -MMD -MF deps/.d -MP -g3 -O2 \
dispnew.o frame.o scroll.o xdisp.o menu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o emacs.o keyboard.o macros.o keymap.o sysdep.o bignum.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o alloc.o pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o sort.o font.o print.o lread.o syntax.o bytecode.o comp.o process.o gnutls.o callproc.o region-cache.o sound.o timefns.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o lcms.o profiler.o decompress.o thread.o systhread.o sqlite.o treesit.o itree.o json.o terminfo.o lastfile.o ../lib/libgnu.a -ltinfo -lanl -lm -ljansson -lgmp -ltree-sitter
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: treesit.o: in function `treesit_load_language':
/local/home/ulm/emacs-29.1/src/treesit.c:617:(.text+0x4a6a): undefined reference to `dynlib_error'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /local/home/ulm/emacs-29.1/src/treesit.c:618:(.text+0x4a72): undefined reference to `dynlib_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /local/home/ulm/emacs-29.1/src/treesit.c:619:(.text+0x4a7a): undefined reference to `dynlib_error'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /local/home/ulm/emacs-29.1/src/treesit.c:634:(.text+0x4d41): undefined reference to `dynlib_error'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /local/home/ulm/emacs-29.1/src/treesit.c:644:(.text+0x4d68): undefined reference to `dynlib_sym'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /local/home/ulm/emacs-29.1/src/treesit.c:646:(.text+0x4d78): undefined reference to `dynlib_error'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:704: temacs] Error 1
make[2]: Leaving directory '/local/home/ulm/emacs-29.1/src'
make[1]: *** [Makefile:544: src] Error 2
make[1]: Leaving directory '/local/home/ulm/emacs-29.1'
make[1]: Entering directory '/local/home/ulm/emacs-29.1'
***
*** "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] Error 2
make[1]: Leaving directory '/local/home/ulm/emacs-29.1'
make: *** [Makefile:370: all] Error 2
emacs-29.1 $
Looks like configure.ac should set NEED_DYNLIB=yes when tree-sitter
is requested. It already does so in one code path, but it doesn't for
tree-sitter >= 0.20.2.
$ pkg-config --modversion tree-sitter
0.20.9
(The above build failure will also occur with a simple "configure
--without-all", because it leaves both json and tree-sitter enabled.
Is this intentional? I'd have expected --without-all to turn these
features off.)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65123
; Package
emacs
.
(Mon, 07 Aug 2023 12:43:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 65123 <at> debbugs.gnu.org (full text, mbox):
> From: Ulrich Mueller <ulm <at> gentoo.org>
> Date: Mon, 07 Aug 2023 12:44:38 +0200
>
> Forwarding downstream bug: https://bugs.gentoo.org/911826
>
> Linking of temacs fails with undefined references to symbols
> dynlib_error, dynlib_open and dynlib_sym when using configure options
> --without-all --with-tree-sitter. To reproduce:
Thanks. Does the patch below fix this?
diff --git a/configure.ac b/configure.ac
index 5dd182a..ab401be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3254,6 +3254,7 @@ AC_DEFUN
[HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
if test "${HAVE_TREE_SITTER}" = yes; then
AC_DEFINE(HAVE_TREE_SITTER, 1, [Define if using tree-sitter.])
+ NEED_DYNLIB=yes
else
EMACS_CHECK_MODULES([TREE_SITTER], [tree-sitter >= 0.6.3],
[HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65123
; Package
emacs
.
(Mon, 07 Aug 2023 13:03:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 65123 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Mon, 07 Aug 2023, Eli Zaretskii wrote:
>> From: Ulrich Mueller <ulm <at> gentoo.org>
>> Date: Mon, 07 Aug 2023 12:44:38 +0200
>>
>> Forwarding downstream bug: https://bugs.gentoo.org/911826
>>
>> Linking of temacs fails with undefined references to symbols
>> dynlib_error, dynlib_open and dynlib_sym when using configure options
>> --without-all --with-tree-sitter. To reproduce:
> Thanks. Does the patch below fix this?
> diff --git a/configure.ac b/configure.ac
> index 5dd182a..ab401be 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -3254,6 +3254,7 @@ AC_DEFUN
> [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
> if test "${HAVE_TREE_SITTER}" = yes; then
> AC_DEFINE(HAVE_TREE_SITTER, 1, [Define if using tree-sitter.])
> + NEED_DYNLIB=yes
> else
> EMACS_CHECK_MODULES([TREE_SITTER], [tree-sitter >= 0.6.3],
> [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
Thanks, this fixes the problem for me.
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Mon, 07 Aug 2023 13:22:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ulrich Mueller <ulm <at> gentoo.org>
:
bug acknowledged by developer.
(Mon, 07 Aug 2023 13:22:01 GMT)
Full text and
rfc822 format available.
Message #16 received at 65123-done <at> debbugs.gnu.org (full text, mbox):
> From: Ulrich Mueller <ulm <at> gentoo.org>
> Cc: 65123 <at> debbugs.gnu.org
> Date: Mon, 07 Aug 2023 15:02:43 +0200
>
> >>>>> On Mon, 07 Aug 2023, Eli Zaretskii wrote:
>
> > Thanks. Does the patch below fix this?
>
> > diff --git a/configure.ac b/configure.ac
> > index 5dd182a..ab401be 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -3254,6 +3254,7 @@ AC_DEFUN
> > [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
> > if test "${HAVE_TREE_SITTER}" = yes; then
> > AC_DEFINE(HAVE_TREE_SITTER, 1, [Define if using tree-sitter.])
> > + NEED_DYNLIB=yes
> > else
> > EMACS_CHECK_MODULES([TREE_SITTER], [tree-sitter >= 0.6.3],
> > [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
>
> Thanks, this fixes the problem for me.
Thanks, installed on the emacs-29 branch, and closing the bug.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 05 Sep 2023 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 284 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.