Summary:ASTERISK-06999: [patch] compile error with asterisk-addons in the trunk
Reporter:Roy Sigurd Karlsbakk (rkarlsba)Labels:
Date Opened:2006-05-19 09:45:17Date Closed:2006-06-30 21:28:40
Versions:Frequency of
Environment:Attachments:( 0) app_addons_mysql-trunk.patch
( 1) compfix.patch
( 2) compile-output.txt
Description:asterisk-addons fail to compile after installing asterisk from the trunk rev 28591


stun:/usr/src/svn/asterisk/team/group/rtpjitterbuffer/addons # make
cc -fPIC -I../asterisk -D_GNU_SOURCE  -I/usr/include/mysql     -c -o app_saycountpl.o app_saycountpl.c
In file included from /usr/include/asterisk/utils.h:36,
                from /usr/include/asterisk/cdr.h:48,
                from /usr/include/asterisk/channel.h:117,
                from /usr/include/asterisk/file.h:30,
                from app_saycountpl.c:11:
/usr/include/asterisk/strings.h:280: error: conflicting types for `strtoq'
/usr/include/stdlib.h:188: error: previous declaration of `strtoq'
app_saycountpl.c:34: warning: data definition has no type or storage class
make: *** [app_saycountpl.o] Error 1
Comments:By: Jeffrey C. Ollie (jcollie) 2006-05-19 10:11:25

Recent changes to the loader mechanism and other issues have made the current trunk incompatible with -addons.  Once the loader changes have been finalized -addons will be updated to be compatible.

By: Roy Sigurd Karlsbakk (rkarlsba) 2006-05-19 16:47:02


For testing trunk fully, I really need some stuff in -addons. Is it a quick fix to update -addons for use with trunk, or do you know how long it'll take to finilise these loader changes?



By: Russell Bryant (russell) 2006-05-19 17:01:30

This problem actually has nothing to do with the loader changes.  It looks like we need to install autoconfig.h, and ensure that it gets included in modules built in addons.

By: Roy Sigurd Karlsbakk (rkarlsba) 2006-06-02 06:24:30

Does it take much to fix this? I need native mysql support to start stresstesting the trunk with the new jb, so I'd be really glad if someone could take a look at this.

Thanks in advance....


By: Sherwood McGowan (rushowr) 2006-06-27 02:41:28

Any chance this might get looked at fairly soon? I've got an extremely big need for the trunk along with app_addon_sql_mysql.so.

Even if there's not a quick fix, does anyone know the number of the last known revision that worked with -addons?

By: pbd (pbd) 2006-06-29 17:56:52

(disclaimer is on file)
I produced the attached patch today after seeing no progress here. In fact, the problem is a little bit of both stated reasons- the new loader format forced some changes to the code as well.  The attached patch is *ONLY* for the app_addons_mysql codebase- you will have to modify your makefile to get it to skip the other stuff. It compiles against today's trunk, and I've verified that it works at least as well as it ever did.

Note- this isn't meant to circumvent a real development effort on this, including the new menuselect stuff, should be put in place- this is merely so I, like the original reporter, could test -trunk fully.

By: Sherwood McGowan (rushowr) 2006-06-30 02:27:15

I've attached the output from a compile I tried to do after applying the patch. Patch file was retrieved and saved in the asterisk-addons directory and the patch command was " patch -p0 < app_addons_mysql-trunk.patch ". No errors reported by the patch process, but compile failed the same as always.


--Update: I had made the mistake of running "make app_addon_sql_mysql" and not "make app_addon_sql_mysql.so". I've gotten it running. Thanks!

By: Roy Sigurd Karlsbakk (rkarlsba) 2006-06-30 04:25:04


i still get conflicting types for strtoq here....


By: Roy Sigurd Karlsbakk (rkarlsba) 2006-06-30 04:39:09

Attached patch makes mysql stuff compile, and comments out format_mp3 and app_saycountpl

By: pbd (pbd) 2006-06-30 07:20:43

You guys work fast.  Thanks for correcting my STRTOQ gaffe- I was working to get it working, not necessarily to make it 'clean'.  The change to the help could be removed- I had accidentially put it in there while testing something else- it's just a removed space after the period.  Such is the nature of 'let's get this working' type patches.

Good luck.

By: Sherwood McGowan (rushowr) 2006-06-30 20:48:36

Test notes:
-Starting from clean copies of current trunks for asterisk and asterisk-addons
-Applied app_addons_mysql-trunk.patch (with -p0 option)
--No error from patch
-Applied compfix.patch
--No error from patch
-Make install worked properly for both.
-Had to noload res_config_mysql.so (no big here)
Asterisk will not load
Here's the error from the log:
Jul  1 09:41:41 WARNING[9961] loader.c: /usr/lib/asterisk/modules/app_addon_sql_mysql.so: undefined symbol: STANDARD_USECOUNT
Jul  1 09:41:41 WARNING[9961] loader.c: Loading module app_addon_sql_mysql.so failed!

By: Russell Bryant (russell) 2006-06-30 20:53:30

I have created a branch to start working on all of the things that are broken in asterisk-addons.  I will note my progress in this bug.

svn co http://svn.digium.com/svn/asterisk-addons/team/russell_fixup asterisk-addons-fixup

By: Russell Bryant (russell) 2006-06-30 21:18:21

All of the modules in my branch now build and load successfully for me.  Please test and let me know how it goes.

By: Russell Bryant (russell) 2006-06-30 21:28:39

I went ahead and merged my changes into the trunk.  Please re-open this issue or feel free to create a new one for any further problems.