Error executing post installation script

Ejabberd 15.04 binary package: ejabberd-15.04-linux-x86_64-installer.run
Red Hat Enterprise Linux Server release 6.2

I got error when nearly finish the installation, here is the last part the install.log and error.log file.

install.log

Unpacking files
Unpacking /opt/ejabberd/doc/discorus.png
Unpacking /opt/ejabberd/doc/webadmmain.png
Unpacking /opt/ejabberd/doc/webadmmainru.png
Unpacking /opt/ejabberd/doc/ssl.txt
Unpacking /opt/ejabberd/doc/guide.pdf
Unpacking /opt/ejabberd/doc/guide.html
Executing final installation script
Error executing post installation script
/opt/ejabberd/bin/postinstall.sh
\child process exited abnormally
Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed
Log finished 05/03/2015 at 15:10:18

error.log

2015-05-03 15:09:03.412 [error] <0.74.0> Unable to load crypto library. Failed with error:
"load_failed, Failed to load NIF library: '/opt/ejabberd/lib/crypto-3.5/priv/lib/crypto.so: symbol EC_GROUP_new_curve_GF2m, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference'"
OpenSSL might not be installed on this system.
2015-05-03 15:09:03.412 [error] <0.75.0> The on_load function for module crypto returned {error,{load_failed,"Failed to load NIF library: '/opt/ejabberd/lib/crypto-3.5/priv/lib/crypto.so: symbol EC_GROUP_new_curve_GF2m, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference'"}}
2015-05-03 15:09:03.412 [error] <0.37.0> CRASH REPORT Process <0.37.0> with 0 neighbours exited with reason: call to undefined function crypto:start() in application_master:init/4 line 133

I checked openssl installation, it shows it had been installed:

# rpm -qa | grep openssl
openssl-devel-1.0.0-20.el6.x86_64
openssl-1.0.0-20.el6.x86_64

could it be that this openssl version is not currently supported by the binary version of ejabberd ?

I could not reproduce this on

I could not reproduce this on a clean CentOS7 installation. Please note our installer includes all needed dependencies (erlang, openssl, etc...). so installed openssl on your system is not used.
For now i have no clue why it's not working for you.

as i could not reproduce, can

as i could not reproduce, can you give me some precisions:
- what version of glibc are you using ?
- what difference may have your RHEL6.2 and CentOS7 (i guess some security kernel tunning, we do export LD_LIBRARY_PATH to use our embedded openssl library, and here it seems it is not used and your system provides an older one)

Hi, sorry for the late, here

Hi, sorry for the late, here is the packages installed named "glibc".

# rpm -qa | grep glibc
compat-glibc-headers-2.5-46.2.x86_64
glibc-2.12-1.47.el6.x86_64
glibc-devel-2.12-1.47.el6.x86_64
glibc-headers-2.12-1.47.el6.x86_64
glibc-2.12-1.47.el6.i686
glibc-common-2.12-1.47.el6.x86_64

if any other information needed, please let me know, thank you!

I have the same Problem. Have

I have the same Problem. Have you found a solution? If yes, please let me know.
Thank's in advance.

Did you try with latest

Did you try with latest installer or RPM for 15.06 ?

Hi, I have the same problem

Hi,
I have the same problem installing on RH 6.4 from binary installer.
when running ldd on /opt/ejabberd/lib/crypto-3.5/priv/lib/crypto.so i can see:

[root@myserver lib]# ldd crypto.so
linux-vdso.so.1 => (0x00007fffea5ff000)
libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f0e137ce000)
libc.so.6 => //lib64/libc.so.6 (0x00007f0e1343a000)
libdl.so.2 => //lib64/libdl.so.2 (0x00007f0e13236000)
libz.so.1 => //lib64/libz.so.1 (0x00007f0e1301f000)
/lib64/ld-linux-x86-64.so.2 (0x0000003170000000)

shouldn't it use /opt/ejabberd/lib/linux-x86_64/libcrypto.so.1.0.0 ?

is there a minimum OS version requirement when using RedHat?

for now i fiddled with the links in /usr/lib64 and it works, but if it can be fixed to work "out of the box" it can be great !

Thanks.

Which version of the

Which version of the installer are you using ? Did you try with ejabberd 15.07 ?

Hi, I tried both 15.04 and

Hi,
I tried both 15.04 and 15.07, same problem.
after looking further, it seems, ejabberd looks for the libcrypto.so.1.0.0 in /usr/lib64 first, and on RH version 6.4 it finds it there, on newer versions (6.6 for example) the OS comes with libcrypto.so.1.0.1 so ejabberd cannot find libcrypto.so.1.0.0 there, and uses the one in /opt/ejabberd-xxx/lib/linux-x86_64

I switched user to ejabberd and added to the environment:
LD_PRELOAD=/opt/ejabberd/lib/linux-x86_64/libcrypto.so.1.0.0

before running ./ejabberdctl start , and IT WORKED

is it feasible to have this added to bin/ejabberdctl and bin/erl next to LD_LIBRARY_PATH in future releases?
(maybe even after a check if /usr/lib64/libcrypto.so.1.0.0 exists..., just to be safe)

Thanks.
Barak.

Syndicate content