PJSIP module error: undefined symbol pj_ssl_cipher_name

CentOS Linux release 7.6.1810 (Core)
Linux localhost.localdomain 5.0.7-1.el7.elrepo.x86_64
Asterisk 16.3.0 built by root

I have these errors:

  1. After Asterisk start:
[Apr 16 10:39:01] ERROR[7799] loader.c: Error loading module 'res_pjsip_dlg_options.so', missing dependency: res_pjsip
[Apr 16 10:39:01] ERROR[7799] loader.c: Error loading module 'res_pjsip_one_touch_record_info.so', missing dependencies: res_pjsip, res_pjsip_session
  1. After executing module load res_pjsip.so into CLI:
[Apr 16 10:43:29] ERROR[7940] loader.c: Error loading module 'res_pjsip.so': /usr/lib/asterisk/modules/res_pjsip.so: undefined symbol: pj_ssl_cipher_name

I really had an external pjproject-2.8 before, but I did full uninstall and compile Asterisk with bundle version:

first I’ve execute make uninstall into pjproject dir
then I’ve removed libs: rm -f /usr/lib/libpj*.a /usr/lib/libmilenage*.a /usr/lib/pkgconfig/libpjproject.pc
after I made ldconfig and ldconfig -p | grep pj show me Total: 0
after I gone to src/asterisk dir and made make uninstall
after I made ./contrib/scripts/install_prereq install
after I made ./configure --with-jansson-bundled
after I made make && make install

But issue is still remains. Can you help to solve it?

Some additional info:

