[asterisk-bugs] [JIRA] (ASTERISK-27590) res_corosync doesn't load in builds after version 13.17.1

Isaac McDonald (JIRA) noreply at issues.asterisk.org
Tue Jan 23 12:57:50 CST 2018


    [ https://issues.asterisk.org/jira/browse/ASTERISK-27590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=241757#comment-241757 ] 

Isaac McDonald commented on ASTERISK-27590:
-------------------------------------------

I was able to compile and load res_corosync.so on fresh install of CentOS 7. This indicates there's something with my install that's causing this issue.

Prior to ASTERISK-25370 being fixed the only way to get Corosync working with Asterisk was to manually compile and install Corosync 1.4.8 since CentOS only provides packages for Corosync 2.x. 

libcoroipcc.so is a library leftover from the Corosync 1.x install that isn't removed when Corosync 1.x is uninstalled. After manually removing those additional libraries and removing all files and directories that contained "corosync" I did an ldconfig and then re-compiled Asterisk and got the same result when trying to load res_corosync.so.

Even with the extra Corosync 1.x libraries on the system the Corosync module used to compile properly in earlier versions of Asterisk. What changed between then and now? Could there be additional Corosync 1.x libraries that the configure script is finding that's causing this issue?

FWIW if you want to test for yourself you can grab Corosync 1.4.8 from here
wget http://build.clusterlabs.org/corosync/releases/corosync-1.4.8.tar.gz
and do the usual ./configure, make, make install



> res_corosync doesn't load in builds after version 13.17.1
> ---------------------------------------------------------
>
>                 Key: ASTERISK-27590
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27590
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_corosync
>    Affects Versions: 13.17.2, 13.18.0, 13.18.1, 13.18.2, 13.18.3, 13.18.4, 13.18.5
>         Environment: CentOS Linux release 7.4.1708 (Core)
> Corosync Cluster Engine, version '2.4.0'
>            Reporter: Isaac McDonald
>            Assignee: Isaac McDonald
>
> Something changed after Asterisk 13.17.1 that broke res_corosync. I've installed the latest version 13.19.0 and corosync is still broken. This is especially frustrating seeing as how the corosync module was recently fixed after being broke for 2 years only to be broken again after a couple builds.
> I think this commit may have something to do with it:
> {noformat}
> 2017-10-06 10:51 +0000 [0a11097a22]  Matt Jordan <mjordan at digium.com>
> 	* res_corosync: Fix linking issue with Corosync 2.x
> 	  At some point in time in the history of Corosync (certainly within the
> 	  2.x branch), the corosync_cfg_state_track function was removed.
> 	  Unfortunately, the cfg library is only linked if this function is
> 	  present. Without the cfg library being linked to res_corosync, loading
> 	  of res_corosync will fail.
> 	  This patch makes it so that detecting corosync's core libraries,
> 	  determined by the COROSYNC external library checks, links both the cpg
> 	  and cfg libraries with res_corosync.
> 	  Change-Id: I674e9e1c8fea11c3bf81154aaa7c1fd43f945465
> {noformat}
> Here's the error that's produced in the log when trying to load the module:
> {noformat}
> loader.c: Error loading module 'res_corosync.so': /usr/lib/asterisk/modules/res_corosync.so: undefined symbol: corosync_cfg_fd_get
> {noformat}
> Here is the ticket for the corosync module that was resolved several months ago along with the patches and other info if it helps.
> ASTERISK-25370 
> https://github.com/corosync/corosync/issues/57
> https://gerrit.asterisk.org/#/c/5858/
> https://gerrit.asterisk.org/5859
> https://gerrit.asterisk.org/5857
> If I can provide any additional details or logs please let me know.



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



More information about the asterisk-bugs mailing list