lfe-deprecated / lfetool

DEPRECATED - See:
https://github.com/lfe-rebar3/
Other
61 stars 19 forks source link

Unable to start a repl using lfetool or make commands. #161

Open iambumblehead opened 9 years ago

iambumblehead commented 9 years ago

Unable to start a repl using lfetool or make commands. What I see:

~/Software/my-test-lib$ lfetool -v
1.4.0
~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to
be executed in its uncompressed form. For your convenience,
the script has just been uncompressed. Please re-execute
the same command to start the REPL.
~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to
be executed in its uncompressed form. For your convenience,
the script has just been uncompressed. Please re-execute
the same command to start the REPL.
~/Software/my-test-lib$ make shell
Getting dependencies ...
==> lfe (get-deps)
==> ltest (get-deps)
==> lutil (get-deps)
==> my-test-lib (get-deps)
Cleaning ebin dir ...
Compiling project code and dependencies ...
==> lfe (compile)
==> ltest (compile)
==> lutil (compile)
==> my-test-lib (compile)
Compiled src/my-test-lib.lfe
Compiled src/my-test-lib-util.lfe

Starting an Erlang shell ...
Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.0  (abort with ^G)
1> (+ 1 1)
1> .
* 1: syntax error before: 1
1> ItIsErlang = true.
true
2> q().
ok
3> ~/Software/my-test-lib$ 
oubiwann commented 9 years ago

Hrm. What happens when you execute lfetool -x and then re-run lfetool repl?

On Sat, Jan 17, 2015 at 9:59 PM, iambumblehead notifications@github.com wrote:

Unable to start a repl using lfetool or make commands. What I see:

~/Software/my-test-lib$ lfetool -v 1.4.0 ~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to be executed in its uncompressed form. For your convenience, the script has just been uncompressed. Please re-execute the same command to start the REPL. ~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to be executed in its uncompressed form. For your convenience, the script has just been uncompressed. Please re-execute the same command to start the REPL. ~/Software/my-test-lib$ make shell Getting dependencies ... ==> lfe (get-deps) ==> ltest (get-deps) ==> lutil (get-deps) ==> my-test-lib (get-deps) Cleaning ebin dir ... Compiling project code and dependencies ... ==> lfe (compile) ==> ltest (compile) ==> lutil (compile) ==> my-test-lib (compile) Compiled src/my-test-lib.lfe Compiled src/my-test-lib-util.lfe [3;J Starting an Erlang shell ... Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.0 (abort with ^G) 1> (+ 1 1) 1> .

  • 1: syntax error before: 1 1> ItIsErlang = true. true 2> q(). ok 3> ~/Software/my-test-lib$

— Reply to this email directly or view it on GitHub https://github.com/lfe/lfetool/issues/161.

oubiwann commented 9 years ago

FYI: note that make repl will (should...) start up the LFE REPL and make shell will start up the Erlang shell.

On Sat, Jan 17, 2015 at 9:59 PM, iambumblehead notifications@github.com wrote:

Unable to start a repl using lfetool or make commands. What I see:

~/Software/my-test-lib$ lfetool -v 1.4.0 ~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to be executed in its uncompressed form. For your convenience, the script has just been uncompressed. Please re-execute the same command to start the REPL. ~/Software/my-test-lib$ lfetool repl

In order to run the LFE REPL from this script, it has to be executed in its uncompressed form. For your convenience, the script has just been uncompressed. Please re-execute the same command to start the REPL. ~/Software/my-test-lib$ make shell Getting dependencies ... ==> lfe (get-deps) ==> ltest (get-deps) ==> lutil (get-deps) ==> my-test-lib (get-deps) Cleaning ebin dir ... Compiling project code and dependencies ... ==> lfe (compile) ==> ltest (compile) ==> lutil (compile) ==> my-test-lib (compile) Compiled src/my-test-lib.lfe Compiled src/my-test-lib-util.lfe [3;J Starting an Erlang shell ... Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.0 (abort with ^G) 1> (+ 1 1) 1> .

  • 1: syntax error before: 1 1> ItIsErlang = true. true 2> q(). ok 3> ~/Software/my-test-lib$

— Reply to this email directly or view it on GitHub https://github.com/lfe/lfetool/issues/161.

iambumblehead commented 9 years ago

Thanks. That's the trick. To setup lfetool I followed this: https://github.com/lfe/lfetool#stable

Should we close the issue?

3> ~/Software/my-test-lib$ lfetool -x

Extracting file ...
mv: replace ‘/usr/local/bin/lfetool’, overriding mode 0755 (rwxr-xr-x)? Yes
mv: cannot move ‘/tmp/20151701201956_lfetool’ to ‘/usr/local/bin/lfetool’: Permission denied
Done.
~/Software/my-test-lib$ sudo lfetool -x
[sudo] password for duko: 

Extracting file ...
Done.
~/Software/my-test-lib$ lfetool repl
Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

LFE Shell V6.0 (abort with ^G)
> (+ 2 2)
4
> 
oubiwann commented 9 years ago

Hrm. This keeps biting people ... I think some part of lfetool Bash support broke a tiny bit a while ago: its supposed to run lfetool -x for you when you try to use the REPL for the first time, so that when you run it again, it has extracted itself and just works. But, as we can see, it's not (for everyone, anyway).

So I think that I'll just change it to extract itself upon install, end of story. It's mostly to save space on github in the repo, really.

Long story short: let's keep this ticket open for now, and I'll close it when I've updated lfetool to self-extract upon download/install.

Thanks for the feedback!

oubiwann commented 9 years ago

3> ~/Software/my-test-lib$ lfetool -x

Extracting file ... mv: replace ‘/usr/local/bin/lfetool’, overriding mode 0755 (rwxr-xr-x)? Yes mv: cannot move ‘/tmp/20151701201956_lfetool’ to ‘/usr/local/bin/lfetool’: Permission denied Done. ~/Software/my-test-lib$ sudo lfetool -x [sudo] password for duko:

Extracting file ... Done. ~/Software/my-test-lib$ lfetool repl Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

LFE Shell V6.0 (abort with ^G)

(+ 2 2) 4

Ohhhh, that's what I think is happening: some people aren't sudo chown'ing lfetool after install, so it can't self-extract.

I'll go ahead and fix it to self-extract, but also update the instructions to basically say: "always install with sudo and always chown to $USER" ... then we should have more consistency across the community (and with bug reports).

Thanks again :-)