Comment installer GnuTLS pour Emacs 25.1 sous Windows?

19

Je viens de mettre à jour Emacs sur ma machine Windows 10 de 24,5 à 25,1. Pour Emacs 24.5, j'avais GnuTLS correctement configuré et pour 25.1, j'ai fait ce que je pensais me rappeler avoir fait:

  1. Vous avez des binaires Emacs prédéfinis à partir de la page de téléchargement du site Web GNU Emacs . J'utilise Windows 32 bits, j'ai donc obtenu la version i686 d'Emacs.

  2. Vous avez obtenu une copie de GnuTLS sur ezwinports et extrait le fichier zip dans le même répertoire qu'Emacs - la façon dont le zip gnutls est organisé signifie que de cette façon les dll et les exes pour gnutls se retrouvent dans le même répertoire que les exac Emacs. (J'ai obtenu la version 3.3.11 cette fois; je ne me souviens pas quelle version de GnuTLS j'avais quand j'avais la version 24.5 d'Emacs.)

Cela n'a pas fonctionné cette fois. gnutls-available-prenvoie nil, le gestionnaire de paquets ne peut se connecter qu'aux référentiels http et non à ceux https, eww ne peut pas non plus gérer https.

Comment configurer GnuTLS pour Emacs 25.1? Suis-je me souviens mal de ce que j'ai fait pour 24,5? Peut-être que les binaires du site GNU Emacs sont compilés sans GnuTLS et pour 24.5 j'ai en fait obtenu des binaires d'ailleurs ...

Omar
la source
J'ai supprimé ma réponse d'origine, car elle ne concernait pas votre version d'Emacs. Dans votre question, vous pourriez peut-être préciser que vous avez copié les fichiers dans ./bin
henning - réintégrer Monica le
@henning: C'est ce que la phrase "la façon dont le zip de gnutls est organisé signifie que de cette façon les dll et les exe pour gnutls se retrouvent dans le même répertoire que les exac d'Emacs" était censé transmettre, je vais essayer de le reformuler de manière plus claire demain.
Omar
Cela ressemble plus à un problème sur Emacs 25.1 plutôt que sur les gnutls lui-même car aujourd'hui j'ai téléchargé Emacs 25.1 et j'ai le même problème. Emacs 24.1 appelle gnutls avec les options: --insecure -p 443 --protocols ssl3 tandis que 25.1 l'appelle avec: -x509cafile nil -p 443. Cela pourrait avoir quelque chose à voir avec ces différentes options d'appel.
Romario
2
Je n'ai pas les détails sous la main, mais j'ai brièvement examiné cela plus tôt. Je pense qu'Emacs 25.1 attend libgnutls-30.dll mais seulement libgnutls-28.dll est actuellement packagé par ezwinports.
Stuart Hickinbottom

Réponses:

29

@StuartHickinbottom a expliqué ce que je faisais mal: utiliser libgnutls-28.dllquand Emacs 25.1 nécessite le plus récent et incompatible libgnutls-30.dll. Il s'agissait ensuite de trouver des binaires libgnutls-30.dllet d'autres bibliothèques nécessaires. Heureusement, Phillip Lord a compilé les versions Windows de toutes les bibliothèques et dépendances GnuTLS et de nombreuses autres bibliothèques que vous pourriez souhaiter pour Emacs! Ils sont disponibles ici : obtenez emacs-25-i686-deps.zipsi vous utilisez Windows 32 bits et obtenez emacs-25-x86_64-deps.zipsi vous utilisez 64 bits; puis décompressez dans le dossier racine de votre installation Emacs (pour que le bindossier des fichiers zip soit décompressé dans le bindossier de votre installation Emacs, etc.)

EDIT: J'ai compris comment trouver la version d'une bibliothèque qu'Emacs attend: regardez dans la variable dynamic-library-alist.

Omar
la source
1
Merci pour la modification - je n'ai jamais connu cette variable mais cela rend la recherche de ce type de chose beaucoup plus facile.
Stuart Hickinbottom
En fait, je n'ai pas compilé les binaires, je les ai juste zippés. Ils devraient tous fonctionner. Et je dois améliorer le README. C'est trop compliqué.
Phil Lord
Ensuite, je suppose que je voulais dire «compilé» dans le sens non informatique de mettre en place une liste de choses provenant de diverses sources, @PhilLord :)
Omar
confirmé pour travailler pour Emacs 25.2
Lorenzo Gatti
1
@feklee Pour Emacs-26, déballez simplement le zip et c'est parti - du moins c'est la théorie. Oui, d'accord, README doit être mis à jour. Il n'y en a pas pour le moment. Moi étant des ordures.
Phil Lord