[asterisk-bugs] [JIRA] (ASTERISK-25727) RPM build requires OPTIONAL_API cflag due to PJSIP requirement

Rusty Newton (JIRA) noreply at issues.asterisk.org
Thu Jan 28 08:09:32 CST 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-25727:
------------------------------------

    Description: 
I built 13.7.0 on Fedora 23 (gcc 5.3.1) and res_pjsip fails to load with the message: {{Error loading module 'res_pjsip.so': /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: ast_statsd_log_full_va}}

Vanilla configure, make, make install: works
rpm build with hardening enabled (fedora default): asterisk starts up, but res_pjsip is not loaded, and cannot be loaded
rpm build with hardenind disabled (%undefine _hardened_build): asterisk doesn't even starts with the message above

update:

Made a successful build with rpmbuild:
The problem was with the OPTIONAL_API cflag was not enabled in my build. As it turned out, it is not optional for PJSIP in 13.7.0 (it uses ast_statsd_log_full_va which is exported only if this flag is set), thus it must be turned on.
If it is enabled, asterisk starts properly both with _hardened_build enabled and disabled. However when _hardened_build is enabled, there are a bunch of warnings during startup about various undefined symbols, but at the end everything loads just fine. If it is disabled there are no such messages.


  was:
I built 13.7.0 on Fedora 23 (gcc 5.3.1) and res_pjsip fails to load with the message: {{Error loading module 'res_pjsip.so': /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: ast_statsd_log_full_va}}

Vanilla configure, make, make install: works
rpm build with hardening enabled (fedora default): asterisk starts up, but res_pjsip is not loaded, and cannot be loaded
rpm build with hardenind disabled (%undefine _hardened_build): asterisk doesn't even starts with the message above



> RPM build requires OPTIONAL_API cflag due to PJSIP requirement
> --------------------------------------------------------------
>
>                 Key: ASTERISK-25727
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25727
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip
>    Affects Versions: 13.7.0
>         Environment: Fedora 23
>            Reporter: Gergely Dömsödi
>            Assignee: Unassigned
>         Attachments: asterisk_hardened_debug.txt, asterisk_not_hardened_debug.txt, build.log.txt, modules.dir.txt
>
>
> I built 13.7.0 on Fedora 23 (gcc 5.3.1) and res_pjsip fails to load with the message: {{Error loading module 'res_pjsip.so': /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: ast_statsd_log_full_va}}
> Vanilla configure, make, make install: works
> rpm build with hardening enabled (fedora default): asterisk starts up, but res_pjsip is not loaded, and cannot be loaded
> rpm build with hardenind disabled (%undefine _hardened_build): asterisk doesn't even starts with the message above
> update:
> Made a successful build with rpmbuild:
> The problem was with the OPTIONAL_API cflag was not enabled in my build. As it turned out, it is not optional for PJSIP in 13.7.0 (it uses ast_statsd_log_full_va which is exported only if this flag is set), thus it must be turned on.
> If it is enabled, asterisk starts properly both with _hardened_build enabled and disabled. However when _hardened_build is enabled, there are a bunch of warnings during startup about various undefined symbols, but at the end everything loads just fine. If it is disabled there are no such messages.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list