ls -al /usr/lib/asterisk/modules/*pj*

-rwxr-xr-x 1 root root  753848 Apr 16 10:38 /usr/lib/asterisk/modules/chan_pjsip.so
-rwxr-xr-x 1 root root  309632 Apr 16 10:38 /usr/lib/asterisk/modules/func_pjsip_aor.so
-rwxr-xr-x 1 root root  312432 Apr 16 10:38 /usr/lib/asterisk/modules/func_pjsip_contact.so
-rwxr-xr-x 1 root root  299344 Apr 16 10:38 /usr/lib/asterisk/modules/func_pjsip_endpoint.so
-rwxr-xr-x 1 root root  341016 Apr 16 10:38 /usr/lib/asterisk/modules/res_hep_pjsip.so
-rwxr-xr-x 1 root root  314144 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjproject.so
-rwxr-xr-x 1 root root  316584 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_acl.so
-rwxr-xr-x 1 root root  338840 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_authenticator_digest.so
-rwxr-xr-x 1 root root  370472 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_caller_id.so
-rwxr-xr-x 1 root root  418832 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_config_wizard.so
-rwxr-xr-x 1 root root  305448 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_dialog_info_body_generator.so
-rwxr-xr-x 1 root root  358240 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_diversion.so
-rwxr-xr-x 1 root root  334240 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_dlg_options.so
-rwxr-xr-x 1 root root  340592 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_dtmf_info.so
-rwxr-xr-x 1 root root  328248 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_empty_info.so
-rwxr-xr-x 1 root root  316784 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_endpoint_identifier_anonymous.so
-rwxr-xr-x 1 root root  377024 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_endpoint_identifier_ip.so
-rwxr-xr-x 1 root root  327776 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_endpoint_identifier_user.so
-rwxr-xr-x 1 root root  373096 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_exten_state.so
-rwxr-xr-x 1 root root  370184 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_header_funcs.so
-rwxr-xr-x 1 root root  394160 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_history.so
-rwxr-xr-x 1 root root  308440 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_logger.so
-rwxr-xr-x 1 root root  422408 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_messaging.so
-rwxr-xr-x 1 root root  288384 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_mwi_body_generator.so
-rwxr-xr-x 1 root root  431584 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_mwi.so
-rwxr-xr-x 1 root root  361576 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_nat.so
-rwxr-xr-x 1 root root  414664 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_notify.so
-rwxr-xr-x 1 root root  339648 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_one_touch_record_info.so
-rwxr-xr-x 1 root root  320408 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_outbound_authenticator_digest.so
-rwxr-xr-x 1 root root  413456 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_outbound_publish.so
-rwxr-xr-x 1 root root  492032 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_outbound_registration.so
-rwxr-xr-x 1 root root  354888 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_path.so
-rwxr-xr-x 1 root root  337504 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_phoneprov_provider.so
-rwxr-xr-x 1 root root  294816 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_pidf_body_generator.so
-rwxr-xr-x 1 root root  289448 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_pidf_digium_body_supplement.so
-rwxr-xr-x 1 root root  289608 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_pidf_eyebeam_body_supplement.so
-rwxr-xr-x 1 root root  373328 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_publish_asterisk.so
-rwxr-xr-x 1 root root  662232 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_pubsub.so
-rwxr-xr-x 1 root root  440272 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_refer.so
-rwxr-xr-x 1 root root  424024 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_registrar.so
-rwxr-xr-x 1 root root  342096 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_rfc3326.so
-rwxr-xr-x 1 root root  521064 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_sdp_rtp.so
-rwxr-xr-x 1 root root  340784 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_send_to_voicemail.so
-rwxr-xr-x 1 root root  619432 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_session.so
-rwxr-xr-x 1 root root  300792 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_sips_contact.so
-rwxr-xr-x 1 root root 2071944 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip.so
-rwxr-xr-x 1 root root  447600 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_t38.so
-rwxr-xr-x 1 root root  398472 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_transport_websocket.so
-rwxr-xr-x 1 root root  294360 Apr 16 10:38 /usr/lib/asterisk/modules/res_pjsip_xpidf_body_generator.so

cat asterisk.conf | grep lib

astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin

ldconfig -p | grep pj

        libasteriskpj.so.2 (libc6,x86-64) => /usr/lib/libasteriskpj.so.2
        libasteriskpj.so (libc6,x86-64) => /usr/lib/libasteriskpj.so

asterisk -rx 'module show' | grep pj

res_pjproject.so               PJPROJECT Log and Utility Support        1          Running              core

I have a similar problem my error log shows
Error loading module ‘res_pjsip.so’: /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: pj_ssl_cipher_name

I assume that there is therefore a dependent module that must be loaded first but I have no clue where to start looking

Try to recompile Asterisk, this is solution for me

install openssl and openssl-devel then ./configure and make && make install again

I’m also seeing this problem:

sip-test /etc/asterisk # asterisk -r
Asterisk 16.3.0, Copyright © 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer markster@digium.com
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type ‘core show license’ for details.

Connected to Asterisk 16.3.0 currently running on sip-test (pid = 20599)
Core debug is still 3.
sip-testCLI> module load res_pjsip.so
Unable to load module res_pjsip.so
Command ‘module load res_pjsip.so’ failed.
[May 28 15:03:43] ERROR[20669]: loader.c:170 module_load_error: Error loading module ‘res_pjsip.so’: /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: pj_ssl_cipher_name
sip-test
CLI>

However I have LibreSSL-2.9.2 installed and on Gentoo, so there is no “devel” package. All including the libraries and include files is already there on the system, and SSL builds and runs for many other applications - notably including Asterisk-13.26.0 also with embedded pjsip and the exact same toolchain.

So it looks a lot like something post version 13 has triggered this to become a problem. It’s obviously a showstopper for me in terms of starting to test and migrate to version 16.3.0.

Adding in that my system and the output above is as a clean install with nothing but a default out-of-the-box configuration. No changes to modules.conf or anything else except turning up the verbosity of log messages.

The vvvvvery verbose startup can be seen here:

Confirmed the problem does not exist in 15.7.2 - which compiles fine and the module loads without any issues. The issue is still present in 16.4.0-rc1 though. So it’s definitely something new and specific to the 16.x codebase.