Asterisk 13.7.2 Service startup fails on RHEL7.3

Hi Team

We have got 3 Digium 24port FXO cards(SERIAL NUMBERS REDACTED BY COMMUNITY MODERATOR) installed on a HP DL380 Gen9 Server. Also I have successfully installed the following on this server:

dahdi-linux-complete-2.11.1
libpri-1.4.14
jansson-2.7
asterisk-13.7.2

I am using the user root to install this application.

After successfully compiling the above products from the source I restarted server and issued the following commands to ensure the service are all started up properly:

service asterisk stop - OK
service dahdi stop - OK
service dahdi start - OK
service asterisk start - Failed with the following message “Starting asterisk (via systemctl): Job for asterisk.service failed because a timeout was exceeded. See “systemctl status asterisk.service” and “journalctl -xe” for details.”

[root@sclils1 ~]# systemctl status asterisk.service
â asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
Active: failed (Result: timeout) since Wed 2017-07-26 08:55:16 PDT; 1h 38min ago
Docs: man:systemd-sysv-generator(8)
Process: 5515 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/asterisk.service
ââ 4199 /bin/sh /usr/sbin/safe_asterisk
ââ 5539 /bin/sh /usr/sbin/safe_asterisk
ââ25212 sleep 4
ââ25218 sleep 4

Jul 26 08:50:16 sclils1 systemd[1]: Starting LSB: Asterisk PBX…
Jul 26 08:50:16 sclils1 asterisk[5515]: Starting asterisk:
Jul 26 08:50:16 sclils1 systemd[1]: PID file /var/run/asterisk/asterisk.pid not readable (yet?) after start.
Jul 26 08:55:16 sclils1 systemd[1]: asterisk.service start operation timed out. Terminating.
Jul 26 08:55:16 sclils1 systemd[1]: Failed to start LSB: Asterisk PBX.
Jul 26 08:55:16 sclils1 systemd[1]: Unit asterisk.service entered failed state.
Jul 26 08:55:16 sclils1 systemd[1]: asterisk.service failed.

This is the first time that we are installing Asterisk 13.7.2 on RHEL/Centos 7. I have the selinux disabled on the server.

Could you please assist us to resolve this issue? We would greatly appreciate your assistance on this.

Regards
JJV

What is in /ver/log/asterisk?

What happens if you run asterisk manually, with the -c options?

Hi David

[root@sclils1 ~]# ls -l /var/log/asterisk/
total 12
drwxr-xr-x. 2 root root 4096 Jul 26 08:16 cdr-csv
drwxr-xr-x. 2 root root 4096 Jul 26 08:16 cdr-custom
drwxr-xr-x. 2 root root 4096 Jul 26 08:16 cel-custom

And when I try to start the Asterisk -c the output is as follows:
[root@sclils1 ~]# asterisk -c
asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file or directory

Regards
JJV

Check if libasteriskssl.so.1 is in either /usr/lib or /usr/lib64
Are you running 32-bit or 64-bit?
when you ran ./configure in the asterisk source tree, did you pass a --prefix or --libdir option?

Hi George

Yes, that was it. The server is a 64bit server.

I copied the file libasteriskssl.so.1 from /usr/lib to /usr/lib64 and restarted the services. It all started working.

Thanks for getting back with this solution.

Regards
JJV

No problem. On CentOS 64 bit installs, it’s always best to use
./configure --prefix=/usr --libdir=/usr/lib64 ...
to make sure that the libraries get installed in the correct place.

just fyi, any user can view post history by clicking the pencil so that’s a poor way to redact :innocent:

Well that’s a bummer. Woe to the original poster then.

I am having same problem with libasteriskssl.so.1 not starting up with Ubuntu 14.04 ; what --prefix=? and --libdir=? should I use ?
I am using a IBM POWER8 server running Ubuntu 14.04 and Asterisk 14
I did the following
./configure --prefix=/usr --libdir=/usr/lib
make && make install
root@sys-88932:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk status

  • asterisk is not running
    root@sys-88932:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk start
  • Starting Asterisk PBX: asterisk /usr/sbin/asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file or directory
    There is no /usr/lib64 directory in my Ubuntu system.
    Hope you could help
    Thanks

Those prefix and libdir settings should be good.
Did libasteriskssl.so get installed to /usr/lib?

I tried to put both prefix=/usr/local and --libdir=/usr/local
My asterisk source is in /usr/local/src/asterisk-14.6.0 and prproject in /usr/local/src/asterisk-14.6.0/pjproject
and below are my recompile of both pjproject and asterisk

