Can install manually, but not with recipe
lispstudent opened this issue · 3 comments
I am able to use complex recipes, like org-mode
.
But with some, I am experiencing the following behavior (as an example, 'bbdb'):
Executing this:
(defconst el-get-sources
'((:name bbdb)))
(el-get 'sync (mapcar #'el-get-source-name el-get-sources))
I get error:
'.' is not recognized as an internal or external command,
operable program or batch file.
And see this in the backtrace:
Debugger entered--Lisp error: (error "el-get: ./autogen.sh el-get could not build bbdb [./autogen.sh]")
signal(error ("el-get: ./autogen.sh el-get could not build bbdb [./autogen.sh]"))
error("el-get: %s %s" "./autogen.sh" "el-get could not build bbdb [./autogen.sh]")
[...]
But if I run this elisp snippet, autogen.sh
and ./configure
run just fine:
(let
((default-directory "c:/home/.config/emacs/el-get/bbdb/"))
(shell-command "./autogen.sh")
(shell-command "./configure" ))
This is with latest el-get on Emacs 27.1 running from Windows 10 with MSYS2 as shell.
(setq explicit-shell-file-name "C:/msys64/usr/bin/sh.exe")
(setq shell-file-name "sh.exe")
Could somebody please give me some pointers on how to fix this?
It seems Emacs can find the shell and all the commands, including make
, etc, but not if executed directly.
I also tried @npostavs suggestion given here, to no avail.
In my case,
(add-to-list 'exec-path "c:/msys64/usr/bin")
(setenv "PATH" (mapconcat #'identity exec-path path-separator))
I was able to have BBDB recipe work within Windows + MSYS2 by adding this line to it:
:build/windows-nt (("sh" "autogen.sh") ("sh" "configure") ("make"))
The whole recipe would be:
(:name bbdb
:website "http://bbdb.sourceforge.net/"
:description "The Insidious Big Brother Database (BBDB) is a contact management utility."
:type git
:url "https://git.savannah.nongnu.org/git/bbdb.git"
:load-path ("./lisp")
;; if using vm, add `--with-vm-dir=DIR' after ./configure
:build `(("./autogen.sh") ("./configure") ("make"))
:build/windows-nt (("sh" "autogen.sh") ("sh" "configure") ("make"))
:features bbdb-loaddefs
:autoloads nil
:info "doc")
Would this be the canonical way to fix such issues?
Would it be fine to submit PRs for such cases?
Thanks for merging! 👍