Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 911826 - app-editors/emacs-29.1-r1[tree-sitter]: undefined reference to dynlib_error
Summary: app-editors/emacs-29.1-r1[tree-sitter]: undefined reference to dynlib_error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GNU Emacs project
URL:
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2023-08-07 05:10 UTC by Skylar Hill
Modified: 2023-08-07 17:35 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge -pqv output (emerge-pqv-emacs-29.1-r1.txt,534 bytes, text/plain)
2023-08-07 05:10 UTC, Skylar Hill
Details
emerge --info output (emerge-info-emacs-29.1-r1.txt,7.41 KB, text/plain)
2023-08-07 05:11 UTC, Skylar Hill
Details
Full build log (build.log,230.49 KB, text/x-log)
2023-08-07 05:13 UTC, Skylar Hill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Skylar Hill 2023-08-07 05:10:40 UTC
Created attachment 867256 [details]
emerge -pqv output

Emacs 29.1 build fails when tree-sitter support is enabled, and succeeds otherwise. The relevant part of the build log:

make[2]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1/src'
x86_64-pc-linux-gnu-gcc -o temacs.tmp \
  -Demacs  -I. -I. -I../lib -I../lib   -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -pthread    -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -pthread -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/pixman-1   -I/usr/include/libpng16  -I/usr/include/libxml2   -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include           -I/usr/include/freetype2  -I/usr/include/freetype2     -MMD -MF deps/.d -MP       -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1       -march=native -O2 -pipe -march=native -O2 -pipe   -Wl,-O1 -Wl,--as-needed  \
    dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.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 xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o gtkutil.o emacsgtkfixed.o dbusbind.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 inotify.o  profiler.o decompress.o thread.o systhread.o sqlite.o  treesit.o itree.o      xfont.o ftfont.o ftcrfont.o  fontset.o fringe.o image.o xgselect.o      terminfo.o lastfile.o      ../lib/libgnu.a        -ltiff -ljpeg -lpng16  -lgif -lXpm  -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lSM -lICE -lX11 -lX11-xcb -lxcb -lxcb-util  -lXrender -lasound  -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo   -lacl      -ldbus-1   -lXrandr  -lXinerama  -lXfixes  -lXext -lXext -lxml2  -lgpm  -lcairo  -ltinfo    -lfreetype  -lfontconfig -lfreetype     -lgnutls   -lanl -llcms2   -lm -lz    -lgmp  -lXi   -ltree-sitter   -lXcomposite -lXext -lxcb-shape
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.o: in function `treesit_load_language':
treesit.c:(.text+0x4b8a): undefined reference to `dynlib_error'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.c:(.text+0x4b92): undefined reference to `dynlib_open'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.c:(.text+0x4b9a): undefined reference to `dynlib_error'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.c:(.text+0x4e89): undefined reference to `dynlib_error'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.c:(.text+0x4eb0): undefined reference to `dynlib_sym'
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: treesit.c:(.text+0x4ec0): undefined reference to `dynlib_error'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:704: temacs] Error 1
make[2]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1/src'
make[1]: *** [Makefile:544: src] Error 2
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
***
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
*** "make all" failed with exit status 2.
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
***
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
*** 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]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
***
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make[1]: *** [Makefile:414: advice-on-failure] Error 2
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.1-r1/work/emacs-29.1'
make: *** [Makefile:370: all] Error 2
 * ERROR: app-editors/emacs-29.1-r1::gentoo failed (compile phase):
 *   emake failed
Comment 1 Skylar Hill 2023-08-07 05:11:05 UTC
Created attachment 867257 [details]
emerge --info output
Comment 2 Skylar Hill 2023-08-07 05:13:49 UTC
Created attachment 867258 [details]
Full build log
Comment 3 Ulrich Müller gentoo-dev 2023-08-07 09:40:59 UTC
Does the build succeed if you set USE=dynamic-loading in addition to tree-sitter?
Comment 4 Larry the Git Cow gentoo-dev 2023-08-07 13:42:44 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/emacs-patches.git/commit/?id=999b9f64d74b1e35ef058cd76fc40445d9e6e2fd

commit 999b9f64d74b1e35ef058cd76fc40445d9e6e2fd
Author:     Ulrich Müller <ulm@gentoo.org>
AuthorDate: 2023-08-07 13:35:39 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2023-08-07 13:35:39 +0000

    29.1: Fix build failure with tree-sitter
    
    Bug: https://bugs.gentoo.org/911826
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 emacs/29.1/04_all_tree-sitter.patch | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
Comment 5 Larry the Git Cow gentoo-dev 2023-08-07 13:43:07 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f54afd05d603c8384fb4d5cf26a50ca94b19615

commit 3f54afd05d603c8384fb4d5cf26a50ca94b19615
Author:     Ulrich Müller <ulm@gentoo.org>
AuthorDate: 2023-08-07 13:42:04 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2023-08-07 13:42:14 +0000

    app-editors/emacs: Fix build failure with USE=tree-sitter
    
    Closes: https://bugs.gentoo.org/911826
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 app-editors/emacs/Manifest             | 2 +-
 app-editors/emacs/emacs-29.1-r1.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Comment 6 Ulrich Müller gentoo-dev 2023-08-07 13:43:26 UTC
Thanks for reporting!
Comment 7 CaptainBlood 2023-08-07 16:55:01 UTC
(In reply to Ulrich Müller from comment #3)
> Does the build succeed if you set USE=dynamic-loading in addition to
> tree-sitter?

It indeed did here:

Installed versions:  29.1-r1(29)(01:01:12 02/08/2023)(alsa cairo dbus dynamic-loading gfile gif gmp gpm gsettings gui gzip-el harfbuzz imagemagick inotify jit jpeg json kerberos lcms libxml2 m17n-lib mailutils png sound sqlite ssl svg threads tiff toolkit-scroll-bars tree-sitter webp xft xpm xwidgets zlib -X -Xaw3