2010-05-14 3 views
5

Erlang était déjà installé:Comment installer LFE sur Ubuntu Karmic?

$dpkg -l|grep erlang 
ii erlang       1:13.b.3-dfsg-2ubuntu2   Concurrent, real-time, distributed function 
ii erlang-appmon     1:13.b.3-dfsg-2ubuntu2   Erlang/OTP application monitor 
ii erlang-asn1      1:13.b.3-dfsg-2ubuntu2   Erlang/OTP modules for ASN.1 support 
ii erlang-base      1:13.b.3-dfsg-2ubuntu2   Erlang/OTP virtual machine and base applica 
ii erlang-common-test    1:13.b.3-dfsg-2ubuntu2   Erlang/OTP application for automated testin 
ii erlang-debugger     1:13.b.3-dfsg-2ubuntu2   Erlang/OTP application for debugging and te 
ii erlang-dev      1:13.b.3-dfsg-2ubuntu2   Erlang/OTP development libraries and header 
[... many more] 

Erlang semble fonctionner:

$ erl 
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false] 

Eshell V5.7.4 (abort with ^G) 
1> 

J'ai téléchargé LFE github et vérifié 0.5.2:

git clone http://github.com/rvirding/lfe.git 
cd lfe 
git checkout -b local0.5.2 e207eb2cad 

$ configure 
configure: command not found 

$ make 
mkdir -p ebin 
erlc -I include -o ebin -W0 -Ddebug +debug_info src/*.erl 
#erl -I -pa ebin -noshell -eval -noshell -run edoc file src/leex.erl -run init stop 
#erl -I -pa ebin -noshell -eval -noshell -run edoc_run application "'Leex'" '"."' '[no_packages]' 
#mv src/*.html doc/ 

doit être quelque chose que je stupide manqué: o

$ sudo make install 
make: *** No rule to make target `install'. Stop. 

$ erl -noshell -noinput -s lfe_boot start 
{"init terminating in do_boot",{undef,[{lfe_boot,start,[]},{init,start_it,1},{init,start_em,1}]}} 

Crash dump was written to: erl_crash.dump 
init terminating in do_boot() 

Existe-t-il un exemple de comment créer un fichier source hello world et le compiler et l'exécuter?

Répondre

7

Non, il n'y a rien que vous avez manqué. Le Makefile dans LFE est "moins que parfait" et devrait être ignoré, il sera amélioré dans la prochaine version. Pour compenser tous les fichiers nécessaires ont déjà été compilés et les fichiers .beam sont dans le répertoire ebin. Comme il ne fait pas partie d'OTP, je ne pense pas qu'il devrait y être installé.

La manière la plus simple de gérer ceci pour créer un répertoire de bibliothèque erlang privé et pointer vers lui la variable d'environnement ERL_LIBS. Ensuite, déposez tout le répertoire LFE là-bas. Lorsque erlang démarre, le serveur de code ajoutera automatiquement les répertoires lfe/ebin dans le chemin et les fichiers .beam seront automatiquement trouvés et chargés. Cela fonctionnera avec n'importe quel paquet qui contient un répertoire ebin. Cela fonctionne aussi sur Windows. Alors:

  1. Faire un répertoire libs, disent ~/erlang/lib
  2. la variable d'environnement ERL_LIBS, export ERL_LIBS=~/erlang/lib
  3. Mettre le répertoire entier LFE il

Lorsque vous commencez à vous Erlang verrez alors /Users/rv/erlang/lib/lfe/ebin (ou partout où vous l'avez) dans le chemin du code (code:get_path()). Vous serez alors également en mesure de démarrer le shell LFE directement avec

erl -noshell -noinput -s lfe_boot start 

Il y aura un lfe et un lfe.bat qui fait cela inclus aussi bien dans l'avenir.

Comme avec erlang tout éditeur de texte travaillera pour éditer LFE. Pour Emacs, il existe un mode LFE qui est encore basique mais qui fonctionne. Vous ne pouvez pas encore lancer LFE dans une fenêtre. Bientôt. La meilleure façon d'inclure c'est de mettre les éléments suivants dans votre fichier .emacs:

;; LFE mode. 
(setq load-path (cons "/Users/rv/erlang/lib/lfe/emacs" load-path)) 
(require 'lfe-start) 

Il y a quelques fichiers par exemple dans lfe/examples, tout devrait fonctionner. Dans lfe/test/visual il y a un tas de mes fichiers de test qui ont été inclus en tant que fichiers d'exemple. Pour compiler un fichier LFE à partir du shell Erlang normale ne

lfe_comp:file("foo"). 
l(foo).     %No autloload here, do this to ensure loading 

tout de la coquille LFE faire:

(c '"foo")    ;This will autoload 

Il y a un tas de documentation lfe/docs qui est tout à fait exact, mais les user_guide.txt a besoin d'être élargi.Il y a aussi un groupe Google pour LFE à

http://groups.google.se/group/lisp-flavoured-erlang 

qui contient des discussions intéressantes et les gens ont beaucoup écrit dans le wiki github LFE.

C'est à peu près tout. contactez-moi si/quand vous avez d'autres questions.

+0

Merci beaucoup de m'avoir guidé. - Karlthorwald - aka – user89021

Questions connexes