From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.help Subject: Re: on how to install gnutls dlls on windows Date: Sun, 18 Apr 2021 19:13:01 +0200 Message-ID: <87o8ebfrdu.fsf@telefonica.net> References: <86tuo3zi4a.fsf@protonmail.com> <83h7k3tvdr.fsf@gnu.org> <86mttvzgnf.fsf@protonmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40937"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:t89VuCLOm+UzZnUalPjYH3v8yOg= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Apr 18 19:13:36 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lYAzH-000AXd-Qd for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 18 Apr 2021 19:13:35 +0200 Original-Received: from localhost ([::1]:45146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lYAzG-0006CJ-RR for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 18 Apr 2021 13:13:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49192) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYAys-0006C7-EW for help-gnu-emacs@gnu.org; Sun, 18 Apr 2021 13:13:10 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:53640) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYAyq-0001kH-Gd for help-gnu-emacs@gnu.org; Sun, 18 Apr 2021 13:13:10 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1lYAyo-000A4H-BI for help-gnu-emacs@gnu.org; Sun, 18 Apr 2021 19:13:06 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:129039 Archived-At: Wayne Harris via Users list for the GNU Emacs text editor writes: > Eli Zaretskii writes: > >>> Date: Sun, 18 Apr 2021 13:12:53 -0300 >>> From: Wayne Harris via Users list for the GNU Emacs text editor >>> >>> >>> 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.