371 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
372 cd pjproject
373 ls
374 cd /usr/local/lib/pkconfig
375 cd /usr/local/lib/
376 ls
377 cd pkconfig
378 cd pkgconfig
root@sys-88932:/usr/local/lib/pkgconfig# ls
libpjproject.pc

379 ls
380*
381 cd /usr/local/src
382 ls
root@sys-88932:/usr/local/src# ls
asterisk-14.6.0 asterisk-14-current.tar.gz

383 cd asterisk-14.6.0
384
385 ls
386 cd pjproject

387 ls
root@sys-88932:/usr/local/src/asterisk-14.6.0# ls
addons CHANGES COPYING Makefile.moddir_rules README UPGRADE-10.txt
agi channels CREDITS Makefile.rules README-addons.txt UPGRADE-11.txt …

388 make uninstall
389 # ./configure --prefix=/usr/local --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS=’-O2 -DNDEBUG
390 ls
391 make dep
392 make
393 make install
394 ldconfig
395 ldconfig -p | grep pj <–
396 ./configure --prefix=/usr/local --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS=’-O2 -DNDEBUG’
397 make dep
398 make
399 make install
400 loconfig
401 ldconfig
402 ldconfig -r | grep pj
403 ldconfig -p | grep pj
404 cd …
405 echo $PKG_CONFIG_PATH
406 tail config.log
407 mv config.log config.log.old
408 configure --prefix=/usr/local --with-pjproject=/usr/local --libdir=/usr/local
409 ./configure --prefix=/usr/local --with-pjproject=/usr/local --libdir=/usr/local
410 ldconfig
411 make menuselect
412 make
413 make install
414 make samples
415 make config
416 mv /etc/init.d/asterisk /etc/init.d/asterisk.old
417 make config
418* ls -l
419 ls -l /etc/init.d/asterisk
420 make install logrotate
421 /etc/init.d/asterisk status
422 /etc/init.d/asterisk start
423 find /usr/local -name libxslt.so.1 -print
root@sys-88932:/usr/local/src/asterisk-14.6.0# ldconfig -p
604 libs found in cache `/etc/ld.so.cache’
libz.so.1 (libc6,64bit) => /lib/powerpc64le-linux-gnu/libz.so.1
libz.so (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libz.so
libyaml-0.so.2 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libyaml-0.so.2
libxtables.so.10 (libc6,64bit) => /lib/libxtables.so.10
libxslt.so.1 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libxslt.so.1 <-- This is the file exist but not found by
asterisk startup !!!

root@sys-88932:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk status

  • asterisk is not running
    root@sys-88932:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk start
  • Starting Asterisk PBX: asterisk /usr/local/sbin/asterisk: error while loading shared libraries: libxslt.so.1: cannot open shared object file: No such file or directory

Some other directory pre-fix that I missed out ?

Do an ldd /usr/local/sbin/asterisk and paste the results.

Try running ./configure --without-libxslt --disable-xmldoc ... and see how far you get.

In your case, --libdir should probably be --libdir=/usr/local/lib but I don’t think that’s your issue right now.

Also, you should always use the bundled version of pjproject (--with-pjproject-bundled) rather than an external one. Again, I don’t think this is related to your issue but just for future reference.

1 Like

170 ./configure --libdir=/usr/local/lib --prefix=/usr/local
171 make
172 make install
173 ./configure
174 make menuselect
175 make
176 make install
177 make samples
178 make config
179 make install-logrotate

root@sys-88982:/usr/local/src/asterisk-14.6.0# make config
System start/stop links for /etc/init.d/asterisk already exist.
root@sys-88982:/usr/local/src/asterisk-14.6.0# make install-logrotate
if [ ! -d “/etc/asterisk/…/logrotate.d” ]; then
/usr/bin/install -c -d “/etc/asterisk/…/logrotate.d” ;
fi
sed ‘s#LOGDIR#/var/log/asterisk#g’ < contrib/scripts/asterisk.logrotate | sed ‘s#SBINDIR#/usr/sbin#g’ > contrib/scripts/asterisk.logrotate.tmp
/usr/bin/install -c -m 0644 contrib/scripts/asterisk.logrotate.tmp "/etc/asterisk/…/logrotate.d/asterisk"
rm -f contrib/scripts/asterisk.logrotate.tmp

root@sys-88982:/usr/local/src/asterisk-14.6.0# find /usr -name asterisk -print
/usr/include/asterisk
/usr/sbin/asterisk
/usr/lib/asterisk
/usr/local/src/asterisk-14.6.0/main/asterisk
/usr/local/src/asterisk-14.6.0/include/asterisk
/usr/local/include/asterisk
/usr/local/etc/asterisk
/usr/local/sbin/asterisk
/usr/local/var/log/asterisk
/usr/local/var/spool/asterisk
/usr/local/var/lib/asterisk
/usr/local/var/run/asterisk
/usr/local/lib/asterisk
root@sys-88982:/usr/local/src/asterisk-14.6.0# ldd /usr/local/sbin/asterisk
linux-vdso64.so.1 (0x00003fff955f0000)
libasteriskssl.so.1 => /usr/local/lib/libasteriskssl.so.1 (0x00003fff955c0000)
libxml2.so.2 => /usr/lib/powerpc64le-linux-gnu/libxml2.so.2 (0x00003fff953a0000)
libxslt.so.1 => not found
libsqlite3.so.0 => /usr/lib/powerpc64le-linux-gnu/libsqlite3.so.0 (0x00003fff952c0000)
libssl.so.1.0.0 => /opt/at10.0/lib64/power8/libssl.so.1.0.0 (0x00003fff95220000)
libcrypto.so.1.0.0 => /opt/at10.0/lib64/power8/libcrypto.so.1.0.0 (0x00003fff94fd0000)
libjansson.so.4 => not found
libuuid.so.1 => /lib/powerpc64le-linux-gnu/libuuid.so.1 (0x00003fff94fa0000)
libcrypt.so.1 => /opt/at10.0/lib64/power8/libcrypt.so.1 (0x00003fff94f50000)
librt.so.1 => /opt/at10.0/lib64/power8/librt.so.1 (0x00003fff94f20000)
libdl.so.2 => /opt/at10.0/lib64/power8/libdl.so.2 (0x00003fff94ef0000)
libpthread.so.0 => /opt/at10.0/lib64/power8/libpthread.so.0 (0x00003fff94eb0000)
libtinfo.so.5 => /lib/powerpc64le-linux-gnu/libtinfo.so.5 (0x00003fff94e70000)
libresolv.so.2 => /opt/at10.0/lib64/power8/libresolv.so.2 (0x00003fff94e30000)
libedit.so.2 => /usr/lib/powerpc64le-linux-gnu/libedit.so.2 (0x00003fff94de0000)
libstdc++.so.6 => /opt/at10.0/lib64/power8/libstdc++.so.6 (0x00003fff94bb0000)
libm.so.6 => /opt/at10.0/lib64/power8/libm.so.6 (0x00003fff94ac0000)
libc.so.6 => /opt/at10.0/lib64/power8/libc.so.6 (0x00003fff948d0000)
libgcc_s.so.1 => /opt/at10.0/lib64/power8/libgcc_s.so.1 (0x00003fff94890000)
libz.so.1 => /opt/at10.0/lib64/power8/libz.so.1 (0x00003fff94850000)
liblzma.so.5 => /lib/powerpc64le-linux-gnu/liblzma.so.5 (0x00003fff94810000)
/opt/at10.0/lib64/ld64.so.2 (0x00003fff95610000)
root@sys-88982:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk status

  • asterisk is not running
    root@sys-88982:/usr/local/src/asterisk-14.6.0# /etc/init.d/asterisk start
  • Starting Asterisk PBX: asterisk /usr/sbin/asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file
    root@sys-88982:/usr/local/src/asterisk-14.6.0# find /usr -name libasteriskssl.so.1 -print
    /usr/lib/libasteriskssl.so.1
    /usr/local/src/asterisk-14.6.0/main/libasteriskssl.so.1
    /usr/local/lib/libasteriskssl.so.1
    root@sys-88982:/usr/local/src/asterisk-14.6.0# ldconfig -p | grep libas
    libasteriskssl.so.1 (libc6,64bit) => /usr/local/lib/libasteriskssl.so.1
    libasteriskssl.so.1 (libc6,64bit) => /usr/lib/libasteriskssl.so.1
    libasteriskssl.so (libc6,64bit) => /usr/local/lib/libasteriskssl.so
    libasteriskssl.so (libc6,64bit) => /usr/lib/libasteriskssl.so
    libasprintf.so.0 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasprintf.so.0
    libasprintf.so (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasprintf.so
    libasound.so.2 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasound.so.2
    libasound.so (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasound.so
    libasn1.so.8 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasn1.so.8
    root@sys-88982:/usr/local/src/asterisk-14.6.0# ldconfig -p | grep libas
    libasteriskssl.so.1 (libc6,64bit) => /usr/local/lib/libasteriskssl.so.1
    libasteriskssl.so.1 (libc6,64bit) => /usr/lib/libasteriskssl.so.1
    libasteriskssl.so (libc6,64bit) => /usr/local/lib/libasteriskssl.so
    libasteriskssl.so (libc6,64bit) => /usr/lib/libasteriskssl.so
    libasprintf.so.0 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasprintf.so.0
    libasprintf.so (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasprintf.so
    libasound.so.2 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasound.so.2
    libasound.so (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasound.so
    libasn1.so.8 (libc6,64bit) => /usr/lib/powerpc64le-linux-gnu/libasn1.so.8
    root@sys-88982:/usr/local/src/asterisk-14.6.0# ldconfig -p | grep pj
    libpjsua2.so.2 (libc6,64bit) => /usr/local/lib/libpjsua2.so.2
    libpjsua2.so (libc6,64bit) => /usr/local/lib/libpjsua2.so
    libpjsua.so.2 (libc6,64bit) => /usr/local/lib/libpjsua.so.2
    libpjsua.so (libc6,64bit) => /usr/local/lib/libpjsua.so
    libpjsip.so.2 (libc6,64bit) => /usr/local/lib/libpjsip.so.2
    libpjsip.so (libc6,64bit) => /usr/local/lib/libpjsip.so
    libpjsip-ua.so.2 (libc6,64bit) => /usr/local/lib/libpjsip-ua.so.2
    libpjsip-ua.so (libc6,64bit) => /usr/local/lib/libpjsip-ua.so
    libpjsip-simple.so.2 (libc6,64bit) => /usr/local/lib/libpjsip-simple.so.2
    libpjsip-simple.so (libc6,64bit) => /usr/local/lib/libpjsip-simple.so
    libpjnath.so.2 (libc6,64bit) => /usr/local/lib/libpjnath.so.2
    libpjnath.so (libc6,64bit) => /usr/local/lib/libpjnath.so
    libpjmedia.so.2 (libc6,64bit) => /usr/local/lib/libpjmedia.so.2
    libpjmedia.so (libc6,64bit) => /usr/local/lib/libpjmedia.so
    libpjmedia-videodev.so.2 (libc6,64bit) => /usr/local/lib/libpjmedia-videodev.so.2
    libpjmedia-videodev.so (libc6,64bit) => /usr/local/lib/libpjmedia-videodev.so
    libpjmedia-codec.so.2 (libc6,64bit) => /usr/local/lib/libpjmedia-codec.so.2
    libpjmedia-codec.so (libc6,64bit) => /usr/local/lib/libpjmedia-codec.so
    libpjmedia-audiodev.so.2 (libc6,64bit) => /usr/local/lib/libpjmedia-audiodev.so.2
    libpjmedia-audiodev.so (libc6,64bit) => /usr/local/lib/libpjmedia-audiodev.so
    libpjlib-util.so.2 (libc6,64bit) => /usr/local/lib/libpjlib-util.so.2
    libpjlib-util.so (libc6,64bit) => /usr/local/lib/libpjlib-util.so
    libpj.so.2 (libc6,64bit) => /usr/local/lib/libpj.so.2
    libpj.so (libc6,64bit) => /usr/local/lib/libpj.so

Well , it seems that the libraries are everywhere and in duplicates.
Please advice. Thank you

Hi Joseph,
I tried this :

./configure --with-pjproject-bundled --prefix=/usr/local --exec-prefix=/usr/local --libdir=/usr/local/lib --bindir=/usr/local/bin --sbindir=/usr/local/sbin --without-libxslt --disable-xmldoc

Now another library is no working instead of libxslt :
root@sys-88901:/usr/local/src/asterisk14# /etc/init.d/asterisk start
[…] Starting asterisk (via systemctl): asterisk.serviceJob for asterisk.service failed because the control process exited with error code. See “systemctl status asterisk.service” and “journalctl -xe” for details.
failed!
root@sys-88901:/usr/local/src/asterisk14# /etc/init.d/asterisk status
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2017-09-03 14:24:26 EDT; 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 10670 ExecStart=/etc/init.d/asterisk start (code=exited, status=127)

Sep 03 14:24:26 sys-88901 systemd[1]: Starting LSB: Asterisk PBX…
Sep 03 14:24:26 sys-88901 asterisk[10670]: * Starting Asterisk PBX: asterisk
Sep 03 14:24:26 sys-88901 asterisk[10670]: /usr/local/sbin/asterisk: error while loading shared libraries: libjansson.so.4: cannot open shared object …directory
Sep 03 14:24:26 sys-88901 systemd[1]: asterisk.service: Control process exited, code=exited status=127
Sep 03 14:24:26 sys-88901 systemd[1]: Failed to start LSB: Asterisk PBX.
Sep 03 14:24:26 sys-88901 systemd[1]: asterisk.service: Unit entered failed state.
Sep 03 14:24:26 sys-88901 systemd[1]: asterisk.service: Failed with result ‘exit-code’.
Hint: Some lines were ellipsized, use -l to show in full.
I then tried to check using ldd :
root@sys-88901:/usr/local/src/asterisk14# ldd /usr/local/sbin/asterisk
linux-vdso64.so.1 (0x00003fffa5ef0000)
libasteriskssl.so.1 => /usr/local/lib/libasteriskssl.so.1 (0x00003fffa5ec0000)
libasteriskpj.so.2 => /usr/local/lib/libasteriskpj.so.2 (0x00003fffa5ca0000)
libxml2.so.2 => /usr/lib/powerpc64le-linux-gnu/libxml2.so.2 (0x00003fffa5a80000)
libsqlite3.so.0 => /usr/lib/powerpc64le-linux-gnu/libsqlite3.so.0 (0x00003fffa5970000)
libssl.so.1.0.0 => /opt/at10.0/lib64/power8/libssl.so.1.0.0 (0x00003fffa58d0000)
libcrypto.so.1.0.0 => /opt/at10.0/lib64/power8/libcrypto.so.1.0.0 (0x00003fffa5680000)
libjansson.so.4 => not found
libuuid.so.1 => /lib/powerpc64le-linux-gnu/libuuid.so.1 (0x00003fffa5650000)
libcrypt.so.1 => /opt/at10.0/lib64/power8/libcrypt.so.1 (0x00003fffa5600000)
librt.so.1 => /opt/at10.0/lib64/power8/librt.so.1 (0x00003fffa55d0000)
libdl.so.2 => /opt/at10.0/lib64/power8/libdl.so.2 (0x00003fffa55a0000)
libpthread.so.0 => /opt/at10.0/lib64/power8/libpthread.so.0 (0x00003fffa5560000)
libtinfo.so.5 => /lib/powerpc64le-linux-gnu/libtinfo.so.5 (0x00003fffa5510000)
libresolv.so.2 => /opt/at10.0/lib64/power8/libresolv.so.2 (0x00003fffa54d0000)
libedit.so.2 => /usr/lib/powerpc64le-linux-gnu/libedit.so.2 (0x00003fffa5470000)
libbsd.so.0 => /lib/powerpc64le-linux-gnu/libbsd.so.0 (0x00003fffa5430000)
libstdc++.so.6 => /opt/at10.0/lib64/power8/libstdc++.so.6 (0x00003fffa5200000)
libm.so.6 => /opt/at10.0/lib64/power8/libm.so.6 (0x00003fffa5110000)
libc.so.6 => /opt/at10.0/lib64/power8/libc.so.6 (0x00003fffa4f20000)
libgcc_s.so.1 => /opt/at10.0/lib64/power8/libgcc_s.so.1 (0x00003fffa4ee0000)
libicuuc.so.55 => /usr/lib/powerpc64le-linux-gnu/libicuuc.so.55 (0x00003fffa4cc0000)
libz.so.1 => /opt/at10.0/lib64/power8/libz.so.1 (0x00003fffa4c80000)
liblzma.so.5 => /lib/powerpc64le-linux-gnu/liblzma.so.5 (0x00003fffa4c40000)
/opt/at10.0/lib64/ld64.so.2 (0x00003fffa5f10000)
libicudata.so.55 => /usr/lib/powerpc64le-linux-gnu/libicudata.so.55 (0x00003fffa3360000)

I check for the library libjansson.so.4
root@sys-88901:/usr/local/src/asterisk14# find /usr -name libjansson.so.4 -print
/usr/lib/powerpc64le-linux-gnu/libjansson.so.4

Thank you for your advice