[asterisk-bugs] [JIRA] (ASTERISK-21720) Asterisk 11 cannot compile with multiple definitions. Possible libasteriskssl + openssl issue.

Matt Jordan (JIRA) noreply at issues.asterisk.org
Tue May 7 17:05:38 CDT 2013


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

Matt Jordan commented on ASTERISK-21720:
----------------------------------------

That's actually the point of libasteriskssl.

That library actually prevents a number of rather nasty bugs that happen when multiple libraries attempt to initialize OpenSSL at the same time. It intercepts these calls and ensures that they only occur once. It also manages some locking issues that multiple libraries using OpenSSL can run into.

Asterisk uses OpenSSL; a number of libraries that Asterisk uses also use OpenSSL. Someone has to initialize it; Asterisk ensures that only one does.
                
> Asterisk 11 cannot compile with multiple definitions. Possible libasteriskssl + openssl issue.
> ----------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-21720
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21720
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>    Affects Versions: 11.1.2, 11.2.1, 11.2.2
>         Environment: Gcc 4.8, openssl 1.0.1.e, 
>            Reporter: Boris
>            Assignee: Rusty Newton
>
> It seems when compiling with and without --disable-asteriskssl, It always fails at the same place building. I have even tried building asterisk 11 from the latest SVN repo. Still fails at the same place.
> make[1]: Leaving directory `/tmp/asterisk-11/menuselect'
>    [LD] abstract_jb.o acl.o adsi.o alaw.o aoc.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autochan.o autoservice.o bridging.o callerid.o ccss.o cdr.o cel.o channel.o channel_internal_api.o chanvars.o cli.o config.o config_options.o data.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o format.o format_cap.o format_pref.o frame.o framehook.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o libasteriskssl.o loader.o lock.o logger.o manager.o md5.o message.o named_acl.o netsock.o netsock2.o pbx.o plc.o poll.o presencestate.o privacy.o rtp_engine.o say.o sched.o security_events.o sha1.o sip_api.o slinfactory.o srv.o stdtime/localtime.o strcompat.o strings.o stun.o syslog.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a  -> asterisk
> /usr/lib64/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../lib64/libcrypto.a(cryptlib.o): In function `CRYPTO_set_locking_callback':
> (.text+0x150): multiple definition of `CRYPTO_set_locking_callback'
> libasteriskssl.o:/tmp/asterisk-11/main/libasteriskssl.c:133: first defined here
> /usr/lib64/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../lib64/libcrypto.a(cryptlib.o): In function `CRYPTO_set_id_callback':
> (.text+0x270): multiple definition of `CRYPTO_set_id_callback'
> libasteriskssl.o:/tmp/asterisk-11/main/libasteriskssl.c:124: first defined here
> /usr/lib64/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../lib64/libcrypto.a(err.o): In function `ERR_free_strings':
> (.text+0x1110): multiple definition of `ERR_free_strings'
> libasteriskssl.o:/tmp/asterisk-11/main/libasteriskssl.c:142: first defined here
> collect2: error: ld returned 1 exit status
> It looks like something in libasteriskssl is also defined in openssl (1.0.1e) that is making it fail.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list