Come installo GnuTLS per Emacs 25.1 su Windows?


19

Ho appena aggiornato Emacs sul mio computer Windows 10 dalla 24.5 alla 25.1. Per Emacs 24.5 avevo installato correttamente GnuTLS e per 25.1 ho fatto quello che pensavo di ricordare di aver fatto:

  1. Ho ottenuto i binari Emacs predefiniti dalla pagina di download del sito Web di GNU Emacs . Sto usando Windows a 32 bit, quindi ho ottenuto la versione i686 di Emacs.

  2. Ho ottenuto una copia di GnuTLS da ezwinports ed estratto il file zip nella stessa directory di Emacs - il modo in cui è organizzato lo zip gnutls significa che in questo modo sia la dll che l'exe per gnutls finiscono nella stessa directory dell'exac di Emacs. (Questa volta ho ottenuto la versione 3.3.11; non ricordo quale versione di GnuTLS avevo quando avevo la versione 24.5 di Emacs.)

Questa volta non ha funzionato. gnutls-available-pritorna nil, il gestore pacchetti è in grado di connettersi solo ai repository http e non a quelli https, eww non può gestire nemmeno https.

Come configuro GnuTLS per Emacs 25.1? Non ricordo cosa ho fatto per 24.5? Forse i binari dal sito Web di GNU Emacs sono compilati senza GnuTLS e per 24.5 ho effettivamente ottenuto binari da qualche altra parte ...


Ho eliminato la mia risposta originale, dal momento che non risolveva la tua versione di Emacs. Nella tua domanda, potresti forse chiarire che hai copiato i file in ./bin
henning - reintegrare Monica il

@henning: questo è ciò che la frase "il modo in cui è organizzata la zip di gnutls significa che in questo modo sia la dll che l'exe per gnutls finiscono nella stessa directory dell'exe di Emacs" doveva trasmettere, proverò a riformularla domani in modo più chiaro.
Omar,

Sembra più un problema su Emacs 25.1 piuttosto che su gnutls stesso perché oggi ho scaricato Emacs 25.1 e ho riscontrato lo stesso problema. Emacs 24.1 chiama gnutls con le opzioni: --insecure -p 443 --protocols ssl3 mentre 25.1 lo chiama con: -x509cafile nil -p 443. Potrebbe avere qualcosa a che fare con queste diverse opzioni di chiamata.
Romario,

2
Non ho i dettagli a portata di mano, ma ho esaminato brevemente questo prima. Penso che Emacs 25.1 si aspetti libgnutls-30.dll ma al momento solo libgnutls-28.dll è impacchettato da ezwinports.
Stuart Hickinbottom,

Risposte:


29

@StuartHickinbottom ha spiegato cosa stavo facendo di sbagliato: usare libgnutls-28.dllquando Emacs 25.1 richiede il più nuovo e incompatibile libgnutls-30.dll. Quindi si trattava di trovare binari libgnutls-30.dlle altre librerie richieste. Per fortuna Phillip Lord ha compilato le versioni Windows di tutte le librerie e dipendenze di GnuTLS e di molte altre librerie che potresti desiderare per Emacs! Sono disponibili qui : ottieni emacs-25-i686-deps.zipse usi Windows a 32 bit e ottieni emacs-25-x86_64-deps.zipse usi 64 bit; quindi decomprimere nella cartella principale dell'installazione di Emacs (in modo che la bincartella dei file zip venga decompressa nella bincartella dell'installazione di Emacs, ecc.)

EDIT: ho capito come scoprire quale versione di una libreria che Emacs si aspetta: guarda nella variabile dynamic-library-alist.


1
Grazie per la modifica: non ho mai saputo di quella variabile ma rende molto più facile rintracciare questo tipo di cose.
Stuart Hickinbottom,

In realtà, non ho compilato i binari, li ho solo compressi. Dovrebbero funzionare tutti. E devo migliorare il README. È troppo complicato
Phil Lord,

Quindi suppongo di voler dire "compilato" nel senso non informatico di mettere insieme un elenco di cose da varie fonti, @PhilLord :)
Omar,

ha confermato di lavorare per Emacs 25.2
Lorenzo Gatti,

1
@feklee Per Emacs-26, basta decomprimere la zip e via, almeno questa è la teoria. Sì, d'accordo, README deve essere aggiornato. Non ce n'è uno al momento. Io sono spazzatura.
Phil Lord,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.