pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/53089: qt5-qtbase workaround for ld assertion failure on NetBSD



>Number:         53089
>Category:       pkg
>Synopsis:       qt5-qtbase workaround for ld assertion failure on NetBSD
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 11 14:50:00 +0000 2018
>Originator:     Izumi Tsutsui
>Release:        NetBSD 7.1.1
>Organization:
>Environment:
System: NetBSD optiplex 7.1.1 NetBSD 7.1.1 (GENERIC.201712222334Z) i386
Architecture: i386 (but affects all)
Machine: i386
>Description:
On qt5 5.10.0 update, there was a "linker problem blocking qt5 update":
http://mail-index.netbsd.org/tech-pkg/2018/01/09/msg019292.html
which caused assertion failure of ld(1).

There is a suggested workaround to add -lexecinfo before -lQt5Widget for
each package that links Qt5Widget (without *.pro Qt settings with qmake):
http://mail-index.netbsd.org/tech-pkg/2018/01/14/msg019307.html

However it is a bit pain to check and add hacks.mk for all affected
packages:
 http://mail-index.netbsd.org/pkgsrc-changes/2018/02/12/msg170740.html
 (pkgsrc/inputmethod/mozc-tool also gets the same assertion)

If the packages use pkg-config to pull Qt5 libraries it is easier
to put -lexecinfo into /usr/pkg/lib/pkgconfig/Qt5Widget.pc file,
even though it's still a bit ugly.

>How-To-Repeat:
cd pkgsrc/inputmethod/mozc-tool && make package

>Fix:
Adding pkgsrc/x11/qt5-qtbase/hacks.mk to add -lexecinfo to
Qt5Widget.pc pkgconfig file in post-build seems to work around:

--- cut here ---
# $NetBSD$

.if !defined(QT5_QTBASE_HACKS_MK)
QT5_QTBASE_HACKS_MK= defined

### On NetBSD ld(1) gets assertion fails on linking Qt5Widget library
### after Qt 5.10.0 updates.
### Explicitly linking -lexecinfo before -lQt5Widgets (in the pkgconfig file)
### works around.
###  http://mail-index.netbsd.org/tech-pkg/2018/01/14/msg019307.html
.if ${OPSYS} == "NetBSD" && exists(/usr/lib/libexecinfo.so)
post-build:
	${SED}  -e 's/^Libs:/& -lexecinfo/g'\
		 ${WRKSRC}/lib/pkgconfig/Qt5Widgets.pc > \
		 ${WRKSRC}/lib/pkgconfig/Qt5Widgets.pc.hack
	${MV} ${WRKSRC}/lib/pkgconfig/Qt5Widgets.pc.hack \
		 ${WRKSRC}/lib/pkgconfig/Qt5Widgets.pc
.endif

.endif	# QT5_QTBASE_HACKS_MK
--- cut here ---



Home | Main Index | Thread Index | Old Index