Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 May 2019 21:04:53 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        tcberner@freebsd.org, ports-list freebsd <freebsd-ports@freebsd.org>
Subject:   Re: FYI: Unable to build -r501994 ports' devel/qt5-core on clang 8 based powerpc64 system: "Q_ATOMIC_INT64_IS_SUPPORTED must be defined on a 64-bit platform"
Message-ID:  <EA1C10EA-C7CE-4546-BAFA-CB914BA95FD9@yahoo.com>
In-Reply-To: <3CD3FC58-C0FB-4E5A-9FE8-6A64D8E7BA82@yahoo.com>
References:  <2E1BCA58-8420-4B74-A0CB-FBDC744BDDA6@yahoo.com> <3B8E25C1-1EB4-4D18-A45F-72555C3AC13D@yahoo.com> <3CD3FC58-C0FB-4E5A-9FE8-6A64D8E7BA82@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[I've tested the proposed Mk/Uses/qt-dist.mk fix.]

On 2019-May-21, at 17:15, Mark Millard <marklmi at yahoo.com> wrote:

> On 2019-May-21, at 16:20, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> I'm top posting because the problem originally reported seems to be
>> a later consequence of a much earlier problem. Looking in the logs
>> showed lots of use of -I%%LOCALBASE%%/lib/gcc8/include/c++ and =
looking in:
>>=20
>> =
/wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/mkspec=
s/freebsd-g++/qmake.conf
>>=20
>> shows:
>>=20
>> EXTRA_INCLUDEPATH       +=3D /usr/local/lib/gcc8/include =
%%LOCALBASE%%/lib/gcc8/include/c++
>>=20
>>=20
>> That seems to drive from the qmake.conf.bak:
>>=20
>> EXTRA_INCLUDEPATH       +=3D =
/usr/local/lib/gcc%%GCC_DEFAULT%%/include =
%%LOCALBASE%%/lib/gcc%%GCC_DEFAULT%%/include/c++
>>=20
>> So %%GCC_DEFAULT%% managed to be replaced corrctly.
>>=20
>> Notably qmake.conf.orig does not have the line at all:
>>=20
>> #
>> # qmake configuration for freebsd-g++
>> #
>>=20
>> MAKEFILE_GENERATOR      =3D UNIX
>> QMAKE_PLATFORM          =3D freebsd
>>=20
>> include(../common/bsd/bsd.conf)
>>=20
>> # Addon software goes into /usr/local on FreeBSD, by default we will =
look there
>> QMAKE_INCDIR_POST       =3D /usr/local/include
>> QMAKE_LIBDIR_POST       =3D /usr/local/lib
>>=20
>> include(../common/gcc-base-unix.conf)
>> include(../common/g++-unix.conf)
>> load(qt_config)
>>=20
>>=20
>>=20
>> /usr/ports/Mk/Uses/qt-dist.mk has:
>>=20
>> post-patch: gcc-post-patch
>> gcc-post-patch:
>>       ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
>>               ${WRKSRC}/mkspecs/common/gcc-base.conf \
>>               ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
>>       ${REINPLACE_CMD} 's|%%GCC_DEFAULT%%|${GCC_DEFAULT}|g' \
>>               ${WRKSRC}/mkspecs/common/gcc-base.conf \
>>               ${WRKSRC}/mkspecs/common/g++-base.conf \
>>               ${WRKSRC}/mkspecs/common/bsd/bsd.conf \
>>               ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
>>=20
>> and:
>>=20
>> post-patch: qtbase-post-patch
>> qtbase-post-patch:
>>       ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
>>               ${WRKSRC}/mkspecs/common/bsd/bsd.conf \
>>               ${WRKSRC}/mkspecs/freebsd-clang/qmake.conf
>>=20
>>=20
>> My guess here is that back in gcc-post-patch:
>>=20
>> gcc-post-patch:
>>       ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
>>               ${WRKSRC}/mkspecs/common/gcc-base.conf \
>>               ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
>> . . .
>>=20
>> it needs -e and a g in order to do more than one substitution:
>=20
> Actually the -e would be optional and appears to not be
> needed in qtbase-post-patch as well --or could be added
> to the %%GCC_DEFAULT%% replacement.
>=20
> The "g" is the important part.
>=20
>> gcc-post-patch:
>>       ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
>>               ${WRKSRC}/mkspecs/common/gcc-base.conf \
>>               ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
>> . . .
>=20

Now that the original, overall poudriere bulk is over on the old
PowerMac, I've retried based on:

Index: /usr/ports/Mk/Uses/qt-dist.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /usr/ports/Mk/Uses/qt-dist.mk	(revision 501994)
+++ /usr/ports/Mk/Uses/qt-dist.mk	(working copy)
@@ -251,7 +251,7 @@
 .if ${_QT_VER:M5}
 post-patch: gcc-post-patch
 gcc-post-patch:
-	${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
+	${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
 		${WRKSRC}/mkspecs/common/gcc-base.conf \
 		${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
 	${REINPLACE_CMD} 's|%%GCC_DEFAULT%%|${GCC_DEFAULT}|g' \
@@ -298,7 +298,7 @@
 # ports/194088.
 post-patch: qtbase-post-patch
 qtbase-post-patch:
-	${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+	${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
 		${WRKSRC}/mkspecs/common/bsd/bsd.conf \
 		${WRKSRC}/mkspecs/freebsd-clang/qmake.conf
=20

(So having the missing g added but not having the optional -e
usage in the other %%LOCALBASE%% related coommand.)

The result was:

[00:02:14] [02] [00:00:00] Building devel/qt5-core | qt5-core-5.12.2_1
[00:39:26] [02] [00:37:12] Finished devel/qt5-core | qt5-core-5.12.2_1: =
Success

So it looks like I picked out the problem correctly and
Mk/Uses/qt-dist.mk needs an update.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EA1C10EA-C7CE-4546-BAFA-CB914BA95FD9>