Date: Tue, 21 May 2019 17:15:34 -0700 From: Mark Millard <marklmi@yahoo.com> To: ports-list freebsd <freebsd-ports@freebsd.org>, tcberner@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: <3CD3FC58-C0FB-4E5A-9FE8-6A64D8E7BA82@yahoo.com> In-Reply-To: <3B8E25C1-1EB4-4D18-A45F-72555C3AC13D@yahoo.com> References: <2E1BCA58-8420-4B74-A0CB-FBDC744BDDA6@yahoo.com> <3B8E25C1-1EB4-4D18-A45F-72555C3AC13D@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2019-May-21, at 16:20, Mark Millard <marklmi at yahoo.com> wrote: > 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: 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. The "g" is the important part. > gcc-post-patch: > ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ > ${WRKSRC}/mkspecs/common/gcc-base.conf \ > ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf > . . . >=20 > On 2019-May-19, at 07:40, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> 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<long int>': >> ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger<long int>' >> 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<sizeof(T)>::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<long unsigned int>': >> ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger<long unsigned int>' >> 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<sizeof(T)>::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<long long unsigned int>': >> ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger<long long unsigned int>' >> 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<sizeof(T)>::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<long long int>': >> ../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7: = required from 'class QAtomicInteger<long long int>' >> 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<sizeof(T)>::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: <none>) >> 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 ........................ <none> >> 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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CD3FC58-C0FB-4E5A-9FE8-6A64D8E7BA82>