M
M
myppomeu2016-05-06 09:30:35
linux
myppomeu, 2016-05-06 09:30:35

erlexec file: not found: how to fix (missing required library)?

Router on asuswrt - merlin 380.58 with connected usb-disk. Architecture - armv7l. Put bash in /opt/bin/ via Entware.
Installed on hdd ejabberd 16.04 using the .run file compiled by the developers; it depends on glibc 2.13 or later, which is not on the system.
In /opt/ejabberd-16.04/bin, corrected the shebangs of scripts for an unusual bash location.
Ejabberd won't start:

cd /opt/ejabberd-16.04/bin && ./ejabberdctl  start
/opt/ejabberd-16.04/bin/erl: exec: line 35: /opt/ejabberd-16.04/bin/erlexec: not found

/opt/ejabberd-16.04/bin/erlexec in place, exists.
readelf -l on erlexec showed that Requesting program interpreter: /lib/ld-linux-armhf.so.3
This was taken from the libc6_2.19-18+deb8u4_armhf package from debian and put in a folder. The folder is contained in LD_LIBRARY_PATH which is listed in /opt/ejabberd-16.04/bin/erl. Just in case, two copies of the file (not a symlink): ld-2.19.so and ld-linux-armhf.so.3, the executable bit is worth it.
Ejabberd after manipulations does not start with the same error. What's the matter? How to fix? Will it be possible without putting the library in /lib/ld-linux-armhf.so.3 (it's difficult)?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question