Summary:ASTERISK-10846: revision 89461 Problems with loader.c
Reporter:Holger Hornung (netview)Labels:
Date Opened:2007-11-20 16:18:29.000-0600Date Closed:2007-11-26 10:37:41.000-0600
Versions:Frequency of
Environment:Attachments:( 0) allow-codec.diff
( 1) allow-codecs.diff
Description:After this patch, it is no longer possible to load the modul codec_g729a.so

Message: Module ... was not compiled with the same compile-time options as this version of Asterisk.
Comments:By: Holger Hornung (netview) 2007-11-22 01:51:02.000-0600

With the attached patch it is possible to use 'commercial' codecs like codec_g729a.so or codec_g723.so s.o. (patch 'allow-codec.diff' is wrong!).

This patch is working and tested: allow-codecs.diff

By: Joshua C. Colp (jcolp) 2007-11-26 10:02:22.000-0600

The correct solution is to get an updated module that has been built against a newer Asterisk so the structures match.

By: Holger Hornung (netview) 2007-11-26 10:33:54.000-0600

Sorry - but this is the "actual" codec im using with asterisk 1.4.14 rev. 89559 build under debian etch:


asterisk rejects loading of the codec g.729 with an error message. This happens, because all modules compiled an linked have now the following field/string:

module.h (rev. 89461/89462):
/*! The value of AST_BUILDOPT_SUM when this module was compiled */
          const char buildopt_sum[33];


case ${OSARCH} in       # actually we should check build_os
          BUILDSUM=`echo ${TMP} | md5 | cut -c1-32`
          BUILDSUM=`echo ${TMP} | md5sum | cut -c1-32`
  echo "#define AST_BUILDOPT_SUM \"${BUILDSUM}\""

and this field is checked by loader.c!

But the original licenced codec g729.so from digium is a binary file and it is rejected because buildopt_sum is missing (with g.723 it is the same problem because I need also a licence and I didn't have the source to compile it to include buildopt_sum).

By: Joshua C. Colp (jcolp) 2007-11-26 10:37:41.000-0600

An updated G729 codec from Digium will be released shortly.