Bug 233972 - net-p2p/linuxdcpp: Fails to build with OpenSSL 1.1.1 (on 12.0-RELEASE) error: member access into incomplete type 'dh_st'
Summary: net-p2p/linuxdcpp: Fails to build with OpenSSL 1.1.1 (on 12.0-RELEASE) error:...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL: http://beefy11.nyi.freebsd.org/data/h...
Keywords: needs-patch
Depends on:
Blocks: 231931
  Show dependency treegraph
Reported: 2018-12-13 06:26 UTC by Marko Cupać
Modified: 2019-11-28 14:49 UTC (History)
1 user (show)

See Also:
koobs: merge-quarterly?

linuxdcpp-1.1.0_13.log (4.81 KB, text/plain)
2018-12-13 06:26 UTC, Marko Cupać
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marko Cupać 2018-12-13 06:26:37 UTC
Created attachment 200072 [details]

Poudriere build of net-p2p/linuxdcpp fails probably because of TLSv1 depreciation. I have attached relevant part of poudriere log.
Comment 1 Tobias Kortkamp freebsd_committer 2018-12-13 07:16:09 UTC
The problem isn't the TLSv1 deprecation, but that OpenSSL 1.1.1 has made
many types (including DH) opaque, breaking API compatibility.

dcpp/CryptoManager.cpp:110:6: error: member access into incomplete type 'dh_st'
                        dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);

Port is unmaintained and upstream appears to be inactive since 2011.
This does not bode well for the future of this port.  Can you provide
a patch to add OpenSSL 1.1.1 support?
Comment 2 Marko Cupać 2018-12-13 12:35:24 UTC
(In reply to Tobias Kortkamp from comment #1)

Unfortunately I can't provide a patch as I don't understand the code.

I have reported this on linuxdc++'s launchpad:

Hopefully they will patch it upstream, or some FreeBSD user will chime in with a patch. I'd be glad to help with testing.
Comment 3 commit-hook freebsd_committer 2019-11-27 17:04:19 UTC
A commit references this bug:

Author: danfe
Date: Wed Nov 27 17:04:00 UTC 2019
New revision: 518512
URL: https://svnweb.freebsd.org/changeset/ports/518512

  - Allow to build against contemporary versions of OpenSSL and set
    missing INSTALLS_ICONS as reported by portlint(1)
  - Revert WITH_DEBUG part of the r512774 as explained by mat@:

    WITH_DEBUG means the port will be built with debugging symbols and
    will not be stripped.  So before, if WITH_DEBUG was set, it was built
    with all debugging bells and whistles.  Now, it only adds debug=1 to
    MAKE_ARGS, and it gets stripped in the end.  WITH_DEBUG must not be
    set by port options, it is a user-facing variable.

  PR:	233972

Comment 4 Alexey Dokuchaev freebsd_committer 2019-11-27 17:47:15 UTC
(In reply to Marko Cupać from comment #2)
> I'd be glad to help with testing.
It would be nice if you could update to ports r518512 and see if the port now works as intended.
Comment 5 Marko Cupać 2019-11-28 14:37:26 UTC
(In reply to Alexey Dokuchaev from comment #4)

It works! Thanks a lot, having dc++ client on FreeBSD means a lot to me.
Comment 6 Alexey Dokuchaev freebsd_committer 2019-11-28 14:49:04 UTC
(In reply to Marko Cupać from comment #5)
> It works!
Good.  Please don't forget to update the bug report you've filled upstream (at Launchpad), you can either attach a patch or leave a link to our svnweb.

> Thanks a lot, having dc++ client on FreeBSD means a lot to me.
I've also recently unbroken Eiskaltdcpp as of ports r517674 (it had similar problems with newish OpenSSL), you might try that one as well.