Bug 234555

Summary: converters/wkhtmltopdf: Fails to build with OpenSSL 1.1.1 (on FreeBSD 12.0)
Product: Ports & Packages Reporter: rainer
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Some People CC: ozkan.kirik, rainer
Priority: --- Flags: pi: maintainer-feedback+
pi: merge-quarterly+
Version: Latest   
Hardware: amd64   
OS: Any   
Bug Depends on:    
Bug Blocks: 231931    
Attachments:
Description Flags
poudriere build log wkhtmltopdf none

Description rainer 2019-01-02 02:01:48 UTC
Created attachment 200690 [details]
poudriere build log wkhtmltopdf

Trying to build on 12.0-RELEASE-p1, amd64

c++ -c -O2 -pipe -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -DLIBICONV_PLUG -std=gnu++98 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -pthread -D_THREAD_SAFE -fPIC -DENABLE_VIDEO=0 -DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/mkspecs/freebsd-g++ -I/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network -I../../include/QtCore -I../../include -I../../include/QtNetwork -I.rcc/release-static -I/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/kernel -I.moc/release-static -I/usr/local/include -I. -o .obj/release-static/qsslsocket_openssl_symbols.o /wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:825:5: error: use of undeclared identifier '_q_CRYPTO_free'; did you mean 'CRYPTO_free'?
    RESOLVEFUNC(CRYPTO_free)
    ^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:364:11: note: expanded from macro 'RESOLVEFUNC'
    if (!(_q_##func = _q_PTR_##func(libs.first->resolve(#func)))     \
          ^
<scratch space>:173:1: note: expanded from here
_q_CRYPTO_free
^
/usr/include/openssl/crypto.h:276:6: note: 'CRYPTO_free' declared here
void CRYPTO_free(void *ptr, const char *file, int line);
     ^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:825:5: error: use of undeclared identifier '_q_PTR_CRYPTO_free'
    RESOLVEFUNC(CRYPTO_free)
    ^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:364:23: note: expanded from macro 'RESOLVEFUNC'
    if (!(_q_##func = _q_PTR_##func(libs.first->resolve(#func)))     \
                      ^
<scratch space>:174:1: note: expanded from here
_q_PTR_CRYPTO_free
^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:825:5: error: use of undeclared identifier '_q_CRYPTO_free'; did you mean 'CRYPTO_free'?
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:365:14: note: expanded from macro 'RESOLVEFUNC'
        && !(_q_##func = _q_PTR_##func(libs.second->resolve(#func)))) \
             ^
<scratch space>:175:1: note: expanded from here
_q_CRYPTO_free
^
/usr/include/openssl/crypto.h:276:6: note: 'CRYPTO_free' declared here
void CRYPTO_free(void *ptr, const char *file, int line);
     ^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:825:5: error: use of undeclared identifier '_q_PTR_CRYPTO_free'
    RESOLVEFUNC(CRYPTO_free)
    ^
/wrkdirs/usr/ports/converters/wkhtmltopdf/work/qt-5db36ec/src/network/ssl/qsslsocket_openssl_symbols.cpp:365:26: note: expanded from macro 'RESOLVEFUNC'
        && !(_q_##func = _q_PTR_##func(libs.second->resolve(#func)))) \
                         ^
<scratch space>:176:1: note: expanded from here
_q_PTR_CRYPTO_free
^
4 errors generated.
gmake[2]: *** [Makefile:17995: .obj/release-static/qsslsocket_openssl_symbols.o] Error 1
gmake[2]: Leaving directory '/wrkdirs/usr/ports/converters/wkhtmltopdf/work/wkhtmltopdf-0.12.5/build/qt/src/network'
gmake[1]: *** [Makefile:276: sub-network-all-ordered] Error 2
gmake[1]: Leaving directory '/wrkdirs/usr/ports/converters/wkhtmltopdf/work/wkhtmltopdf-0.12.5/build/qt'
*** Error code 1

Stop.
make: stopped in /usr/ports/converters/wkhtmltopdf
=>> Cleaning up wrkdir
===>  Cleaning for wkhtmltopdf-0.12.5_2
build of converters/wkhtmltopdf | wkhtmltopdf-0.12.5_2 ended at Tue Jan  1 19:08:58 CET 2019
build time: 00:13:08
!!! build failure encountered !!!
Comment 1 rainer 2019-01-02 20:27:47 UTC
2019Q1 ports-tree, if this isn't clear.
Comment 2 Kurt Jaeger freebsd_committer freebsd_triage 2019-01-02 20:38:09 UTC
I'm aware of the problem. wkhtmltopdf-0.12 has a copy of qt-4.8 with patches
included, which no longer builds due to openssl-1.1.1.

There's a 0.13-alpha branch, but it seems like it's not really maintained.

https://github.com/wkhtmltopdf/wkhtmltopdf/blob/0.13/README.md#013-alpha

It has a copy of qt-5.4.2, but it's not yet released. I think wkhtmltopdf
can not easily be ported to fbsd12 8-(
Comment 3 rainer 2019-01-02 20:46:13 UTC
I assume it's not a good idea to install openssl 1.0 (security/openssl) and link to that?

Because that's what various people on stackoverflow etc. seem to suggest.

I sort of need wkhtmltopdf.
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2019-01-02 20:51:09 UTC
(In reply to rainer from comment #3)
I also need it, but I had no time to understand how to depend on security/openssl
instead and not mess up a 12-system. Maybe brnrd can help us here ?
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2019-01-04 16:34:16 UTC
*** Bug 234615 has been marked as a duplicate of this bug. ***
Comment 6 Kurt Jaeger freebsd_committer freebsd_triage 2019-01-05 22:02:22 UTC
Upstream provided the pointer how to build it. Tested on 12.0a. Looks fine.
Comment 7 commit-hook freebsd_committer freebsd_triage 2019-01-05 22:03:42 UTC
A commit references this bug:

Author: pi
Date: Sat Jan  5 22:03:29 UTC 2019
New revision: 489390
URL: https://svnweb.freebsd.org/changeset/ports/489390

Log:
  converters/wkhtmltopdf: fix build with openssl 1.1.1

  PR:		234555
  Submitted by:	Ashish Kulkarni <kulkarni.ashish@gmail.com> (upstream)
  Reported by:	rainer@ultra-secure.de
  MFH:		2019Q1

Changes:
  head/converters/wkhtmltopdf/Makefile
Comment 8 Kurt Jaeger freebsd_committer freebsd_triage 2019-01-06 09:00:45 UTC
Committed, thanks to all
Comment 9 commit-hook freebsd_committer freebsd_triage 2019-01-06 09:00:53 UTC
A commit references this bug:

Author: pi
Date: Sun Jan  6 09:00:07 UTC 2019
New revision: 489445
URL: https://svnweb.freebsd.org/changeset/ports/489445

Log:
  MFH: r489390

  converters/wkhtmltopdf: fix build with openssl 1.1.1

  PR:		234555
  Submitted by:	Ashish Kulkarni <kulkarni.ashish@gmail.com> (upstream)
  Reported by:	rainer@ultra-secure.de
  Approved by:	portmgr (miwi)

Changes:
_U  branches/2019Q1/
  branches/2019Q1/converters/wkhtmltopdf/Makefile