help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: on how to install gnutls dlls on windows


From: Óscar Fuentes
Subject: Re: on how to install gnutls dlls on windows
Date: Sun, 18 Apr 2021 19:13:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Wayne Harris via Users list for the GNU Emacs text editor
<help-gnu-emacs@gnu.org> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> Date: Sun, 18 Apr 2021 13:12:53 -0300
>>> From: Wayne Harris via Users list for the GNU Emacs text editor
>>> <help-gnu-emacs@gnu.org>
>>> 
>>> I don't know how to install this library.  My GNU Emacs 27.1 is a 64-bit
>>> application.  I have MSYS2 installed and I used PACMAN to install the
>>> packages
>>> 
>>>   gnutls-3.7.0-1-x86_64.pkg.tar.zst
>>>   libgnutls-3.7.0-1-x86_64.pkg.tar.zst
>>> 
>>> As a consequence, I have the following files, among others:
>>> 
>>> --8<---------------cut here---------------start------------->8---
>>> ./usr/bin/gnutls-cli-debug.exe
>>> ./usr/bin/gnutls-cli.exe
>>> ./usr/bin/gnutls-serv.exe
>>> ./usr/bin/msys-gnutls-30.dll
>>> ./usr/bin/msys-gnutlsxx-28.dll
>>> ./var/cache/pacman/pkg/gnutls-3.7.0-1-x86_64.pkg.tar.zst
>>> ./var/cache/pacman/pkg/libgnutls-3.7.0-1-x86_64.pkg.tar.zst
>>> ./bin/gnutls-cli-debug.exe
>>> ./bin/gnutls-cli.exe
>>> ./bin/gnutls-serv.exe
>>> ./bin/msys-gnutls-30.dll
>>> ./bin/msys-gnutlsxx-28.dll
>>> --8<---------------cut here---------------end--------------->8---
>>
>> You've installed the wrong package: the above is the MSYS GnuTLS,
>> whereas you need MinGW port of GnuTLS.  Look for a package with
>> "mingw" in its name.
>>
>> To install, put the DLLs in the package either in the same directory
>> where you have the emacs.exe executable, or somewhere on your Path.
>
> Thanks!  But I'm not quite there yet.  I found
>
>   mingw-w64-x86_64-gnutls
>
> and installed it:
>
> %pacman -S mingw-w64-x86_64-gnutls
> resolving dependencies...
> looking for conflicting packages...
>
> Packages (4) mingw-w64-x86_64-libidn2-2.3.0-1
>              mingw-w64-x86_64-libunistring-0.9.10-2
>              mingw-w64-x86_64-nettle-3.7-1  mingw-w64-x86_64-gnutls-3.7.0-1
>
> Total Download Size:    3.49 MiB
> Total Installed Size:  21.18 MiB
>
> :: Proceed with installation? [Y/n] Y
> Y
> :: Retrieving packages...
> downloading mingw-w64-x86_64-libunistring-0.9.10-2-any.pkg.tar.zst...
> downloading mingw-w64-x86_64-libidn2-2.3.0-1-any.pkg.tar.xz...
> downloading mingw-w64-x86_64-nettle-3.7-1-any.pkg.tar.zst...
> downloading mingw-w64-x86_64-gnutls-3.7.0-1-any.pkg.tar.zst...
> checking keyring...
> checking package integrity...
> loading package files...
> checking for file conflicts...
> checking available disk space...
> :: Processing package changes...
> installing mingw-w64-x86_64-libunistring...
> installing mingw-w64-x86_64-libidn2...
> installing mingw-w64-x86_64-nettle...
> installing mingw-w64-x86_64-gnutls...
>
>
> Then I looked at all DLLs that all packages bring:
>
> %pacman -Ql mingw-w64-x86_64-gnutls mingw-w64-x86_64-nettle 
> mingw-w64-x86_64-libidn2 mingw-w64-x86_64-libunistring | grep dll
> mingw-w64-x86_64-gnutls /mingw64/bin/libgnutls-30.dll
> mingw-w64-x86_64-gnutls /mingw64/bin/libgnutlsxx-28.dll
> mingw-w64-x86_64-gnutls /mingw64/lib/libgnutls.dll.a
> mingw-w64-x86_64-gnutls /mingw64/lib/libgnutlsxx.dll.a
> mingw-w64-x86_64-nettle /mingw64/bin/libhogweed-6.dll
> mingw-w64-x86_64-nettle /mingw64/bin/libnettle-8.dll
> mingw-w64-x86_64-nettle /mingw64/lib/libhogweed.dll.a
> mingw-w64-x86_64-nettle /mingw64/lib/libnettle.dll.a
> mingw-w64-x86_64-libidn2 /mingw64/bin/libidn2-0.dll
> mingw-w64-x86_64-libidn2 /mingw64/lib/libidn2.dll.a
> mingw-w64-x86_64-libunistring /mingw64/bin/libunistring-2.dll
> mingw-w64-x86_64-libunistring /mingw64/include/unistring/woe32dll.h
> mingw-w64-x86_64-libunistring /mingw64/lib/libunistring.dll.a
>
>
> I copied them all to c:/sys/emacs/bin, where my emacs.exe lives:
>
> %pwd
> c:/sys/emacs/bin
>
> %ls -l emacs.exe
> -rwxr-xr-x 1 x 6459904 Aug 21  2020 emacs.exe
>
> %file emacs.exe
> emacs.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for 
> MS Windows
>
> %(setenv "p" "c:/sys/emacs/usr/mingw/mingw64/bin/")
> c:/sys/emacs/usr/mingw/mingw64/bin/
>
> %echo $p
> c:/sys/emacs/usr/mingw/mingw64/bin/
>
> %cp $p/libgnutls-30.dll $p/libgnutlsxx-28.dll $p/libhogweed-6.dll \
>     $p/libnettle-8.dll $p/libidn2-0.dll $p/libunistring-2.dll .
>
> %ls lib*
> libgnutls-30.dll
> libgnutlsxx-28.dll
> libhogweed-6.dll
> libidn2-0.dll
> libnettle-8.dll
> libpng-config
> libpng16-config
> libunistring-2.dll
> %
>
> I ran another emacs instance (through runemacs.exe), but 
>
>   gnutls-available-p
>
> still produces nil.

Possibly it is a problem with transitive dependencies.

Is there a reason for using a separate Emacs when it is available from
MSYS2/Mingw-W64?

pacman -S mingw-w64-x86_64-emacs

should do the right thing. Then use /mingw64/bin/runemacs.exe.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]