unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Copley <rcopley@gmail.com>
To: Stephen Leake <stephen_leake@stephe-leake.org>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: gnutls on mingw64
Date: Tue, 26 Nov 2019 15:42:14 +0000	[thread overview]
Message-ID: <CAPM58oi7-RwgHpicRCSCs8ftW+XearfeCPAd_j+h0ni9AsPiWg@mail.gmail.com> (raw)
In-Reply-To: <86h82qq0jh.fsf@stephe-leake.org>

[-- Attachment #1: Type: text/plain, Size: 1752 bytes --]

On Tue, 26 Nov 2019 at 12:35, Stephen Leake <stephen_leake@stephe-leake.org>
wrote:
> I'm trying to get list-packages to use https, which requires gnutls. I'm
> running Emacs master on mingw64.
>
> gnutls-available-p returns nil. Running emacs under the debugger, I can
> trace this to LoadLibraryW failing; the file name is
> L"libgnutls-30.dll", which is in PATH as
> D:\msys64\mingw64\bin\libgnutls-30.dll, installed via pacman.
>
> Currently neither w32_delayed_load nor init_gnutls_functions calls
> GetLastError; would it help to add that?
>
> Since the file should be found, it seems DllMain is returning False?
> What might be the reason for that?

Not a lot to go on here. Works just fine for me.

Are you missing a dependency? You can investigate DLL loading with <
https://github.com/lucasg/Dependencies> (use it on libgnutls-30.dll, not on
emacs.exe). Non-system dependencies here:

C:\msys64\mingw64\bin\libwinpthread-1.dll
C:\msys64\mingw64\bin\libgcc_s_seh-1.dll
C:\msys64\mingw64\bin\libgmp-10.dll
C:\msys64\mingw64\bin\libhogweed-5.dll
C:\msys64\mingw64\bin\libidn2-0.dll
C:\msys64\mingw64\bin\libintl-8.dll
C:\msys64\mingw64\bin\libnettle-7.dll
C:\msys64\mingw64\bin\libp11-kit-0.dll
C:\msys64\mingw64\bin\libtasn1-6.dll
C:\msys64\mingw64\bin\libunistring-2.dll

It's unlikely, but is LoadLibrary finding a mismatched (32-bit)
libgnutls-30.dll? It needn't be on PATH. <
https://docs.microsoft.com/en-gb/windows/win32/dlls/dynamic-link-library-search-order#standard-search-order-for-desktop-applications
>.

GnuTLS's DllMain (defined by the CRT) always returns true, but there is a
library constructor which calls gnutls_global_init. You could look there
for further clues. <
https://gitlab.com/gnutls/gnutls/blob/master/lib/global.c>

[-- Attachment #2: Type: text/html, Size: 2364 bytes --]

  reply	other threads:[~2019-11-26 15:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26 12:34 gnutls on mingw64 Stephen Leake
2019-11-26 15:42 ` Richard Copley [this message]
2019-11-27  1:10   ` Stephen Leake
2019-11-27  8:56     ` Richard Copley
2019-11-27  9:58       ` Stephen Leake
2019-11-26 15:46 ` Eli Zaretskii
2019-11-27 10:00   ` Stephen Leake
2019-11-27 15:53     ` Eli Zaretskii
2019-11-28 18:00       ` Stephen Leake
2019-11-28 22:22         ` Richard Copley
2019-11-29  7:17           ` Eli Zaretskii
2019-11-29  8:32             ` Richard Copley
2019-11-29 10:24               ` Eli Zaretskii
2019-11-29  3:16         ` Juanma Barranquero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPM58oi7-RwgHpicRCSCs8ftW+XearfeCPAd_j+h0ni9AsPiWg@mail.gmail.com \
    --to=rcopley@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=stephen_leake@stephe-leake.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).