Erlang - mwicat/personal GitHub Wiki

Erlang startup

~/.erlang

erlang
%toolbar:start(),
code:load_abs(os:getenv("HOME") ++ "/erl/user_default").

Debian build deps

sudo apt-get install build-essential wx-common wx2.8-headers libwxgtk2.8-dev unixodbc-dev libncurses-dev fop freeglut3-dev flex bison perl5 libsctp-dev libssl-dev

Install libssl-dev or else loading module crypto will fail!

From source

cd ~/bin
wget https://github.com/downloads/basho/rebar/rebar
chmod a+x rebar
cd ~/src
git clone https://github.com/spawngrid/kerl.git
sudo apt-get build-dep erlang

For R14B02:

KERL_CONFIGURE_OPTIONS="—enable-dynamic-ssl-lib" ./kerl build R14B02 r14b02

For R14B04:

cd kerl
cp kerl ~/bin
kerl build R14B04 r14b04
mkdir ~/erl
cd ~/erl
kerl install r14b04 r14b04

Installing agner

Agner included in erlang r14b04 is broken, better check out from git but release - not HEAD

git clone https://github.com/agner/agner.git
git checkout v0.4.17

Activate R14B04:

. ~/erl/r14b04/activate

Installing modules in global mode

Get library dir with code:lib_dir()

rsync -avz ebin/ LIB_DIR/mymodule-0.1/

eg.

rsync -avz ebin/ ~/erl/r14b04-mwicat/lib/mymodule-0.1/

Mnesia

Open DB

-s mnesia -mnesia dir '"MNESIA_DIR"'

Select all rows

mnesia:sync_dirty(fun()-> qlc:e(mnesia:table(session)) end).