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"

Mark Millard marklmi at yahoo.com
Sun May 19 14:40:20 UTC 2019


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.

The log shows:

--- .obj/qatomic.o ---
g++8 -c -O2 -pipe -g -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -Wl,-rpath=/usr/local/lib/gcc8 -Og -std=c++1z -fvisibility=hidden -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=0x050000 -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

make[1]: stopped in /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/corelib
1 error

make[1]: stopped in /wrkdirs/usr/ports/devel/qt5-core/work/qtbase-everywhere-src-5.12.2/src/corelib
*** Error code 2

Stop.
make: stopped in /usr/ports/devel/qt5-core
=>> Cleaning up wrkdir
===>  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 !!!


For reference:

Configure summary:

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

WARNING: Feature xkb is insignificant in this configuration, ignoring related command line option(s).

WARNING: Accessibility disabled. This configuration of Qt is unsupported.



# svnlite diff /usr/ports/devel/qt5-core/ | more
#

(So no differences.)

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



More information about the freebsd-ports mailing list