marianoguerra / efene

OFICIAL REPO IS AT https://github.com/efene/efene
https://github.com/efene/efene
Other
145 stars 32 forks source link

does shell work? #33

Closed yrashk closed 13 years ago

yrashk commented 13 years ago
$ ./bin/fnc -s
>>> 1
exception throw: undef
  in function  fio:println/1
     called as fio:println(1)
yrashk commented 13 years ago

from what I can see this is happening becase fnc expects ebin/ to contain all the beams, but standard efene library beams seem to remain in lib/

marianoguerra commented 13 years ago

how did you compiled efene?

yrashk commented 13 years ago

./build.sh

marianoguerra commented 13 years ago

there are several build.sh, can you run the build.sh script at efene/build.sh?

I think you ran efene/src/build.sh

let me know if it works after that change

yrashk commented 13 years ago

top level one, efene/build.sh

marianoguerra commented 13 years ago

just checked out the repo compiled everything and it worked.

can you paste the output of the build process starting with a clean repo?

yrashk commented 13 years ago

Absolutely.

$ agner build efene
remote: Counting objects: 3201, done.
remote: Compressing objects: 100% (1195/1195), done.
remote: Total 3201 (delta 2055), reused 3052 (delta 1956)
Receiving objects: 100% (3201/3201), 4.68 MiB | 617 KiB/s, done.
Resolving deltas: 100% (2055/2055), done.
[Building...]
Submodule 'lib/thirdparty/ibrowse' (git://github.com/cmullaparthi/ibrowse.git) registered for path 'lib/thirdparty/ibrowse'
Submodule 'lib/thirdparty/mochiweb' (git://github.com/mochi/mochiweb.git) registered for path 'lib/thirdparty/mochiweb'
Submodule 'lib/thirdparty/simple_bridge' (git://github.com/nitrogen/simple_bridge.git) registered for path 'lib/thirdparty/simple_bridge'
Cloning into lib/thirdparty/ibrowse...
Submodule path 'lib/thirdparty/ibrowse': checked out '7958fc2f6b141759c5a046bbf7fa647e1ca115cc'
Cloning into lib/thirdparty/mochiweb...
Submodule path 'lib/thirdparty/mochiweb': checked out 'ff2cdc9b05aa93022f19b0562f99dffc44ff40ed'
Cloning into lib/thirdparty/simple_bridge...
Submodule path 'lib/thirdparty/simple_bridge': checked out '5330631c39077518c2c1271719818c1f448849ac'
gcc  -Wall   -c -o fnc.o fnc.c
gcc    fnc.o   -o fnc
mv fnc ../bin/fnc
Compiling spec.ifn
Compiling type.ifn
Compiling rec.ifn
Compiling ast.ifn
Compiling dct.ifn
Compiling fio.ifn
Compiling lst.ifn
Compiling mod.ifn
Compiling rec.ifn
Compiling rest.ifn
Compiling schema.ifn
Compiling spec.ifn
Compiling struct.ifn
Compiling type.ifn
(cd src ; make)
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_http_client.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_app.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_sup.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_lib.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_lb.erl
erlc -W +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -I./  -o ../ebin ibrowse_test.erl
(cd src;make all)
erlc -W -I ../include  +debug_info -o ../ebin mochifmt.erl
erlc -W -I ../include  +debug_info -o ../ebin mochifmt_records.erl
erlc -W -I ../include  +debug_info -o ../ebin mochifmt_std.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiglobal.erl
erlc -W -I ../include  +debug_info -o ../ebin mochihex.erl
erlc -W -I ../include  +debug_info -o ../ebin mochijson.erl
erlc -W -I ../include  +debug_info -o ../ebin mochijson2.erl
erlc -W -I ../include  +debug_info -o ../ebin mochilists.erl
erlc -W -I ../include  +debug_info -o ../ebin mochilogfile2.erl
erlc -W -I ../include  +debug_info -o ../ebin mochinum.erl
erlc -W -I ../include  +debug_info -o ../ebin mochitemp.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiutf8.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_acceptor.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_app.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_charref.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_cookies.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_cover.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_echo.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_headers.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_html.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_http.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_io.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_mime.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_multipart.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_request.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_response.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_skel.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_socket.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_socket_server.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_sup.erl
erlc -W -I ../include  +debug_info -o ../ebin mochiweb_util.erl
erlc -W -I ../include  +debug_info -o ../ebin reloader.erl
../support/makeapp.escript mochiweb.app.src ../ebin/mochiweb.app  "mochifmt mochifmt_records mochifmt_std mochiglobal mochihex mochijson mochijson2 mochilists mochilogfile2 mochinum mochitemp mochiutf8 mochiweb mochiweb_acceptor mochiweb_app mochiweb_charref mochiweb_cookies mochiweb_cover mochiweb_echo mochiweb_headers mochiweb_html mochiweb_http mochiweb_io mochiweb_mime mochiweb_multipart mochiweb_request mochiweb_response mochiweb_skel mochiweb_socket mochiweb_socket_server mochiweb_sup mochiweb_util reloader"
./rebar compile
==> simple_bridge (compile)
Compiled src/simple_bridge_response.erl
Compiled src/simple_bridge_request.erl
Compiled src/webmachine_bridge_modules/webmachine_response_bridge.erl
Compiled src/yaws_bridge_modules/yaws_response_bridge.erl
Compiled src/webmachine_bridge_modules/webmachine_request_bridge.erl
Compiled src/simple_bridge_response_wrapper.erl
Compiled src/simple_bridge_request_wrapper.erl
Compiled src/yaws_bridge_modules/yaws_request_bridge.erl
Compiled src/simple_bridge.erl
Compiled src/mochiweb_bridge_modules/mochiweb_response_bridge.erl
Compiled src/mochiweb_bridge_modules/mochiweb_request_bridge.erl
Compiled src/misultin_bridge_modules/misultin_response_bridge.erl
Compiled src/misultin_bridge_modules/misultin_request_bridge.erl
Compiled src/inets_bridge_modules/inets_response_bridge.erl
Compiled src/simple_bridge_multipart.erl
Compiled src/inets_bridge_modules/inets_request_bridge.erl
aero:tmp yrashk$ ls efene/ebin/
README                  mochifmt_records.beam           mochiweb_multipart.beam
fn.beam                 mochifmt_std.beam           mochiweb_request.beam
fn_build.beam               mochiglobal.beam            mochiweb_request_bridge.beam
fn_errors.beam              mochihex.beam               mochiweb_response.beam
fn_gen.beam             mochijson.beam              mochiweb_response_bridge.beam
fn_lexer.beam               mochijson2.beam             mochiweb_skel.beam
fn_lexpp.beam               mochilists.beam             mochiweb_socket.beam
fn_meta.beam                mochilogfile2.beam          mochiweb_socket_server.beam
fn_parser.beam              mochinum.beam               mochiweb_sup.beam
fn_pp.beam              mochitemp.beam              mochiweb_util.beam
fn_shell.beam               mochiutf8.beam              reloader.beam
ibrowse.beam                mochiweb.beam               simple_bridge.beam
ibrowse_app.beam            mochiweb_acceptor.beam          simple_bridge_multipart.beam
ibrowse_http_client.beam        mochiweb_app.beam           simple_bridge_request.beam
ibrowse_lb.beam             mochiweb_charref.beam           simple_bridge_request_wrapper.beam
ibrowse_lib.beam            mochiweb_cookies.beam           simple_bridge_response.beam
ibrowse_sup.beam            mochiweb_cover.beam         simple_bridge_response_wrapper.beam
ibrowse_test.beam           mochiweb_echo.beam          webmachine_request_bridge.beam
inets_request_bridge.beam       mochiweb_headers.beam           webmachine_response_bridge.beam
inets_response_bridge.beam      mochiweb_html.beam          yaws_request_bridge.beam
misultin_request_bridge.beam        mochiweb_http.beam          yaws_response_bridge.beam
misultin_response_bridge.beam       mochiweb_io.beam
mochifmt.beam               mochiweb_mime.beam
aero:tmp yrashk$

marianoguerra commented 13 years ago

do you have FNPATH set?

yrashk commented 13 years ago

not before I build stuff

marianoguerra commented 13 years ago

it seems that the lib folder is not built, can you do cd lib && ./build.sh?

I see you used agner, I never used it :)

can you tell me what I need to do to use it?

yrashk commented 13 years ago

actually lib dir gets built – it gets all the beams compiled; so what I do in the agner package is I just copy all beams into ebin

to start using agner, just use this oneliner:

 curl https://github.com/agner/agner/raw/master/scripts/oneliner | sh
marianoguerra commented 13 years ago

when you do

$ ls efene/ebin/

I don't see the modules compiled from lib, that's why I ask.

for some reason the compiled files are not moved to ebin

marianoguerra commented 13 years ago

I think it's fixed, try building efene again

tell me if it worked so I can close this ticket

yrashk commented 13 years ago

Yes, it works now. I've also updated it's agner installation scenario so it doesn't copy beam files over to ebin itself.

marianoguerra commented 13 years ago

thanks!