Installation de emacs 24.5 pour Windows 10 64

Acquisition

J'ai téléchargé l'archive zip d'un serveur relais (mirror) ftp ftp.igh.cnrs.fr/pub/gnu/emacs/windows et téléchargé la signature pour contrôler.

  This README.W32 file describes how to set up and run a precompiled
  distribution of GNU Emacs for Windows.  You can find the precompiled
  distribution on the ftp.gnu.org server and its mirrors:

 	ftp://ftp.gnu.org/gnu/emacs/windows/
  This server contains other distributions, including the full Emacs
  source distribution, as well as older releases of Emacs for Windows.

Vérifier le fichier avec la signature impliquait (pour ma nouvelle machine) installer un outil capable de le faire. J'ai choisi gpg4win et je l'ai d'abord installée. La première tentative de validation a échoué:

ID de clef 7E6A2A2E
Uncertain signature by unknown key FA75A9597E6A2A2E
Pas de clef publique

Donc, j'ai effectué

recv-key 0x7E6A2A2E

et appris qu'il s'agit de la clef de Dani Moncayo dmoncayo@gmail.com, mais cette appartenance n'est pas cautionné par des contre signatures. Comment savoir si cette personne est un maker et signataire légitime? J'ai trouvé cette discussion qui me rassure. Je procède à l'installation.

Installation

Pas aussi automatique que pour gpg4win ou Cygwin: l'archive contient les binaires mais pas de programme d'installation. Ainsi je consulte le manuel en anglais. Il faut

  1. Extraire les fichiers et les mettre où ? J'ai choisi de créer un dossier 'emacs' à coté du dossier gpg4win : C:\Program Files (x86)\GNU\emacs et j'y ai extrait les 4 034 éléments.
  2. J'exécute runemacs et ça marche.
  3. Rajouter un lien dans le menu Démarrer : comment faire ? Clique droite sur le fichier dans Explorateur de fichiers, puis choisir Epingler à l'écran de démarrage (quatrième option) dans le menu contextuel : . Le lien démarre emacs, mais il n'a plus (visiblement) le chemin vers des éléments (le Gnu coloré ne parait plus dans son buffer d'accueil). Il semble avoir créé mon dossier AppData\Roaming\.emacs.d mais le dossier reste vide. Ce raccourci est stocké dans C:\Users\Moi\AppData\Roaming\Microsoft\Windows\Programs ; dans ses propriétés, j'ai changé le dossier de démarrage (pas le chemin au programme, la deuxième valeur) pour cibler C:\Users\Moi\Documents. Ca ne change pas le chemin HOME que emacs utilise pour trouver .emacs.d, mais l'oriente vers les dossiers où j'aurais des documents à traiter.
  4. Rajouter le init (et plus?) au dossier .emacs.d dans AppData\Roaming.

init.el

à faire

imap (et tls)

J'ai tenté l'envoi d'un courriel, ce qui a provoqué une petite liste d'erreurs d'échec TLS pour entrer en communication avec le serveur (de laposte.net). Visiblement, gnutls n'était pas disponible. C'est indiqué dans le fichier README.W32 (dans emacs/share/24.5)

In order to support GnuTLS at runtime, Emacs must be able to find
the relevant DLLs during startup; failure to do so is not an error,
but GnuTLS won't be available to the running session.
You can get pre-built binaries (including any dependency DLLs) at
http://sourceforge.net/projects/ezwinports/files/.

Ainsi, j'ai téléchargé gnutls-3.4.9-w64.zip (et sa signature). Comment installer gnutls n'est pas explicité dans l'archive, il faut se fier au README.txt d'ezwinports (qui ne parait pas dans l'archive), qui dit (en partie)

If the executable programs need additional DLLs, they
are also included, to make the zip archive self-contained.

To install a binary archive, simply unzip it, preserving the directory
structure recorded in it, and make sure the 'bin' directory is on your
Path. If you already have a public 'bin' directory, unzip the binary
archive from that 'bin's parent directory. The other directories,
like 'include', 'lib', and 'share' are populated with the rest of the
package; in particular, the man pages are in 'share/man' and
'share/cat', and the Info docs in 'share/info'. It is advisable to
unpack all the archives you download from this site into the same
tree: this will ensure all the packages work seamlessly together.

En cherchant dans des forums, on lit que certains recommandent de copier tous les dll dans le répertoire bin de emacs, ce qui ne me parait pas une bonne solution : gnutls ne serait pas disponible pour d'autres applications, et que faire l'arborescence bin, include, lib et share ? Et comment faire (proprement) pour les mises à jour futures ? J'ai donc extrait le contenu de l'archive dans C:\opt\gnutls et ajouté C:\opt\gnutls\bin à la variable PATH de Windows. Pour tester le chemin, j'ai ouvert un console Windows (avec cmd.exe) puis entré PATH : le chemin inclu cet ajout. Deuxième contrôle, entrer certtool.exe -h | more à l'invite. et obtenir le texte help de ce programme qui est dans C:\opt\gnutls\bin montrant que le chemin est bien résolu par Windows. C'est bon.

Maintenant, lancement de emacs.

Premier contrôle (après un peu de lecture du GNU Emacs Lisp Reference Manual concernant System Interfaces, M-x getenv PATH pour vérifier que emacs a bien conservé mon chemin système : oui, c'est bon.

Deuxième contrôle (après consultation de quelques textes d'autres utilisateurs) : évaluer gnutls-available-p dans le buffer Scratch (interactif) ⇒ nil. Pas bon. Pour en être sûr, j'ai tenté à nouveau d'envoyer un courriel, et emacs s'est bloqué. Vraiment pas bon.

Lisant plus loin dans le manuel, rubrique Variable: dynamic-library-alist, je constate que pour mon emacs,

dynamic-library-alist =>
((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll")
 (png "libpng16.dll" "libpng16-16.dll")
 (tiff "libtiff-5.dll" "libtiff3.dll" "libtiff.dll")
 (jpeg "libjpeg-9.dll")
 (gif "libgif-7.dll") 
 (svg "librsvg-2-2.dll")
 (gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
 (glib "libglib-2.0-0.dll")
 (gobject "libgobject-2.0-0.dll")
 (gnutls "libgnutls-28.dll" "libgnutls-26.dll")
 (libxml2 "libxml2-2.dll" "libxml2.dll")
 (zlib "zlib1.dll" "libz-1.dll"))

emacs-24.5.1-mingw32 aurait donc besoin de libgnutls-28.dll ou libgnutls-26.dll, tandis que la version actuellement disponible de gnutls contient libgnutls-30.dll. Problème de configuration, comment faire ? Puis-je ajouter “libgnutls-30.dll” à la liste ? J'ai posé la question ; la réponse me conseillait de consulter la liste help-emacs-windows@gnu.org. Là, une recherche dans les archives pour gnutls à rendu 98 réponses, dont une récente qui me parait particulièrement utile : Re: [h-e-w] bug#10612: GnuTLS bundled with the windows Emacs binaries qui indique l'existence d'une version récente de emacs pour Windows 64 bit à http://emacsbinw64.sourceforge.net/. Je vais l'essayer ; à suivre.

emacs-w64 25.0.2.92.02

Suite sur une nouvelle page.


 
emacs/install_on_win10.txt · Dernière modification: 2016/03/19 13:27 par suitable