Hello,
Thanks a lot, that looks promising!
You probably refer to threads
erlydtl compile errors on Windowshttps://groups.google.com/forum/?utm_medium=email&utm_source=footer#!searchin/chicagoboss/merl/chicagoboss/U55hGXASLK0/Ykqx-X3W2ssJand
Problems building 0.8.12 on Windowshttps://groups.google.com/forum/?utm_medium=email&utm_source=footer#!searchin/chicagoboss/merl/chicagoboss/iCypwOCBX6I/vgEFxnYxZnoJLooking at C:\xampp\cb_tutorial\deps\xxx\ebin, there are *.beam everywhere except in erlydtl, dynamic_compile, gen_smtp, iso8601, jaderl, lfe, merl, simple_bridge.
I now observe that the error is shown after
==> erlydtl (compile)
So this seems to be the problem, and the solution seems to be shown in
Installation error on Windows 8.1 #453 https://github.com/ChicagoBoss/ChicagoBoss/issues/453which also explains where this make command comes from and why I didn't find it.
But unfortunately this doesn't do the trick for me -- or am I doing something wrong?
Supposedly the variable $REBAR_DEPS_DIR or rather %REBAR_DEPS_DIR% in the rebar.config file is not set. Well, I learned from LYSE that dializer needs HOME to be set, which was easy enough to do, but this didn't do the trick here:
set REBAR_DEPS_DIR=C:\xampp\ChicagoBoss\depsor
set REBAR_DEPS_DIR=C:/xampp/ChicagoBoss/deps(doesn't work either way)
start-server.bat:
WARN: Expected c:/xampp/ChicagoBoss/deps/boss to be an app dir (containing ebin/*.app), but no .app found.
==> cb_tutorial (get-deps)
WARN: Expected c:/xampp/ChicagoBoss/deps/boss to be an app dir (containing ebin/*.app), but no .app found.
Pulling boss from {git,"git://github.com/ChicagoBoss/ChicagoBoss.git",
{tag,"v0.8.13"}}
Cloning into 'boss'...
==> goldrush (get-deps)
....
==> erlydtl (pre_compile)
==> erlydtl (compile)
Der Befehl "make" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Looking at
rebar.config
{"win32", compile, "make -C \"%REBAR_DEPS_DIR%/merl\" all -W test"},
{"win32", eunit, "make -C \"%REBAR_DEPS_DIR%/merl\" test"}
I am on a 64-bit machine...
1)
{"win64", compile, "make -C \"%REBAR_DEPS_DIR%/merl\" all -W test"},
{"win64", eunit, "make -C \"%REBAR_DEPS_DIR%/merl\" test"}
or
2)
{"win", compile, "make -C \"%REBAR_DEPS_DIR%/merl\" all -W test"},
{"win", eunit, "make -C \"%REBAR_DEPS_DIR%/merl\" test"}
delivers the same thing, except the additional error messages new to the last one are gone.
finally
3)
{"win", compile, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" all -W test"},
{"win", eunit, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" test"}
as advised in the git-thread.
I'm sorry, nothing works.
Now I finally tried this:
4)
%{pre_hooks,
% [{"(linux|darwin|solaris)", compile, "make -C \"$REBAR_DEPS_DIR/merl\" all -W test"},
% {"(freebsd|netbsd|openbsd)", compile, "gmake -C \"$REBAR_DEPS_DIR/merl\" all"},
% {"win", compile, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" all -W test"},
% {eunit,
% "erlc -I include/erlydtl_preparser.hrl -o test"
% " test/erlydtl_extension_testparser.yrl"},
% {"(linux|darwin|solaris)", eunit, "make -C \"$REBAR_DEPS_DIR/merl\" test"},
% {"(freebsd|netbsd|openbsd)", eunit, "gmake -C \"$REBAR_DEPS_DIR/merl\" test"},
% {"win", eunit, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" test"}
% ]}.
And again no success. What's this? I manipulated
C:\xampp\cb_tutorial\deps\erlmc\rebar.config
But maybe I should manipulate
C:\xampp\ChicagoBoss\deps\erlydtl\rebar.config
No success with 3).
Another try with 4), and here we get something different:
C:\xampp\cb_tutorial>start-server.bat > ss10.log
ERROR: compile failed while processing c:/xampp/ChicagoBoss/deps/erlydtl: rebar_abort
The log:
Compiled src/erlydtl.erl
Compiled src/erlydtl_filters.erl
Compiling c:/xampp/ChicagoBoss/deps/erlydtl/src/erlydtl_beam_compiler.erl failed:
c:/xampp/ChicagoBoss/deps/erlydtl/src/erlydtl_beam_compiler.erl:none: undefined parse transform 'merl_transform'
Try 3)
Nope.
Try 1)
Same as 4).
Now I noticed that in the above mentioned git-thread there is no line referring to Windows, and they achieved their results replacing the variables in the lines addressing *nix systems, so I tried this as well:
{pre_hooks,
[{"(linux|darwin|solaris)", compile, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" all -W test"},
{"(freebsd|netbsd|openbsd)", compile, "gmake -C \"C:/xampp/ChicagoBoss/deps/merl\" all"},
{"win32", compile, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" all -W test"},
{eunit,
"erlc -I include/erlydtl_preparser.hrl -o test"
" test/erlydtl_extension_testparser.yrl"},
{"(linux|darwin|solaris)", eunit, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" test"},
{"(freebsd|netbsd|openbsd)", eunit, "gmake -C \"C:/xampp/ChicagoBoss/deps/merl\" test"},
{"win32", eunit, "make -C \"C:/xampp/ChicagoBoss/deps/merl\" test"}
]}.
Same result:
==> erlydtl (pre_compile)
==> erlydtl (compile)
Der Befehl "make" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Taking the other advice, replacing the offending path instructions just by .., doesn't work either.
Now this looks like a dead dragon has grown new heads. Where is the sword to kill this dragon once more?
-Karl