Re: [Erlangweb-users] Odp: getting erlang-web running on ubuntu-server
Brought to you by:
etcerlangweb,
paulgray
From: <pr...@do...> - 2008-11-16 21:38:19
|
Michal Ptaszek <mic...@er...> writes: > It seems to be a known bug (discovered by Paul Bernard) with building the project only from the current working directory. > The workaround (for now) is to run all the bin/start commands from the directory where you have the sources. > > In your case you should download the Erlang Web tarball and then: > tar -xzf erlangweb-1.1.1.tar.gz > cd erlangweb-1.1.1 > erl -make > bin/start.erl > bin/start interactive There is an easy workaround so you can start with an empty directory. I'm quoting from memory and not tested the following exactly so watch for typos and oversights on my part. I've done it a few times now. A patch is included below: mkdir <originaldir> tar -xzf erlangweb-1.1.1.tar.gz cd erlangweb-1.1.1 patch -p 1 <patchfile erl -make mkdir <otherdir> cd <otherdir> export ERL_LIBS=<originaldir>/erlangweb-1.1.1/lib <originaldir>/erlangweb-1.1.1/bin/start.erl cp -a <originaldir>/erlangweb-1.1.1/lib/yaws-1.73/include <otherdir>/lib/yaws-1.73 Now it *should* start. I've not personally used the "bin/start interactive" version. I just "bin/start;sleep 2;bin/start connect", I have no reason other than habit. Patch: --------------------------------------------------------------------------- diff --git a/bin/start.erl b/bin/start.erl index 74e8b45..a493002 100755 --- a/bin/start.erl +++ b/bin/start.erl @@ -186,7 +186,7 @@ create_start_scripts({Version, Path}) -> "export PROGNAME\n" "export RELDIR\n\n" - "exec $BINDIR/erlexec -boot $RELDIR/$VSN/start -config $RELDIR/$VSN/sys -heart -env HEART_BEAT_TIMEOUT 30 -pa patches +K true -sname $HOSTNAME -smp enable +P 262140 ${1+\"$@\"}\n", + "exec $BINDIR/erlexec -boot $RELDIR/$VSN/start -config $RELDIR/$VSN/sys -heart -env HEART_BEAT_TIMEOUT 30 -pa patches +K true -sname $HOSTNAME -smp auto +P 262140 ${1+\"$@\"}\n", FileName2 = filename:join("bin", "start_erl"), create_script(FileName2, FileContent2). @@ -343,7 +343,7 @@ generate_boot_file() -> erl_tar:extract("releases/0.1/start.tar.gz", [keep_old_files, compressed]). create_sys_config_file() -> - YawsConfig = "config/yaws.config", + YawsConfig = "config/yaws.conf", file:copy(code:priv_dir(yaws) ++ "/yaws.conf", YawsConfig), confirm_created(YawsConfig), --------------------------------------------------------------------------- I have to do the first one because my erlang has been compiled with SMP disabled. The second one fixes a typo. The script should almost certainly copy yaws' include directory. I did so and then backed off and lost it. I just do it by hand for now. - paul |