[[PageOutline]] = Installing !RefactorErl This page guides you in installing !RefactorErl. == Dependencies of the latest release The following list enumerates required software. ==== Base system * Erlang R14B04 or higher ([http://www.erlang.org/doc/installation_guide/users_guide.html How to install Erlang]) * If using the [WebInterface web interface], please check yaws-specific version requirements * GCC 4.2 or higher (for the graph based NIF back-end) * graphviz 2.0 or higher (for graph drawing and dependency visualization) {{{#!comment What version do we depend on, actually? }}} ==== WebInterface * Server side: Yaws 1.89 or above ([http://yaws.hyber.org/configuration.yaws How to install Yaws]) * Client side: Mozilla Firefox 3.6 or higher / Google Chrome ==== EmacsInterface * Emacs 23.3 or higher - with [http://www.erlang.org/doc/apps/tools/erlang_mode_chapter.html erlang-mode] and widgets ([http://www.gnu.org/software/emacs/emacs-faq.html#Installing-Emacs How to install Emacs]) {{{#!comment ==== EclipseInterface * Eclipse (TODO) }}} ==== VimInterface * Vim 7.2 or higher == Installing the tool itself You can download the latest release from the [http://plc.inf.elte.hu/erlang/dl/ RefactorErl download page] in zipped or gzipped tar format. Please note version-specific dependencies and release-specific announcements. After unpacking the downloaded archive you can use standard make to compile all the application components; after compilation the tool is ready to use. See StartUp for help on the first steps with the tool. = Step-by-step tutorial: local install instructions on Linux You can install !RefactorErl on a system where you do not own admin rights. Follow the instructions below. You need some packages to be installed by the admin, but they likely can be found on almost all Linux systems. These are: * gcc (>= 4.5) * make * tar * bash * m4 * ncurses * libpam-dev (for yaws) * openssl (for yaws) * wx (optional) We assume you would like to install the tool into a local root (e.g. /home/user/local). Modify the following path to your one: {{{ export REFERL_ROOT=/path/to/localroot }}} The local "ghost" user will be 'referl' by default. Feel free to modify it. {{{ export REFERL_GHOST_USER=referl }}} Run the next command in order to initialize the directory layout. {{{ mkdir -p $REFERL_ROOT/home/$REFERL_GHOST_USER }}} If you have not installed Erlang yet, run the following commands to install Erlang/OTP R14B04: {{{ cd $REFERL_ROOT/home/$REFERL_GHOST_USER wget www.erlang.org/download/otp_src_R14B04.tar.gz tar xvvf otp_src_R14B04.tar.gz cd otp_src_R14B04 ./configure --prefix=$REFERL_ROOT make make install cd .. rm otp_src_R14B04.tar.gz }}} To install !RefactorErl: {{{ cd $REFERL_ROOT/home/$REFERL_GHOST_USER wget http://plc.inf.elte.hu/erlang/dl/refactorerl-0.9.12.01.tar.gz tar xvvf refactorerl-0.9.12.01.tar.gz cd refactorerl-0.9.12.01 bin/referl -erl $REFERL_ROOT/bin/erl -build tool cd .. rm refactorerl-0.9.12.01.tar.gz }}} Now you should be able to use your !RefactorErl installation. If you would like to use the web based interface of the tool, you have to install the proper version (1.89) of Yaws. {{{ cd $REFERL_ROOT/home/$REFERL_GHOST_USER wget http://yaws.hyber.org/download/yaws-1.89.tar.gz tar xvvf yaws-1.89.tar.gz cd yaws export ERL=$REFERL_ROOT/bin/erl export ERLC=$REFERL_ROOT/bin/erlc ./configure --prefix=$REFERL_ROOT --localstatedir=$REFERL_ROOT/var --sysconfdir=$REFERL_ROOT/etc make make install cd .. rm yaws-1.89.tar.gz }}} To run the tool, execute the following commands: {{{ cd $REFERL_ROOT/home/$REFERL_GHOST_USER/refactorerl-0.9.12.01 bin/referl -erl $REFERL_ROOT/bin/erl -db nif }}} If you have successfully installed yaws, you can start the nitrogen-based web UI with the following function call (mind to change the 'yaws_path'): {{{ ri:start_nitrogen([{yaws_path, "/path/to/localroot/lib/yaws/ebin/"}]). }}}