Package: emacs;
Reported by: Gavin Smith <gavinsmith0123 <at> gmail.com>
Date: Wed, 15 Aug 2018 11:13:02 UTC
Severity: important
Tags: fixed, patch
Fixed in version 26.2
Done: Noam Postavsky <npostavs <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Gavin Smith <gavinsmith0123 <at> gmail.com> To: 32446 <at> debbugs.gnu.org Subject: bug#32446: Configure-time requirement for gnutls is too old Date: Wed, 15 Aug 2018 12:12:10 +0100
I downloaded and tried to build Emacs 26.1. I ran "./configure" and "make", but after a while there is an error. With "make V=1": gcc -std=gnu11 -Demacs -I. -I. -I../lib -I../lib -pthread -I/usr/local/include -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng14 -I/usr/include/libdrm -I/usr/include/freetype2 -I/usr/include/alsa -pthread -I/usr/local/include -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6 -I/usr/include/libpng14 -I/usr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -MMD -MF deps/.d -MP -I/usr/include/p11-kit-1 -g3 -O2 -Wl,-znocombreloc \ -o temacs vm-limit.o 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 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.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o gnutls.o callproc.o region-cache.o sound.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 xfont.o ftfont.o xftfont.o ftxfont.o fontset.o fringe.o image.o xgselect.o terminfo.o lastfile.o ../lib/libgnu.a -ltiff -ljpeg -L/usr/lib -lpng14 -lgif -lXpm -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lSM -lICE -lX11 -lX11-xcb -lxcb -lXrender -lXft -lasound -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lglib-2.0 -lMagickWand-6.Q16 -lMagickCore-6.Q16 -lacl -lrt -ldbus-1 -lXrandr -lXinerama -lXfixes -lXext -lxml2 -lgpm -lncurses -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgobject-2.0 -lglib-2.0 -lfreetype -lfontconfig -lgnutls -lpthread -lanl -llcms2 -lm -lz gnutls.o: In function `Fgnutls_ciphers': /home/g/extsrc/emacs-26.1/src/gnutls.c:1889: undefined reference to `gnutls_cipher_get_tag_size' /home/g/extsrc/emacs-26.1/src/gnutls.c:1892: undefined reference to `gnutls_cipher_get_iv_size' gnutls.o: In function `Fgnutls_digests': /home/g/extsrc/emacs-26.1/src/gnutls.c:2242: undefined reference to `gnutls_digest_list' /home/g/extsrc/emacs-26.1/src/gnutls.c:2248: undefined reference to `gnutls_digest_get_name' gnutls.o: In function `gnutls_symmetric': /home/g/extsrc/emacs-26.1/src/gnutls.c:2062: undefined reference to `gnutls_cipher_get_iv_size' /home/g/extsrc/emacs-26.1/src/gnutls.c:2079: undefined reference to `gnutls_cipher_get_tag_size' collect2: error: ld returned 1 exit status make[1]: *** [temacs] Error 1 make[1]: Leaving directory `/home/g/extsrc/emacs-26.1/src' make: *** [src] Error 2 I looked to see which symbols were in the gnutls library: $ nm -D /usr/lib/libgnutls.so.28.21.5 | grep cipher 00043760 T gnutls_cipher_add_auth 00043880 T gnutls_cipher_decrypt 00043940 T gnutls_cipher_decrypt2 000439c0 T gnutls_cipher_deinit 00043830 T gnutls_cipher_encrypt 000438f0 T gnutls_cipher_encrypt2 0003d550 T gnutls_cipher_get 000b8dc0 T gnutls_cipher_get_block_size 000b8fd0 T gnutls_cipher_get_id 000b8ed0 T gnutls_cipher_get_key_size 000b8f90 T gnutls_cipher_get_name 000435e0 T gnutls_cipher_init 000b9020 T gnutls_cipher_list 000437f0 T gnutls_cipher_set_iv 00028f30 T gnutls_cipher_set_priority 000b9270 T gnutls_cipher_suite_get_name 000b9320 T gnutls_cipher_suite_info 000436d0 T gnutls_cipher_tag 000b95a0 T gnutls_priority_get_cipher_suite_index "gnutls_cipher_get_tag_size" is not there. According to https://www.gnutls.org/abi-tracker/changelog/gnutls/3.4.10/log.html, gnutls_cipher_get_tag_size was added in version 3.2.2. However, the configure script for Emacs did not detect that I had an out-of-date gnutls. From config.log: configure:13176: checking for LIBGNUTLS configure:13183: $PKG_CONFIG --exists --print-errors "gnutls >= 2.12.2" configure:13186: $? = 0 configure:13200: $PKG_CONFIG --exists --print-errors "gnutls >= 2.12.2" configure:13203: $? = 0 configure:13241: result: yes The check is for an older version of gnutls, which my system passes: $ pkg-config --modversion gnutls 3.1.25 I'd guess that the required version in 'configure' needs to be increased.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.