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

Leonard B leonard.boyce@REDACTED
Thu May 4 12:16:19 CEST 2017


Apologies for the top post.

It seems to me that your primary problem is you're activating/setting path
for your normal user, then su to root. root does not have the path for erl
set, which is why it cannot find anything.

Try adding path to erl to root's PATH.

Leonard

On May 4, 2017 03:07, "Abhishek Ranjan" <abhishek@REDACTED> wrote:

> 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>
> 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>
>> 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> 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> 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>
>>> 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> 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 <abhishek@REDACTED>
>>> Sent: ‎5/‎3/‎2017 9:46 AM
>>> To: Jack Tang <himars@REDACTED>; Erlang-Questions Questions
>>> <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> wrote:
>>>
>>> You might miss to run `$ . /path/to/install/dir/activate`.
>>>
>>> On Wed, May 3, 2017 at 5:22 PM, Abhishek Ranjan <
>>> 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
>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>
>>>>
>>>
>>>
>>> --
>>> Jack Tang
>>>
>>>
>>> http://www.linkedin.com/in/jacktang
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 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/a5ebb997/attachment.htm>


More information about the erlang-questions mailing list