[erlang-questions] Erlang/OTP interpreter (erl) not found butrequired

Abhishek Ranjan abhishek@REDACTED
Thu May 4 09:06:54 CEST 2017


hi
I have been trying different things regarding this problem and seems like I have solve the problem of
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /bin/sed
checking for erl... no
checking for erlc... no
checking for epmd... no
checking for erl... no
configure: error: Erlang/OTP interpreter (erl) not found but required

and now it worked fine when I execute ./configure command. But I have been following this link for ejabberd's installation:
https://www.aurigait.com/blog/how-to-setup-ejabbered-on-ubuntu

and in here(the link) in the step 4 i have sucessfully gone through the configure command but when I am running make command it breaks like this:

==> fast_xml (compile)
Compiled src/fxml_gen_pt.erl
Compiled src/fxml_sup.erl
Compiled src/fxml.erl
Compiled src/fxml_stream.erl
Compiled src/fxmlrpc.erl
Compiled src/fast_xml.erl
Compiled src/fxmlrpc_codec.erl
Compiled src/fxml_gen.erl
Compiling c_src/fxml.c
Compiling /home/ec2-user/downloads/ejabberd-17.03/ejabberd-17.03/deps/fast_xml/c _src/fxml_stream.c
/home/ec2-user/downloads/ejabberd-17.03/ejabberd-17.03/deps/fast_xml/c_src/fxml_ stream.c:21:19: fatal error: expat.h: No such file or directory
#include <expat.h>
^
compilation terminated.
ERROR: compile failed while processing /home/ec2-user/downloads/ejabberd-17.03/e jabberd-17.03/deps/fast_xml: rebar_abort
make: *** [deps/.built] Error 1

what does it means by fatal error expat.h not found in directory. I was just following the steps then where did it went wrong?

Any Idea?
Please Share.


