Bug 243313 - net/xmlrpc-c: 1.51.06 fails to compile on 11.3 undefined reference to `SSLv23_server_method'
Summary: net/xmlrpc-c: 1.51.06 fails to compile on 11.3 undefined reference to `SSLv23...
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Renato Botelho
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-13 10:30 UTC by Philip Homburg
Modified: 2020-04-14 13:32 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (garga)


Attachments
poudriere log (208.03 KB, text/plain)
2020-01-13 10:30 UTC, Philip Homburg
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Homburg 2020-01-13 10:30:54 UTC
Created attachment 210688 [details]
poudriere log

undefined reference to `SSLv23_server_method'

See attached poudriere log
Comment 1 jwdevel 2020-02-05 21:40:37 UTC
I just hit this too.

I see in the OpenSSL 1.1.1 docs[1] that this function was removed.
The function was present, but deprecated, in 1.1.0.

However, those same docs say that a preprocessor macro should automatically rename the old function to the new one, so it looks like somehow that's not happening in this case.

For me at least, this might have been triggered as a result of the 20200101 /usr/ports/UPDATING entry.

Two relevant points seem to be:
* xmlrpc-c port should be patched to use the new API calls
* not sure why the preprocessor switcheroo didn't work in this case.

[1]
https://www.openssl.org/docs/man1.1.1/man3/SSLv23_server_method.html

    SSLv23_method(), SSLv23_server_method(), SSLv23_client_method()

    These functions do not exist anymore, they have been renamed
    to TLS_method(), TLS_server_method() and TLS_client_method()
    respectively. Currently, the old function calls are renamed to the
    corresponding new ones by preprocessor macros, to ensure that existing
    code which uses the old function names still compiles. However, using
    the old function names is deprecated and new code should call the new
    functions instead.
Comment 2 jwdevel 2020-02-05 21:46:12 UTC
FYI: It looks like all uses of this function in xmlrpc-c is in the 'examples' code.

	$ pwd
	/usr/ports/net/xmlrpc-c/work/xmlrpc-c-1-51.06

	$ ack SSLv23_server_method
	examples/ssl_server.c
	188:    sslCtxP = SSL_CTX_new(SSLv23_server_method());

	examples/ssl_secure_server.c
	196:    sslCtxP = SSL_CTX_new(SSLv23_server_method());
	$
Comment 3 jwdevel 2020-02-05 22:46:02 UTC
I was able to work around the issue by adding this to the Makefile:

    CONFIGURE_ARGS= --disable-abyss-openssl
Comment 4 Renato Botelho freebsd_committer 2020-04-14 12:36:23 UTC
Are you still seeing this problem?  I've built xmlrpc-c with no issues on my poudriere instance and also see package is available at official 11.x repository at https://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/
Comment 5 Philip Homburg 2020-04-14 12:43:18 UTC
It's not an issue for me because I switched entirely to 12.1. I could do a build on 11.3 if that would have some value.
Comment 6 Renato Botelho freebsd_committer 2020-04-14 13:32:26 UTC
(In reply to Philip Homburg from comment #5)
It's not needed since official pkg builders could do it without issue and I also did.  I'm closing the ticket.  Thanks!