Bug 213573

Summary: net-im/ejabberd: failed to load TLS driver
Product: Ports & Packages Reporter: Marko Cupać <marko.cupac>
Component: Individual Port(s)Assignee: Ashish SHUKLA <ashish>
Status: Closed Overcome By Events    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (ashish)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Marko Cupać 2016-10-17 15:27:37 UTC
Hi,

I have successfully rebuilt my ejabberd with DEFAULT_VERSIONS+= ssl=libressl. It also installs fine. However, it fails to start, giving me the following in crash.log:

2016-10-17 17:06:30 =ERROR REPORT====
failed to load TLS driver: Undefined symbol "OPENSSL_cleanup"
2016-10-17 17:06:30 =CRASH REPORT====
  crasher:
    initial call: fast_tls:init/1
    pid: <0.132.0>
    registered_name: []
    exception exit: {{open_error,-11},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,344}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
    ancestors: [fast_tls_sup,<0.130.0>]
    messages: []
    links: [<0.131.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 987
    stack_size: 27
    reductions: 639
  neighbours:
2016-10-17 17:06:30 =SUPERVISOR REPORT====
     Supervisor: {local,fast_tls_sup}
     Context:    start_error
     Reason:     {open_error,-11}
     Offender:   [{pid,undefined},{id,fast_tls},{mfargs,{fast_tls,start_link,[]}},{restart_type,permanent},{shutdown,brutal_kill},{child_type,worker}]

2016-10-17 17:06:30 =CRASH REPORT====
  crasher:
    initial call: application_master:init/4
    pid: <0.129.0>
    registered_name: []
    exception exit: {{{shutdown,{failed_to_start_child,fast_tls,{open_error,-11}}},{fast_tls_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
    ancestors: [<0.128.0>]
    messages: [{'EXIT',<0.130.0>,normal}]
    links: [<0.128.0>,<0.31.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 376
    stack_size: 27
    reductions: 122
  neighbours:

Any chance to make this work? Thank you in advance.
Comment 1 Ashish SHUKLA freebsd_committer freebsd_triage 2016-10-18 11:47:14 UTC
Hi Marko,

I don't test it with LibreSSL, so that's why it probably doesn't work as expected. In any case, the culprit is commit b98330[1] on processone/fast_tls, which uses an OpenSSL API function, which doesn't seem to be present in LibreSSL.

I don't want to add a hack downstream for this, without consulting upstream. So, I would suggest opening a PR with them, and if they commit a fix that works, I'll be happy to integrate it in the port.

[1] https://github.com/processone/fast_tls/commit/b98330#diff-24ec08642e839effb1f53067942ad227R349

HTH
Comment 2 Marko Cupać 2017-07-26 15:39:32 UTC
I don't use libressl as DEFAULT_VERSIONS anymore.