Page 1 of 1

FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Wed Aug 19, 2009 4:00 pm
by jasonh
Asterisk Version: 1.6.0.10
Linux (CentOS) 2.6.18-128.1.10.el5 SMP

Per the instructions:

Registered & wrote license to /var/lib/asterisk/licenses/FFA-[license#].lic

Ran benchfax-1.0.8-x86_32 and received:
Recommended flavor for this system is 'pentium4m' with an average of 917 milliseconds of CPU time.

Based on benchfax and our version of Asterisk I downloaded:
res_fax-1.6.0_1.0.12-x86_32
res_fax_digium-1.6.0_1.0.10-pentium4m_32

extracted res_fax.so and res_fax_digium.so to /usr/lib/asterisk/modules

file permissions and ownership match all other modules

The instructions tell you to restart Asterisk then do fax show stats. Modules aren't loaded so obviously this does not work. When trying to manually load the modules I receive the following:

*CLI>module load res_fax.so
Unable to load module res_fax.so
Command 'module load res_fax.so' failed

In var/log/asterisk/full I see:
WARNING[14385] loader.c: Error loading module 'res_fax.so': /usr/lib/asterisk/modules/res_fax.so: undefined symbol: ao2_lock

WARNING[14385] loader.c: Module 'res_fax.so' could not be loaded.

Identical results for res_fax_digium.so:
WARNING[14385] loader.c: Error loading module 'res_fax_digium.so': /usr/lib/asterisk/modules/res_fax_digium.so: undefined symbol: ao2_lock

WARNING[14385] loader.c: Module 'res_fax_digium.so' could not be loaded.

I've checked permissions, SELinux is disabled, I have the correct versions for my install. I did try unloading app_fax.so as well prior to loading res_fax/res_fax_digium but to no avail - what else can I check?

We're very keen on testing this on our system but we're pretty stumped right now. Any help is appreciated.

PostPosted: Mon Aug 31, 2009 4:32 am
by faxterisk
Solution:

make menuconfig
->Compiler Flags->Uncheck the "DEBUG_THREADS" option
make
make install

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Wed Feb 17, 2010 7:58 pm
by Socs28
Where do we run that from? I am assuming the asterisk source directory, but where is that? I am running trixbox with asterisk16-devel installed.

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Thu Feb 18, 2010 7:02 am
by faxterisk
Socs28 wrote:Where do we run that from? I am assuming the asterisk source directory, but where is that? I am running trixbox with asterisk16-devel installed.

Yes it's the source folder. I as for the sources location maybe that question would find its' answer in another more Trixbox oriented forum? :wink:

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Tue Feb 23, 2010 2:19 pm
by biscayne
No you do NOT do this from the asterisk source directory. make menuselect must be done from the kernel source directory when you are recompiling the kernel. I am trying to fix this very same error right now.

Unfortunately when you run make menuselect there is no option for DEBUG_THREADS. Will someone please post the correct option(s) to enable/disable to fix this module loading problem ?

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Wed Feb 24, 2010 1:58 am
by faxterisk
biscayne wrote:No you do NOT do this from the asterisk source directory. make menuselect must be done from the kernel source directory when you are recompiling the kernel. I am trying to fix this very same error right now.

Unfortunately when you run make menuselect there is no option for DEBUG_THREADS. Will someone please post the correct option(s) to enable/disable to fix this module loading problem ?


Hey if you haven't noticed I did fix this issue for myself and that's why I posted here in the first place. Now go to the darn source directory of asterisk and run "make menuconfig" the option is there! You haven't even tried to read the instructions, haven't either solved it and yet you know better... sheesh :roll:

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Thu Feb 25, 2010 7:51 pm
by biscayne
I stand corrected. I was under the impression that make menuselect was a kernel only tool. Now what do you do if your running a pre-compiled installation like Trixbox. In my case I am running 2.8. Since Trixox is based of off Centos I would assume you just grab the source RPM and build it. Has anyone done this ?

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Tue Oct 01, 2013 5:29 am
by ahmed_bs
Hello everybody,
I am using asterisk 1.8.10.1 on ubuntu server 12.10 and I have tried res_fax-1.6.2.0_1.3.0-x86_64. after following the manual guide.
I've got this error when I tried asterisk -vccccc after loading the module res_fax.so
asterisk: symbol lookup error: /usr/lib/asterisk/modules/res_fax.so: undefined symbol: _ao2_container_alloc
when I try this command : module load res_fax_digium.so :
module load res_fax_digium.so
Unable to load module res_fax_digium.so
Command 'module load res_fax_digium.so ' failed.
[2013-10-01 13:18:36] WARNING[32102]: loader.c:458 load_dynamic_module: Error loading module 'res_fax_digium.so': /usr/lib/asterisk/modules/res_fax_digium.so: undefined symbol: ast_fax_tech_register
[2013-10-01 13:18:36] WARNING[32102]: loader.c:848 load_resource: Module 'res_fax_digium.so' could not be loaded.
Thank you!

Re: FFA cannot load modules - Undefined symbol: ao2_lock

PostPosted: Tue Oct 01, 2013 6:04 am
by david55
You need a version of the modules built from the 1.8.10.1 Asterisk source tree. Note this module is part of the open source Asterisk code, not part of FFA.

Ideally you should build everything from source. If you can't do that, you should load everything from the same repository.