> On May 4, 2017 at 10:46 AM Abhishek Ranjan <abhishek@REDACTED> wrote:
> 
>     the problem is that not only is it able to find erl and erlc but also empd and other erlang files after i have uninstalled the previous older version of Erlang. It is giving the following errrors:
>     checking whether make sets $(MAKE)... yes
>     checking for a BSD-compatible install... /usr/bin/install -c
>     checking for a sed that does not truncate output... /bin/sed
>     checking for erl... no
>     checking for erlc... no
>     checking for epmd... no
>     checking for erl... no
>     configure: error: Erlang/OTP interpreter (erl) not found but required
> 
>     and If i don't run the maands after sudo su I get the following errors:
>     [ec2-user@REDACTED ejabberd-17.03]$ ./configure
>     ./configure: line 1529: config.log: Permission denied
>     ./configure: line 1539: config.log: Permission denied
> 
>     But I do want do "set ERLC=$(which erlc) and also set ERL=$(which erl"
>     but how can I set them
>     I have used simple-> set erlc=$(which erlc)
>     set erl=$(which erl)
>     But then also on doing ./configure followed by sudo su gives me the same error of
>     configure: error: Erlang/OTP interpreter (erl) not found but required
> 
>     Please suggest some Ideas
> 
> 
>         > > On May 3, 2017 at 7:50 PM Jesper Louis Andersen <jesper.louis.andersen@REDACTED> wrote:
> > 
> >         The ejabberd build script may be a bit weak.
> > 
> >         * try using an explicit path rather than ~/... expand it to /home/ubuntu (or the output of echo ~) in order to make sure you don't get accidentally name expanded as root.
> >         * do not use sudo when building the software. It should build without.
> >         * ./configure --with-erlang=/home/ubuntu/kerl/17.1 or set ERLC=$(which erlc) and also set ERL=$(which erl)
> > 
> >         Configure scripts can *definitely* build without the Erlang being in the default location. It is just a question of coercion.
> > 
> >         On Wed, May 3, 2017 at 3:28 PM Abhishek Ranjan <abhishek@REDACTED mailto:abhishek@REDACTED > wrote:
> > 
> >             > > >             I did an uninstall of the previous version of erlang and the ./configure gave following errors
> > > 
> > >             [ec2-user@REDACTED ejabberd-17.03]$ sudo ./configure
> > > 
> > >             checking whether make sets $(MAKE)... yes
> > >             checking for a BSD-compatible install... /usr/bin/install -c
> > >             checking for a sed that does not truncate output... /bin/sed
> > >             checking for erl... no
> > >             checking for erlc... no
> > >             checking for epmd... no
> > > 
> > >             checking for erl... no
> > >             configure: error: Erlang/OTP interpreter (erl) not found but required
> > > 
> > >             and that is why I was suspecting that whenever I run the ./configure command the script goes to
> > >             /usr/bin
> > >             and search for erl ,erlc....etc
> > >             That is why I asked that is there any way that I can set my erl path to /usr/bin which is currently gives that following path on "which erl"
> > >             ~/kerl/17.1/bin/erl
> > > 
> > >             or should I install erlang again. if so can anyone tell me how to make the erl path specifically such that it points to /usr/bin and still the erlang shell works on typing erl alone?
> > > 
> > > 
> > > 
> > >                 > > > > On May 3, 2017 at 6:25 PM Abhishek Ranjan <abhishek@REDACTED mailto:abhishek@REDACTED > wrote:
> > > > 
> > > >                 No i am still getting the same error and the line
> > > >                 ./configure –bindir=~/home/ec2-user/kerl/17.1/bin
> > > >                 is giving the following error too
> > > > 
> > > >                 [root@REDACTED ejabberd-17.03]# ./configure –Bindir=~/home/ec2-user/kerl/ 17.1/bin
> > > >                 configure: error: invalid variable name: `–Bindir'
> > > > 
> > > >                 Actually it is a amazon aws linux instance and it 's is the only option I have for now.
> > > >                 Any Ideas on how to make it work or any ideas on how to install ejabberd 17.03 or higher in this environment. I have already tried the binary installer and it worked at start but it didn't work on second installation.
> > > >                 http://stackoverflow.com/questions/43754066/issue-with-ejabberds-installation-on-amazon-aws
> > > > 
> > > >                 kindly help.
> > > > 
> > > > 
> > > >                     > > > > > On May 3, 2017 at 5:45 PM Nuku Ameyibor <nayibor@REDACTED mailto:nayibor@REDACTED > wrote:
> > > > > 
> > > > >                     [ec2-user@REDACTED ~]$ export PATH=$PATH: ~/kerl/17.1/bin/erl
> > > > > 
> > > > >                     this line is wrong .it should be 
> > > > >                      export PATH=$PATH: ~/kerl/17.1/bin
> > > > > 
> > > > >                     also in this step 
> > > > >                     [ec2-user@REDACTED ejabberd-17.03]$ ./configure
> > > > >                     it should be 
> > > > >                      ./configure –bindir=~/home/ec2-user/kerl/17.1/bin
> > > > > 
> > > > >                     also i though you were installing on a fedora box ?
> > > > >                     why not try the fedora option for the erlang installation  ? 
> > > > > 
> > > > > 
> > > > > 
> > > > >                     On Wed, May 3, 2017 at 11:35 AM, Abhishek Ranjan <abhishek@REDACTED mailto:abhishek@REDACTED > wrote:
> > > > > 
> > > > >                         > > > > > >                         I actually followed it apart from the export command so after using export path command also the error still pops up that -> configure: error: Erlang/OTP interpreter (erl) not found but required
> > > > > >                         Complete scenario went something like this:
> > > > > > 
> > > > > >                         [ec2-user@REDACTED ~]$ kerl list builds
> > > > > >                         17.1,erlang-17.1
> > > > > >                         17.1,erl
> > > > > >                         [ec2-user@REDACTED ~]$ export PATH=$PATH: ~/kerl/17.1/bin/erl
> > > > > >                         -bash: export: `/home/ec2-user/kerl/17.1/bin/erl': not a valid identifier
> > > > > > 
> > > > > >                         [ec2-user@REDACTED ~]$ export PATH=$PATH:~/home/ec2-user/kerl/17.1/bin/erl
> > > > > >                         [ec2-user@REDACTED ~]$ erl
> > > > > >                         -bash: erl: command not found
> > > > > >                         [ec2-user@REDACTED ~]$ kerl active
> > > > > >                         No Erlang/OTP kerl installation is currently active
> > > > > >                         [ec2-user@REDACTED ~]$ export PATH=$PATH:~/home/ec2-user/kerl/17.1/bin/erl
> > > > > > 
> > > > > > 
> > > > > >                         [ec2-user@REDACTED ~]$ . ~/kerl/17.1/activate
> > > > > >                         [ec2-user@REDACTED ~]$ kerl active
> > > > > >                         The current active installation is:
> > > > > >                         /home/ec2-user/kerl/17.1
> > > > > >                         [ec2-user@REDACTED ~]$ erl
> > > > > >                         Erlang/OTP 17 [erts-6.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
> > > > > > 
> > > > > >                         Eshell V6.1 (abort with ^G)
> > > > > >                         1> q().
> > > > > >                         ok
> > > > > >                         2> [ec2-user@REDACTED ~]$ cd downloads/
> > > > > > 
> > > > > >                         [ec2-user@REDACTED ejabberd-17.03]$ cd ejabberd-17.03/
> > > > > >                         [ec2-user@REDACTED ejabberd-17.03]$ ./configure
> > > > > >                         ./configure: line 1529: config.log: Permission denied
> > > > > >                         ./configure: line 1539: config.log: Permission denied
> > > > > >                         [ec2-user@REDACTED ejabberd-17.03]$ ./autogen.sh
> > > > > >                         autom4te: cannot open autom4te.cache/requests: Permission denied
> > > > > >                         aclocal: error: echo failed with exit status: 1
> > > > > >                         autom4te: cannot open autom4te.cache/requests: Permission denied
> > > > > >                         [ec2-user@REDACTED ejabberd-17.03]$ yum install automake
> > > > > >                         Loaded plugins: priorities, update-motd, upgrade-helper
> > > > > >                         You need to be root to perform this command.
> > > > > >                         [ec2-user@REDACTED ejabberd-17.03]$ sudo su
> > > > > >                         [root@REDACTED ejabberd-17.03]# yum install automake
> > > > > >                         Loaded plugins: priorities, update-motd, upgrade-helper
> > > > > >                         amzn-main | 2.1 kB 00:00
> > > > > >                         amzn-updates | 2.3 kB 00:00
> > > > > >                         Package automake-1.13.4-3.15.amzn1.noarch already installed and latest version
> > > > > >                         Nothing to do
> > > > > >                         [root@REDACTED ejabberd-17.03]# ./autogen.sh
> > > > > >                         [root@REDACTED ejabberd-17.03]# ./configure
> > > > > >                         checking whether make sets $(MAKE)... yes
> > > > > >                         checking for a BSD-compatible install... /usr/bin/install -c
> > > > > >                         checking for a sed that does not truncate output... /bin/sed
> > > > > >                         checking for erl... no
> > > > > >                         checking for erlc... /usr/bin/erlc
> > > > > >                         checking for epmd... /usr/bin/epmd
> > > > > >                         checking for erl... no
> > > > > >                         configure: error: Erlang/OTP interpreter (erl) not found but required
> > > > > > 
> > > > > > 
> > > > > >                             > > > > > > > On May 3, 2017 at 4:17 PM Abhishek Ranjan <abhishek@REDACTED mailto:abhishek@REDACTED > wrote:
> > > > > > > 
> > > > > > >                             it is giving me this path "/kerl/17.1/bin/erl"
> > > > > > >                             which is actually inside /home/ec2-user/
> > > > > > > 
> > > > > > >                             what I feel is that this erl should have been inside /usr/bin/ directory and instead it is inside
> > > > > > >                             /home/ec2-user//kerl/17.1/bin/erl
> > > > > > > 
> > > > > > >                             So is there any way I can change this path to /usr/bin.
> > > > > > >                             Please tell me if I am thinking right first and if so how can this be done in linux(amazon linux or fedora).
> > > > > > > 
> > > > > > > 
> > > > > > >                                 > > > > > > > > On May 3, 2017 at 4:01 PM Nuku Ameyibor <nayibor@REDACTED mailto:nayibor@REDACTED > wrote:
> > > > > > > > 
> > > > > > > >                                 @ Ranjan,
> > > > > > > > 
> > > > > > > >                                 KERL_ENABLE_PROMPT=Y
> > > > > > > >                                 . ~/kerl/17.1/activate
> > > > > > > >                                 They are two separate commands not one command.
> > > > > > > >                                 Run them one after the other .
> > > > > > > >                                 After that run
> > > > > > > >                                 which erl
> > > > > > > >                                 That command will show you the path to your current activated erlang version .
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > >                                 ---------------------------------------------
> > > > > > > >                                 From: Abhishek Ranjan mailto:abhishek@REDACTED
> > > > > > > >                                 Sent: ‎5/‎3/‎2017 9:46 AM
> > > > > > > >                                 To: Jack Tang mailto:himars@REDACTED ; Erlang-Questions Questions mailto:erlang-questions@REDACTED
> > > > > > > >                                 Subject: Re: [erlang-questions] Erlang/OTP interpreter (erl) not found butrequired
> > > > > > > > 
> > > > > > > >                                 home/ec2-user is my home directory or should I say the default directory when I make the ssh connection to server.
> > > > > > > >                                 so i ran : KERL_ENABLE_PROMPT=y . ~/kerl/17.1/activate
> > > > > > > >                                 command when I was in this home directory.
> > > > > > > >                                 I think I missed a trick here as I am not familiar with linux and how to set path in linux and that's why maybe when I go to home/ec2-user/download/ejabberd.17.03/
> > > > > > > >                                 and run ./configure command it is giving me this error.
> > > > > > > >                                 what I understand is the line which you are saying that I missed is the same line as
> > > > > > > >                                 KERL_ENABLE_PROMPT=y . ~/kerl/17.1/activate
> > > > > > > >                                 but may be I gave a wrong path or ran it from wrong place (home/ec2-user).
> > > > > > > >                                 I followed: https://yrsdi.github.io/programming/setup-erlang-with-kerl-mac-osx/
> > > > > > > >                                 Can you gauge where I am going wrong exactly
> > > > > > > > 
> > > > > > > > 
> > > > > > > >                                     > > > > > > > > > On May 3, 2017 at 3:06 PM Jack Tang <himars@REDACTED mailto:himars@REDACTED > wrote:
> > > > > > > > > 
> > > > > > > > >                                     You might miss to run `$ . /path/to/install/dir/activate`. 
> > > > > > > > > 
> > > > > > > > >                                     On Wed, May 3, 2017 at 5:22 PM, Abhishek Ranjan <abhishek@REDACTED mailto:abhishek@REDACTED > wrote:
> > > > > > > > > 
> > > > > > > > >                                         > > > > > > > > > > 
> > > > > > > > > >                                         I was installing ejabberd 17.03 through source code when I found that I needed to intall Erlang 17.1 for it. I installed erlang /otp 17.1 using kerl inside the /home/ec2-user/kerl/17.1 directory.
> > > > > > > > > > 
> > > > > > > > > >                                         I then used  ./autogen.sh command which ran without any output
> > > > > > > > > > 
> > > > > > > > > >                                                then:  ./configure which gave this error
> > > > > > > > > > 
> > > > > > > > > >                                         configure: error: Erlang/OTP interpreter (erl) not found but required  
> > > > > > > > > > 
> > > > > > > > > >                                         Can anyone help?
> > > > > > > > > > 
> > > > > > > > > >                                         Regards,
> > > > > > > > > > 
> > > > > > > > > >                                         Abhishek
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > >                                         _______________________________________________
> > > > > > > > > >                                         erlang-questions mailing list
> > > > > > > > > >                                         erlang-questions@REDACTED mailto:erlang-questions@REDACTED
> > > > > > > > > >                                         http://erlang.org/mailman/listinfo/erlang-questions
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > >                                     > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > >                                     --
> > > > > > > > >                                     Jack Tang
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > >                                     http://www.linkedin.com/in/jacktang
> > > > > > > > >                                     _______________________________________________
> > > > > > > > >                                     erlang-questions mailing list
> > > > > > > > >                                     erlang-questions@REDACTED mailto:erlang-questions@REDACTED
> > > > > > > > >                                     http://erlang.org/mailman/listinfo/erlang-questions
> > > > > > > > > 
> > > > > > > > >                                 > > > > > > > >                                  
> > > > > > > > 
> > > > > > > >                             > > > > > > >                              
> > > > > > > 
> > > > > > >                         > > > > > >                          
> > > > > > 
> > > > > >                             > > > > > > > _______________________________________________
> > > > > > >                             erlang-questions mailing list
> > > > > > >                             erlang-questions@REDACTED mailto:erlang-questions@REDACTED
> > > > > > >                             http://erlang.org/mailman/listinfo/erlang-questions
> > > > > > > 
> > > > > > >                         > > > > > >                          
> > > > > > 
> > > > > >                     > > > > > 
> > > > > 
> > > > >                 > > > >                  
> > > > 
> > > >             > > >              
> > > 
> > >                 > > > > _______________________________________________
> > > >                 erlang-questions mailing list
> > > >                 erlang-questions@REDACTED mailto:erlang-questions@REDACTED
> > > >                 http://erlang.org/mailman/listinfo/erlang-questions
> > > > 
> > > >             > > >              
> > >             _______________________________________________
> > >             erlang-questions mailing list
> > >             erlang-questions@REDACTED mailto:erlang-questions@REDACTED
> > >             http://erlang.org/mailman/listinfo/erlang-questions
> > > 
> > >         > > 
> >     >      
> 
 

> _______________________________________________
>     erlang-questions mailing list
>     erlang-questions@REDACTED
>     http://erlang.org/mailman/listinfo/erlang-questions
> 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170504/b271b2cb/attachment.htm>


More information about the erlang-questions mailing list