Stephen Leake <stephen_le...@stephe-leake.org> writes: > Jason Lewis <jasonble...@gmail.com> writes: >> >> I have tried adding a path to them in my init.el with: >> >> (setenv "PATH" (concat "C:/Program Files (x86)/gnutls/bin/;" (getenv >> "PATH"))) >> (setenv "PATH" (concat "C:/Program Files (x86)/gnutls/lib/;" (getenv >> "PATH"))) > > "during startup" is a little fuzzy; if Emacs is looking for gnutls > before processing init.el, then this PATH change won't have an effect.
The DLL load path is set very early in the startup sequence of Windows programs AFAIK, so I wouldn't expect anything in .emacs to affect it. It needs to be set outside of Emacs, either by setting PATH system-wide, or by adding a DllPath for emacs.exe in the registry (I forget the details of how this is done, Lennart Borgman introduced the idea to me some years ago, and I think addpm.c might do this for some of the GTK image libraries). >> I also tried putting the files in the lib directory in the same >> directory as emacs.exe > > This is unclear. If emacs.exe is in > > c:/stuff/emacs-24/bin/emacs.exe > > this seems to say you put gnutls.dll in > > c:/stuff/emacs-24/lib/gnutls.dll I took it to mean something else (the .a or .lib files from gnutls/lib being put into emacs/bin), which will also be ineffective. What is needed is to put the DLL files from gnutls/bin into emacs/bin if you want to get this working without messing with PATH. > but that only helps if emacs-24/bin is in your PATH before emacs starts; > it does not need to be to start emacs. The directory in which an .exe resides is first in the DLL load path by default, regardless of whether it is in your PATH.