From owner-freebsd-ppc@freebsd.org Tue May 21 23:20:27 2019 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49CA51593461 for ; Tue, 21 May 2019 23:20:27 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-3.consmr.mail.bf2.yahoo.com (sonic303-3.consmr.mail.bf2.yahoo.com [74.6.131.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27AD8865D2 for ; Tue, 21 May 2019 23:20:26 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: rVyToH4VM1k2KEHM7FLWCw15bo3WMn2NLpkyh_hrPzjkM.slduZB0rD_Fh3TZ.8 Fowk0zrAxT5Q1mI0ezGLzKI_NiQ3F_z7xZoGxZnO2g1NchMirWT3N4X07IuRqqQSiYNqR8ZiiBCI CyRLLfHooUbiieUJQ9GtUpfc0EJHPoq_fpzAidnjuBynDbv0nnajyYUy330Bdyaad8JiosjBg_o0 ahP3gCQErFKsqdEU9NIS9ik4CchMd7OVoNdn60RNnNpBxnaE8Vqoq3ZCXuRI6rh3I99VvAo2akAX szMcq8265I191gNYhdXcbWx.Xov1gximCewErbbj696tjBzXvNv2MRTPxbZdonTmk_u5fkg_MSWA QX1qVngR9UHS7PfZoxbx_EO_HHeNPZS6wSgnEG_JQ4WkueKhj3XW02FZji7MRJNvsCZyQGC5Gzok qhA4iIOaN0dMsBxYtjuYnRURGiV6ykp4TPmMd1GCjbJWdAgAYoK3NKj.xSsUVgEIG9adLpNv7bQN W3U3Dq0MnedDZM_ntUOjEFBq9CHsi6q9P3YJ6L.UX6q9KDCLQWBN.GgpGlDyfLBBxKFqC7AkcdkL OdTIU1P6jdM3mTmUA3TYN.5AfEDcrDbpMZbjoa8sSE4PvpDskvHmdeDw2YTLrM_cuXqFxerpYhjx sKeOQXRNUTzOLBcrss3WOGk0FyrAaBWzNV7a7A2Cob4SNVwz7A8wh70XIqXDLxt3j5liVHVi3hIf iu5ZkOGn2y5ouUX1oTY9qF0nJ4hnOJEZGv8VGcsM80EH_C5zknzqKIp5deur13U5ECnmaN_zu9k9 75bNezptTtJT81MFTGLAcH7rFLr8tZDVZPR.MPCUjlGFZS.nEUvJCYuGvDWaC7ejvkUI9tWYT8DL Mfngr3Rg1rK.Zoaq3WUlDacBA.pDid19w98oRK_ZtaU7gIxuKAl.R_vPntSCzVv_bqFqAlZv4gJf r31jMsQI83lBrPpY9WdXKdMCOQfAZFmAzBjJyL1Z21EoXaMFz7NhsY0k.HNScIe9GH2jrKIvpCX0 oJKWT.Nrlr3yO05DSoc4oAmVAD6ZL6AdaWxB3x7QjfckYW2kforqFpycbom0StlotQM5akrHP.iZ IiHIZ4bu0HX6aCFpZWJn.sSrQwUoBWxM_hLcpJB.X0uJczpei5aafaDjXEOaod0tL3KR1A6DB7GO 9O96ay_NMagcvsKnZPH7eAea.G0zTHqNbiwAJ6mpIHKR4.pTwQXmhV.b2tuNvpF0hcW4rfUCvPfM - Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.bf2.yahoo.com with HTTP; Tue, 21 May 2019 23:20:19 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.103]) ([76.115.7.162]) by smtp404.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 5361bbaf3ff9ec2feff4ee69999bc0e1; Tue, 21 May 2019 23:20:17 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) 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" From: Mark Millard In-Reply-To: <2E1BCA58-8420-4B74-A0CB-FBDC744BDDA6@yahoo.com> Date: Tue, 21 May 2019 16:20:15 -0700 Cc: FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <3B8E25C1-1EB4-4D18-A45F-72555C3AC13D@yahoo.com> References: <2E1BCA58-8420-4B74-A0CB-FBDC744BDDA6@yahoo.com> To: ports-list freebsd , tcberner@freebsd.org X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: 27AD8865D2 X-Spamd-Bar: / X-Spamd-Result: default: False [0.44 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:26101, ipnet:74.6.128.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.59)[-0.592,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_SPAM_SHORT(0.29)[0.292,0]; NEURAL_HAM_LONG(-0.27)[-0.268,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(1.52)[ip: (4.82), ipnet: 74.6.128.0/21(1.57), asn: 26101(1.26), country: US(-0.06)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[42.131.6.74.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 May 2019 23:20:27 -0000 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: = /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/mkspec= s/freebsd-g++/qmake.conf shows: EXTRA_INCLUDEPATH +=3D /usr/local/lib/gcc8/include = %%LOCALBASE%%/lib/gcc8/include/c++ That seems to drive from the qmake.conf.bak: EXTRA_INCLUDEPATH +=3D /usr/local/lib/gcc%%GCC_DEFAULT%%/include = %%LOCALBASE%%/lib/gcc%%GCC_DEFAULT%%/include/c++ So %%GCC_DEFAULT%% managed to be replaced corrctly. Notably qmake.conf.orig does not have the line at all: # # qmake configuration for freebsd-g++ # MAKEFILE_GENERATOR =3D UNIX QMAKE_PLATFORM =3D freebsd include(../common/bsd/bsd.conf) # 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 include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) load(qt_config) /usr/ports/Mk/Uses/qt-dist.mk has: 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 and: 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 My guess here is that back in gcc-post-patch: gcc-post-patch: ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/mkspecs/common/gcc-base.conf \ ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf . . . it needs -e and a g in order to do more than one substitution: gcc-post-patch: ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/mkspecs/common/gcc-base.conf \ ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf . . . On 2019-May-19, at 07:40, Mark Millard wrote: > This was in a poudriere bulk build on a head -r347549 based powerpc64 > system with system clang 8 for cc and c++ and base/binutils > for the likes of ld. But the build of qt5-core uses g++8. >=20 > The log shows: >=20 > --- .obj/qatomic.o --- > g++8 -c -O2 -pipe -g -fstack-protector-strong = -Wl,-rpath=3D/usr/local/lib/gcc8 -Wl,-rpath=3D/usr/local/lib/gcc8 -Og = -std=3Dc++1z -fvisibility=3Dhidden -fvisibility-inlines-hidden -Wall -W = -pthread -fPIC -DQT_GLIB -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH = -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_CORE_LIB = -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS = -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS = -DQT_DISABLE_DEPRECATED_BEFORE=3D0x050000 -D_LARGEFILE64_SOURCE = -D_LARGEFILE_SOURCE -I. -Iglobal -I../3rdparty/harfbuzz/src = -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty = -I../3rdparty/double-conversion/include = -I../3rdparty/double-conversion/include/double-conversion = -I../3rdparty/forkfd -I../3rdparty/tinycbor/src -I../../include = -I../../include/QtCore -I../../include/QtCore/5.12.2 = -I../../include/QtCore/5.12.2/QtCore -I.moc -I.tracegen -isystem = /usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include = -I/usr/local/lib/gcc8/include -I%%LOCALBASE%%/lib/gcc8/include/c++ = -isystem /usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-g++ -o = .obj/qatomic.o thread/qatomic.cpp > thread/qatomic.cpp:1624:4: error: #error "Q_ATOMIC_INT64_IS_SUPPORTED = must be defined on a 64-bit platform" > # error "Q_ATOMIC_INT64_IS_SUPPORTED must be defined on a 64-bit = platform" > ^~~~~ > In file included from ../../include/QtCore/qglobal.h:1, > from thread/qatomic.h:41, > from thread/qatomic.cpp:41: > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In = instantiation of 'class QBasicAtomicInteger': > ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger' > thread/qatomic.cpp:1631:1: required from here > ../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: = static assertion failed: template parameter is an integral of a size not = supported on this platform > # define Q_STATIC_ASSERT_X(Condition, Message) = static_assert(bool(Condition), Message) > = ^~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: = note: in expansion of macro 'Q_STATIC_ASSERT_X' > Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, = "template parameter is an integral of a size not supported on this = platform"); > ^~~~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In = instantiation of 'class QBasicAtomicInteger': > ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger' > thread/qatomic.cpp:1632:1: required from here > ../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: = static assertion failed: template parameter is an integral of a size not = supported on this platform > # define Q_STATIC_ASSERT_X(Condition, Message) = static_assert(bool(Condition), Message) > = ^~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: = note: in expansion of macro 'Q_STATIC_ASSERT_X' > Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, = "template parameter is an integral of a size not supported on this = platform"); > ^~~~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In = instantiation of 'class QBasicAtomicInteger': > ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger' > thread/qatomic.cpp:1633:1: required from here > ../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: = static assertion failed: template parameter is an integral of a size not = supported on this platform > # define Q_STATIC_ASSERT_X(Condition, Message) = static_assert(bool(Condition), Message) > = ^~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: = note: in expansion of macro 'Q_STATIC_ASSERT_X' > Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, = "template parameter is an integral of a size not supported on this = platform"); > ^~~~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In = instantiation of 'class QBasicAtomicInteger': > ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger' > thread/qatomic.cpp:1634:1: required from here > ../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: = static assertion failed: template parameter is an integral of a size not = supported on this platform > # define Q_STATIC_ASSERT_X(Condition, Message) = static_assert(bool(Condition), Message) > = ^~~~~~~~~~~~~~~ > ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: = note: in expansion of macro 'Q_STATIC_ASSERT_X' > Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, = "template parameter is an integral of a size not supported on this = platform"); > ^~~~~~~~~~~~~~~~~ > *** [.obj/qatomic.o] Error code 1 >=20 > make[1]: stopped in = /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/co= relib > 1 error >=20 > make[1]: stopped in = /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/co= relib > *** Error code 2 >=20 > Stop. > make: stopped in /usr/ports/devel/qt5-core > =3D>> Cleaning up wrkdir > =3D=3D=3D> Cleaning for qt5-core-5.12.2_1 > build of devel/qt5-core | qt5-core-5.12.2_1 ended at Sun May 19 = 02:49:31 PDT 2019 > build time: 00:26:21 > !!! build failure encountered !!! >=20 >=20 > For reference: >=20 > Configure summary: >=20 > Build type: freebsd-g++ (power64, CPU features: ) > Compiler: unknown (gcc8) > Configuration: compile_examples largefile optimize_debug shared rpath = debug c++11 c++14 c++1z concurrent no-gui reduce_exports release_tools = separate_debug_info stl no-widgets > Build options: > Mode ................................... debug; optimized tools > Optimize debug build ................... yes > Building shared libraries .............. yes > Using C standard ....................... C11 > Using C++ standard ..................... C++1z > Using ccache ........................... no > Using gold linker ...................... no > Using precompiled headers .............. no > Using LTCG ............................. no > Target compiler supports: > Build parts ............................ libs tools > Qt modules and options: > Qt Concurrent .......................... yes > Qt D-Bus ............................... no > Qt D-Bus directly linked to libdbus .... no > Qt Gui ................................. no > Qt Network ............................. yes > Qt Sql ................................. yes > Qt Testlib ............................. yes > Qt Widgets ............................. no > Qt Xml ................................. yes > Support enabled for: > Using pkg-config ....................... yes > udev ................................... no > Using system zlib ...................... yes > Qt Core: > DoubleConversion ....................... yes > Using system DoubleConversion ........ no > GLib ................................... yes > iconv .................................. no > ICU .................................... yes > Tracing backend ........................ > Logging backends: > journald ............................. no > syslog ............................... no > slog2 ................................ no > Using system PCRE2 ..................... yes > Qt Network: > getifaddrs() ........................... yes > IPv6 ifname ............................ yes > libproxy ............................... no > OpenSSL ................................ no > Qt directly linked to OpenSSL ........ no > OpenSSL 1.1 ............................ no > DTLS ................................... no > SCTP ................................... no > Use system proxies ..................... yes > Qt Gui: > Accessibility .......................... no > FreeType ............................... no > Using system FreeType ................ no > HarfBuzz ............................... no > Using system HarfBuzz ................ no > Fontconfig ............................. no > Image formats: > GIF .................................. no > ICO .................................. yes > JPEG ................................. no > Using system libjpeg ............... no > PNG .................................. no > Using system libpng ................ no > EGL .................................... no > OpenVG ................................. no > OpenGL: > Desktop OpenGL ....................... no > OpenGL ES 2.0 ........................ no > OpenGL ES 3.0 ........................ no > OpenGL ES 3.1 ........................ no > OpenGL ES 3.2 ........................ no > Vulkan ................................. no > Session Management ..................... yes > Features used by QPA backends: > evdev .................................. no > libinput ............................... no > INTEGRITY HID .......................... no > mtdev .................................. no > tslib .................................. no > xkbcommon .............................. no > X11 specific: > XLib ................................. no > XCB Xlib ............................. no > EGL on X11 ........................... no > QPA backends: > DirectFB ............................... no > EGLFS .................................. no > LinuxFB ................................ no > VNC .................................... yes > Mir client ............................. no > Qt Sql: > SQL item models ........................ yes > Qt Widgets: > GTK+ ................................... no > Styles ................................. Fusion Windows > Qt PrintSupport: > CUPS ................................... no > Qt Sql Drivers: > DB2 (IBM) .............................. no > InterBase .............................. no > MySql .................................. no > OCI (Oracle) ........................... no > ODBC ................................... no > PostgreSQL ............................. no > SQLite2 ................................ no > SQLite ................................. yes > Using system provided SQLite ......... no > TDS (Sybase) ........................... no > Qt Testlib: > Tester for item models ................. yes >=20 > WARNING: Feature xkb is insignificant in this configuration, ignoring = related command line option(s). >=20 > WARNING: Accessibility disabled. This configuration of Qt is = unsupported. >=20 >=20 >=20 > # svnlite diff /usr/ports/devel/qt5-core/ | more > # >=20 > (So no differences.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)