[Freeswitch-dev] Linking C++ .so Into Custom Freeswitch Module

Anthony Minessale anthony.minessale at gmail.com
Sun Sep 30 21:23:50 MSD 2012


I believe you can do a space sep list on LOCAL_LIBADD an LOCAL_LDFLAGS

On Sat, Sep 29, 2012 at 10:42 PM, Seven Du <dujinfang at gmail.com> wrote:

>  The following Makefile works for me when I'm working on mod_mp4v2
>
> LOCAL_CFLAGS=-I./mp4v2-2.0.0/include/mp4v2
> LOCAL_LDFLAGS=-static ./mp4v2-2.0.0/.libs/libmp4v2.a
>
> BASE=../../../..
> include $(BASE)/build/modmake.rules
>
> --
> Seven Du
> Sent with Sparrow <http://www.sparrowmailapp.com/?sig>
>
> On Sunday, September 30, 2012 at 10:46 AM, Jon Lederman wrote:
>
> Hi Anthony,
>
> I had a question about the LOCAL_LIBADD syntax.  I have several libraries
> I need to add.
> When I tried:
>
> LOCAL_LIBADD=path_to_lib1/lib1.a
> LOCAL_LIBADD+=path_to_lib2/lib2.a
> LOCAL_LIBADD+=path_to_lib3/lib3.a
>
> However, this didn't seem to work.  Does the += syntax append libraries?
>  I was able to get around this problem by extracting the .a files and the
> combining them in a single .a file, which I was able to load into audio
> weaver.  What is the correct syntax to add multiple libraries in the
> makefile?
>
> Thanks.
>
> -Jon
> On Sep 28, 2012, at 9:26 AM, Anthony Minessale <
> anthony.minessale at gmail.com> wrote:
>
> if you want to do it that way then build a static version of your aw.so
> and use the .a in the LOCAL_LIBADD
>
> if you want to do the .so it would have to be installed somewhere and in
> the LD_LIBRARY_PATH at runtime
>
> On Fri, Sep 28, 2012 at 10:56 AM, Jon Lederman <jon2718 at gmail.com> wrote:
>
> Hi,
>
> Thanks for your reply.  The problem is that I'm not sure I'm linking the
> external libs correctly.  My module makefile is:
>
> BASE=../../../..
> LOCAL_LIBADD+=./lib/aw.so
> include $(BASE)/build/modmake.rules
>
> Shouldn't LOCAL_LIBADD be enough.  Or do I need additional statements in
> my makefile.  The aw.so defines the symbol in question yet I still receive
> the missing symbol message when I try to load the module.
>
> Any help would be greatly appreciated.
>
> Thanks in advance.
>
> Jon
>
>
> On Sep 28, 2012, at 11:27 AM, Anthony Minessale <
> anthony.minessale at gmail.com> wrote:
>
> to auto-load you also need modules.conf.xml modules.conf is only for
> building.
>
> The module can't load because it's missing the symbol:
>
> ZN10CAWETalker9ConfigureEPKc
>
> So you need to link in any external libs you might be using into your .so
>
>
> On Fri, Sep 28, 2012 at 12:05 AM, Jon Lederman <jon2718 at gmail.com> wrote:
>
> Hi,
>
> I am writing a custom module called mod_aw for freeswitch that uses a
> dynamic library called aw.so containing a c++ class.  I edited the makefile
> for my module to:
>
> BASE=../../../..
> LOCAL_LIBADD+=./lib/aw.so
> include $(BASE)/build/modmake.rules
>
> I am able to build the module and also modified modules.conf to include
> the new module.
>
> When I start freeswitch, I don't see a message that the module was loaded.
>
> When I type: reload mod_aw I receive the following error:
>
> 2012-09-28 04:49:52.738493 [CRIT] switch_loadable_module.c:1310 Error
> Loading module /usr/local/freeswitch/mod/mod_aw.so
> **/usr/local/freeswitch/mod/mod_aw.so: undefined symbol:
> _ZN10CAWETalker9ConfigureEPKc**
>
> -ERR unloading module [No such module!]
> +OK Reloading XML
> -ERR loading module [module load file routine returned an error]
>
> I know the library works as I have tried it in another program outside of
> freeswitch.  I am not sure what I am doing wrong.  I am wondering whether I
> need to provide extern "C" linkage for the c++ library.  However, I only
> have the .h file and .so file for the library.  Or, do I need to add
> something to my Makefile.
>
> Any help on how to configure this would be greatly appreciated.
>
> Thank you in advance.
>
> -Jon
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>  _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>  _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>


-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20120930/060edbe8/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list