[Home]

Summary:ASTERISK-24111: res_ari_mailboxes: Asterisk attempts to load module without res_stasis_mailbox, resulting in undefined symbol: stasis_app_mailbox_to_json
Reporter:Alexander Traud (traud)Labels:
Date Opened:2014-07-24 11:23:25Date Closed:2015-08-08 01:30:08
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_ari
Versions:12.4.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Ubuntu 14.04 LTS, 32bit and 64bitAttachments:
Description:{panel:title=Log messages}
{{loader.c: Error loading module 'res_ari_mailboxes.so': /usr/lib/asterisk/modules/res_ari_mailboxes.so: undefined symbol: stasis_app_mailbox_to_json}}
{{loader.c: Module 'res_ari_mailboxes.so' could not be loaded.}}
{panel}

These two warnings are in /var/log/asterisk/messages after each (re)start of Asterisk. In the Asterisk Forums, a Debian user had the [same issue|http://forums.asterisk.org/viewtopic.php?p=200146]. The library is there. According to {{ldd}} all dependencies are found. {{nm -D}} exposed the symbol.
{panel:title=Steps I used to compile}
{{sudo apt-get install build-essential libssl-dev libncurses-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev libjansson-dev}}
{{wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-current.tar.gz}}
{{tar zxvf asterisk*}}
{{cd asterisk*}}
{{./configure}}
{{make menuselect.makeopts}}
{{sudo make install config samples}}
{panel}
Comments:By: Matt Jordan (mjordan) 2014-07-24 11:48:44.486-0500

The symbol is defined in {{res_stasis_mailbox}}. You probably don't have that module loaded as it conflicts with {{app_voicemail}}.

Due to a quirk in how {{res_ari_mailboxes}} is constructed, it has a difficult time declaring its dependency on {{res_stasis_mailbox}}. We should probably attempt to address that.

By: Paul Belanger (pabelanger) 2014-08-18 13:24:53.942-0500

Just hit this issue too.  Below is a discussion from #asterisk-dev

---
<pabelanger> Just start asterisk 13 for the first time
<pabelanger> I can see: [Aug 18 14:11:51] WARNING[20289]: loader.c:564 load_dynamic_module: Error loading module 'res_ari_mailboxes.so': /home/pabelanger/svn/digium/asterisk/testing/13/live/usr/lib/asterisk/modules/res_ari_mailboxes.so: undefined symbol: stasis_app_mailbox_to_json
<pabelanger> using latest HEAD of branches/13
<file> that functionality conflicts with app_voicemail.so and requires explicit module loading to load
<pabelanger> okay, I didn't do anything. Just make sames
<pabelanger> err
<pabelanger> samples
<file> correct.
<pabelanger> so, what is the fix?
<file> if you need the functionality provided by that then you have to noload app_voicemail.so and build res_mwi_external.so
<pabelanger> okay
<pabelanger> so         <conflict>app_voicemail</conflict> needs to be added to res_ari_mailboxes too
<file> it doesn't directly conflict, the lower level implementation conflicts but it could be argued it should be added
* pabelanger nods
<pabelanger> was more curious about why the error was happening
<pabelanger> will let you guys hammer out the real fix
<file> there is no open issue for it
<file> same issue applies to 12 as well
<file> well - warning
<file> ooh I lied
<file> ASTERISK-24111

By: Corey Farrell (coreyfarrell) 2015-05-23 18:58:50.998-0500

I believe I've fixed this issue with ASTERISK-25027, menuselect now understands that res_ari_mailboxes depends on res_stasis_mailbox.

By: Alexander Traud (traud) 2015-08-08 01:28:36.340-0500

Corey, thank you for updating. Yes since Asterisk 13.4, I am not able to reproduce this issue here anymore.