GNU bug report logs -
#20294
25.0.50; Make Emacs work with GnuTLS 3.4.0 on MS-Windows
Previous Next
Reported by: Chris Zheng <chriszheng99 <at> gmail.com>
Date: Fri, 10 Apr 2015 16:40:03 UTC
Severity: normal
Found in version 25.0.50
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 20294 in the body.
You can then email your comments to 20294 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#20294
; Package
emacs
.
(Fri, 10 Apr 2015 16:40:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Chris Zheng <chriszheng99 <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 10 Apr 2015 16:40:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello Emacs,
After the release of GnuTLS 3.4.0, the DLL name of libgnutls has changed
from `libgnutls-28.dll' to `libgnutls-30.dll', which makes Emacs unable
to load the DLL. Can we add this name to `dynamic-library-alist', as
the following patch do?
Thanks.
From 4b0c27dd6accce69757e60a8ac0904db085e034e Mon Sep 17 00:00:00 2001
From: Chris Zheng <chriszheng99 <at> gmail.com>
Date: Fri, 10 Apr 2015 18:06:04 +0200
Subject: [PATCH] Add GnuTLS 3.4.0 support for MS-Windows
* lisp/term/w32-win.el
(dynamic-library-alist): Add `libgnutls-30.dll'.
---
lisp/term/w32-win.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index b5e6ff3..2cc0504 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -266,7 +266,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
'(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
'(glib "libglib-2.0-0.dll")
'(gobject "libgobject-2.0-0.dll")
- '(gnutls "libgnutls-28.dll" "libgnutls-26.dll")
+ '(gnutls "libgnutls-30.dll" "libgnutls-28.dll" "libgnutls-26.dll")
'(libxml2 "libxml2-2.dll" "libxml2.dll")
'(zlib "zlib1.dll" "libz-1.dll")))
--
2.3.5
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Fri, 10 Apr 2015 17:49:03 GMT)
Full text and
rfc822 format available.
Message #8 received at 20294 <at> debbugs.gnu.org (full text, mbox):
> Date: Sat, 11 Apr 2015 00:38:52 +0800
> From: Chris Zheng <chriszheng99 <at> gmail.com>
>
> After the release of GnuTLS 3.4.0, the DLL name of libgnutls has changed
> from `libgnutls-28.dll' to `libgnutls-30.dll', which makes Emacs unable
> to load the DLL. Can we add this name to `dynamic-library-alist', as
> the following patch do?
No, because libgnutls-30.dll exports a binary-incompatible ABI (that's
why its name changes in the first place). Just adding that DLL will
cause Emacs compiled against an older GnuTLS to try loading the new
DLL, or vice versa, which will most probably crash at run time.
Instead, we need to introduce a libgnutls-version variable, whose
value depends on the version of GnuTLS as conveyed by version-related
macros in the GnuTLS headers, and insert into dynamic-library-alist
the DLL whose name matches the version with which Emacs was compiled,
like we do with several image libraries.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Sat, 11 Apr 2015 12:36:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 20294 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#20294: 25.0.50; Make Emacs work with GnuTLS 3.4.0 on MS-Windows
Date: Fri, 10 Apr 2015 20:48:10 +0300
Hi Eli,
> No, because libgnutls-30.dll exports a binary-incompatible ABI (that's
> why its name changes in the first place). Just adding that DLL will
> cause Emacs compiled against an older GnuTLS to try loading the new
> DLL, or vice versa, which will most probably crash at run time.
Sorry I don't know it.
> Instead, we need to introduce a libgnutls-version variable, whose
> value depends on the version of GnuTLS as conveyed by version-related
> macros in the GnuTLS headers, and insert into dynamic-library-alist
> the DLL whose name matches the version with which Emacs was compiled,
> like we do with several image libraries.
According to your suggestion, I've reverted the patch. Can this one
be the starting point?
Thanks,
Chris
From 07162bcef08d398a2f69e81c83c28a4b722e2d0c Mon Sep 17 00:00:00 2001
From: Chris Zheng <chriszheng99 <at> gmail.com>
Date: Fri, 10 Apr 2015 18:06:04 +0200
Subject: [PATCH] Add GnuTLS 3.4.0 support for MS-Windows
* src/gnutls.c
(libgnutls-version): New variable.
(syms_of_gnutls): Generate `libgnutls-version' from GnuTLS header.
* lisp/term/w32-win.el
(dynamic-library-alist): Set library name according to `libgnutls-version'.
---
lisp/term/w32-win.el | 6 +++++-
src/gnutls.c | 10 ++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index b5e6ff3..b0667e6 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -214,6 +214,8 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
(defvar libgif-version)
(defvar libjpeg-version)
+(defvar libgnutls-version) ; gnutls.c
+
;;; Set default known names for external libraries
(setq dynamic-library-alist
(list
@@ -266,7 +268,9 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
'(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
'(glib "libglib-2.0-0.dll")
'(gobject "libgobject-2.0-0.dll")
- '(gnutls "libgnutls-28.dll" "libgnutls-26.dll")
+ (if (>= libgnutls-version 30400)
+ '(gnutls "libgnutls-30.dll")
+ '(gnutls "libgnutls-28.dll" "libgnutls-26.dll"))
'(libxml2 "libxml2-2.dll" "libxml2.dll")
'(zlib "zlib1.dll" "libz-1.dll")))
diff --git a/src/gnutls.c b/src/gnutls.c
index 35f0eb4..ddd36a9 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -1645,6 +1645,16 @@ DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0,
void
syms_of_gnutls (void)
{
+ DEFSYM (Qlibgnutls_version, "libgnutls-version");
+ Fset (Qlibgnutls_version,
+#ifdef HAVE_GNUTLS
+ make_number (GNUTLS_VERSION_MAJOR * 10000
+ + GNUTLS_VERSION_MINOR * 100
+ + GNUTLS_VERSION_PATCH)
+#else
+ make_number (-1)
+#endif
+ );
#ifdef HAVE_GNUTLS
gnutls_global_initialized = 0;
--
2.3.5
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Sat, 11 Apr 2015 12:42:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 20294 <at> debbugs.gnu.org (full text, mbox):
> Date: Sat, 11 Apr 2015 20:35:34 +0800
> Cc: 20294 <at> debbugs.gnu.org
> From: Chris Zheng <chriszheng99 <at> gmail.com>
>
> > No, because libgnutls-30.dll exports a binary-incompatible ABI (that's
> > why its name changes in the first place). Just adding that DLL will
> > cause Emacs compiled against an older GnuTLS to try loading the new
> > DLL, or vice versa, which will most probably crash at run time.
> Sorry I don't know it.
> > Instead, we need to introduce a libgnutls-version variable, whose
> > value depends on the version of GnuTLS as conveyed by version-related
> > macros in the GnuTLS headers, and insert into dynamic-library-alist
> > the DLL whose name matches the version with which Emacs was compiled,
> > like we do with several image libraries.
> According to your suggestion, I've reverted the patch. Can this one
> be the starting point?
Looks good to me. Did you test this with both the previous and the
new versions of GnuTLS?
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Sat, 11 Apr 2015 14:23:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 20294 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#20294: 25.0.50; Make Emacs work with GnuTLS 3.4.0 on MS-Windows
Date: Sat, 11 Apr 2015 15:41:07 +0300
Hi Eli,
> Looks good to me. Did you test this with both the previous and the
> new versions of GnuTLS?
Thank you for your prompt reply. Yes, it works fine here.
> Thanks.
Cheers,
Chris
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Sat, 11 Apr 2015 15:09:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Chris Zheng <chriszheng99 <at> gmail.com>
:
bug acknowledged by developer.
(Sat, 11 Apr 2015 15:09:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 20294-done <at> debbugs.gnu.org (full text, mbox):
> Date: Sat, 11 Apr 2015 22:22:09 +0800
> Cc: 20294 <at> debbugs.gnu.org
> From: Chris Zheng <chriszheng99 <at> gmail.com>
>
> From: Eli Zaretskii <eliz <at> gnu.org>
> Subject: Re: bug#20294: 25.0.50; Make Emacs work with GnuTLS 3.4.0 on MS-Windows
> Date: Sat, 11 Apr 2015 15:41:07 +0300
>
> Hi Eli,
> > Looks good to me. Did you test this with both the previous and the
> > new versions of GnuTLS?
> Thank you for your prompt reply. Yes, it works fine here.
Thanks, pushed.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 10 May 2015 11:24:06 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
Karol Ostrovsky <karol.ostrovsky <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Fri, 12 Feb 2016 17:08:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Fri, 12 Feb 2016 17:11:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 20294 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello Emacs and especially Eli,
I have just re-compiled latest emacs 24 against the latest MSYS2, and this
problem with GnuTLS 3.4 appeared. Is it still possible to consider this
patch for emacs 24? It cannot be applied right away, but I can sent the
required changes.
Best regards,
Karol
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20294
; Package
emacs
.
(Fri, 12 Feb 2016 19:00:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 20294 <at> debbugs.gnu.org (full text, mbox):
> Date: Fri, 12 Feb 2016 18:10:53 +0100
> From: Karol Ostrovsky <karol.ostrovsky <at> gmail.com>
>
> I have just re-compiled latest emacs 24 against the latest MSYS2, and this problem with GnuTLS 3.4
> appeared. Is it still possible to consider this patch for emacs 24? It cannot be applied right away, but I can
> sent the required changes.
Emacs 24 is no longer maintained. The next release will be Emacs 25.1
(it is currently in pretest), where this is already fixed.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 12 Mar 2016 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 106 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.