[asterisk-users] G729 copy protection

Bruce McAlister bruce.mcalister at blueface.ie
Fri Aug 31 04:18:35 CDT 2007


Jason Parker wrote:
> 
> Bruce,
>     Please see my response to some of these questions on July 23rd.
> 
> http://lists.digium.com/pipermail/asterisk-users/2007-July/192473.html
> 
> I'm not entirely certain of what libraries we statically link in, but if you
> see any problems with the output of `ldd codec_g729.so`, those will of course
> need to be installed.
> 

Hi Jason,

Thanks for the information, it appears then that you have built the
codec on Solaris 10 (not OpenSolaris).

Do you know if the build was done against the libraries that come with
Solaris 10, or did you have newer libraries installed that would be
required?

An "ldd codec_g729.so" yields the following:

ldd ./codec_g729a.so
libgcc_s.so.1 =>         /usr/sfw/lib/libgcc_s.so.1
libc.so.1 =>             /lib/libc.so.1
libm.so.2 =>             /lib/libm.so.2

however an "ldd -r codec_g729a.so" yields the following:

ldd -r ./codec_g729a.so
libgcc_s.so.1 =>         /usr/sfw/lib/libgcc_s.so.1
libc.so.1 =>     /lib/libc.so.1 symbol not found: ast_cli_unregister
        (./codec_g729a.so)
        symbol not found: ast_translator_activate
(./codec_g729a.so)
        symbol not found: ast_translator_activate
(./codec_g729a.so)
        symbol not found: log10         (./codec_g729a.so)
        symbol not found: log10         (./codec_g729a.so)
        symbol not found: log10         (./codec_g729a.so)
        symbol not found: log10         (./codec_g729a.so)
        symbol not found: log10         (./codec_g729a.so)
        symbol not found: pow           (./codec_g729a.so)
        symbol not found: cos           (./codec_g729a.so)
        symbol not found: acos          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: sqrt          (./codec_g729a.so)
        symbol not found: ast_verbose           (./codec_g729a.so)
        symbol not found: ast_verbose           (./codec_g729a.so)
        symbol not found: ast_verbose           (./codec_g729a.so)
        symbol not found: ast_module_register           (./codec_g729a.so)
        symbol not found: connect               (./codec_g729a.so)
        symbol not found: ast_cli_register              (./codec_g729a.so)
        symbol not found: ast_cli               (./codec_g729a.so)
        symbol not found: ast_config_AST_VAR_DIR
(./codec_g729a.so)
        symbol not found: ast_config_AST_VAR_DIR
(./codec_g729a.so)
        symbol not found: socket                (./codec_g729a.so)
        symbol not found: socket                (./codec_g729a.so)
        symbol not found: socket                (./codec_g729a.so)
        symbol not found: __ast_register_translator
(./codec_g729a.so)
        symbol not found: __ast_register_translator
(./codec_g729a.so)
        symbol not found: ast_unregister_translator
(./codec_g729a.so)
        symbol not found: ast_unregister_translator
(./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_log               (./codec_g729a.so)
        symbol not found: ast_module_unregister         (./codec_g729a.so)
        symbol not found: ast_trans_frameout            (./codec_g729a.so)
        symbol not found: ast_translator_deactivate
(./codec_g729a.so)
        symbol not found: ast_translator_deactivate
(./codec_g729a.so)
        symbol not found: shutdown              (./codec_g729a.so)
        symbol not found: shutdown              (./codec_g729a.so)
        symbol not found: option_verbose                (./codec_g729a.so)
        symbol not found: option_verbose                (./codec_g729a.so)
        symbol not found: option_verbose                (./codec_g729a.so)
        libm.so.2 =>     /lib/libm.so.2


The strange thing here is that one would have thought that the following
symbols would be part of the math library (libm), however, they are
undefined/not found here:

cos,
acos,
sqrt

The rest of the symbols I can only assume are exported by the asterisk
binary.

I'm just wondering if there are any particular libraries that are needed
within a standard solaris build that you are building against.

If not, what is it that the G729 codec attempts to do upon startup that
would cause the "copy protection failed" message?

Have you actually managed to get the codec loaded on an asterisk build
on solaris, and managed to perform a "show g729"?

Any tips/suggestions/comments are most welcome.

Thanks
Bruce




More information about the asterisk-users mailing list