[asterisk-dev] Optional api and weak symbol problem

Yaroslav Panych panych.y at gmail.com
Thu Nov 3 05:36:31 CDT 2011


Recently(in the middle of July) I started to build and test Asterisk
on Cygwin platform. As of October I had a little success(despite bugs
I reported to JIRA and sent fixes): I eventually managed to build and
run asterisk, and it even receive calls from some SIP softclients.

Now I decided to regroup my work. So my first task is to build as much
Asterisk's modules as it is possible on platform. And one of problems
I faced is next:
Cygwin, or more precisely Binary format of Windows Platform(PE), does
not support runtime unresolved references and so called weak
symbols(at least not in form it used in asterisk). Optional API is
based on such thinks, so it is basically non-portable into
Cygwin/Windows platform. So building process emits a lot of error
messages about unresolved symbols. So part of modules which use
optional API(Marked as Canuse something) is unbuildable now.(For
instance chan_iax2 and chan_dundi requires symbols from res_crypto,
which is not built because of lack of dependencies).

1. I think Optional API should be rewritten in order to conform one of
supported platforms.
2. As workaround, all optional dependencies on Cygwin platform should
be converted to required dependencies(by configurator or conditional

Unfortunately, I cannot do neither of variants on my own(lack of
experience) so require developers approval and guidance.

regards, Yaroslav

More information about the asterisk-dev mailing list