[Bug 206348] x11-toolkits/qt5-gui : clang++ used with -mcpu=cortex-a7 -mfloat-abi=softfp results in: undefined reference to `qt_convert_rgb888_to_rgb32_neon( . . . )

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Oct 14 08:43:10 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206348

--- Comment #4 from Mark Millard <markmi at dsl-only.net> ---
(In reply to Tobias C. Berner from comment #2)

My attempt to build a modern x11-toolkits/qt5-gui still reproduces the notice
about convert_RGB888_to_RGB32_neon being missing (see
image/qimage_conversions.cpp:2968's error notice below), as well as producing
other notices for undefined references:

Script started on Thu Oct 13 11:45:52 2016
Command: portmaster -DK x11-toolkits/qt5-gui
[. . . over 100 ports first then qt5-gui up to its .so link attempt. . .]

--- ../../lib/libQt5Gui.so.5.6.1 ---
rm -f libQt5Gui.so.5.6.1 libQt5Gui.so libQt5Gui.so.5 libQt5Gui.so.5.6
c++ -Wl,--as-needed -Wl,--no-undefined -Wl,--version-script,QtGui.version
-fuse-ld=gold -Wl,--enable-new-dtags -pthread -Wl,-rpath,/usr/local/lib -shared
-Wl,-soname,libQt5Gui.so.5 -o libQt5Gui.so.5.6
.1 .obj/qaccessible.o  .obj/qaccessiblecache.o  .obj/qaccessibleobject.o 
.obj/qaccessibleplugin.o  .obj/qplatformaccessibility.o 
.obj/qaccessiblebridge.o  .obj/qgenericpluginfactory.o  .obj/qgeneric [. . .]

../../include/QtGui/5.6.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:747:
error: undefined reference to 'qt_memfill32(unsigned int*, unsigned int, int)'
image/qimage_conversions.cpp:2968: error: undefined reference to
'convert_RGB888_to_RGB32_neon(QImageData*, QImageData const*,
QFlags<Qt::ImageConversionFlag>)'
../../include/QtGui/5.6.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:747:
error: undefined reference to 'qt_memfill32(unsigned int*, unsigned int, int)'
painting/qdrawhelper_p.h:747: error: undefined reference to
'qt_memfill32(unsigned int*, unsigned int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_rgb32_on_rgb32_neon(unsigned char*, int, unsigned char const*, int,
int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_argb32_on_argb32_neon(unsigned char*, int, unsigned char const*, int,
int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_argb32_on_argb32_scanline_neon(unsigned int*, unsigned int const*,
int, unsigned int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'comp_func_solid_SourceOver_neon(unsigned int*, int, unsigned int, unsigned
int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'comp_func_Plus_neon(unsigned int*, unsigned int const*, int, unsigned int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_fetch_radial_gradient_neon(unsigned int*, Operator const*, QSpanData
const*, int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*, int,
int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_rgb16_on_argb32_neon(unsigned char*, int, unsigned char const*, int,
int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_blend_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int,
int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_scale_image_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*,
int, int, QRectF const&, QRectF const&, QRect const&, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_scale_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*,
int, int, QRectF const&, QRectF const&, QRect const&, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_transform_image_argb32_on_rgb16_neon(unsigned char*, int, unsigned char
const*, int, QRectF const&, QRectF const&, QRect const&, QTrans
form const&, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_transform_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char
const*, int, QRectF const&, QRectF const&, QRect const&, QTransf
orm const&, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_alphamapblit_quint16_neon(QRasterBuffer*, int, int, QRgba64 const&,
unsigned char const*, int, int, int, QClipData const*)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_destFetchRGB16_neon(unsigned int*, QRasterBuffer*, int, int, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_destStoreRGB16_neon(QRasterBuffer*, int, int, unsigned int const*, int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_memrotate90_16_neon(unsigned char const*, int, int, int, unsigned char*,
int)'
painting/qdrawhelper.cpp:6526: error: undefined reference to
'qt_memrotate270_16_neon(unsigned char const*, int, int, int, unsigned char*,
int)'
painting/qdrawhelper.cpp:3473: error: undefined reference to
'qt_memfill32(unsigned int*, unsigned int, int)'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [../../lib/libQt5Gui.so.5.6.1] Error code 1

make[1]: stopped in
/usr/obj/portswork/usr/ports/x11-toolkits/qt5-gui/work/qtbase-opensource-src-5.6.1/src/gui
1 error

make[1]: stopped in
/usr/obj/portswork/usr/ports/x11-toolkits/qt5-gui/work/qtbase-opensource-src-5.6.1/src/gui
===> Compilation failed unexpectedly.



Other details:

# more /etc/make.conf
DEFAULT_VERSIONS+=perl5=5.22
WRKDIRPREFIX=/usr/obj/portswork
WITH_DEBUG=
WITH_DEBUG_FILES=
MALLOC_PRODUCTION=
CFLAGS+= -mcpu=cortex-a7
CXXFLAGS+= -mcpu=cortex-a7
CPPFLAGS+= -mcpu=cortex-a7

An example C++ compile from the typescript file so the compiler options can be
seen.

--- .obj/moc_qopengltimerquery.o ---
c++ -c -pipe -mcpu=cortex-a7 -g -fno-strict-aliasing -mcpu=cortex-a7 -std=c++1z
-fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W
-pthread -D_THREAD_SAFE -fPIC -DQT_NO_MTDEV -DQ
T_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_ACCESSIBILITY
-DQT_DBUS -DQT_FONTCONFIG -DQT_FREETYPE -DQT_GLIB -DQT_IMAGEFORMAT_PNG
-DQT_OPENGL -DQT_SHAPE -DQT_XCB -DQT_XKB -DQT_XKBCOM
MON -DQT_XRENDER -DQT_NO_USING_NAMESPACE -DQT_ENABLE_HARFBUZZ_NG
-DENABLE_PIXMAN_DRAWHELPERS -DQT_BUILD_GUI_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 -DQT_NO_EXCEPTIONS
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_CORE_LIB -I. -I../../include
-I../../include/QtGui -I
../../include/QtGui/5.6.1 -I../../include/QtGui/5.6.1/QtGui
-I/usr/local/include -I/usr/local/include/libdrm -I../../include/QtCore/5.6.1
-I../../include/QtCore/5.6.1/QtCore -I../../include/QtCore -I.
moc -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o
.obj/moc_qopengltimerquery.o .moc/moc_qopengltimerquery.cpp



The configuration summary (from the typescript file):

   Configure summary

Build type:    /usr/local/lib/qt5/mkspecs/freebsd-clang (arm, CPU features:
none detected)

Build options:
  Configuration .......... accessibility accessibility-atspi-bridge
audio-backend c++11 c++14 c++1z clock-gettime clock-monotonic compile_examples
concurrent dbus dbus-linked debug egl egl_x11 enable_
new_dtags fontconfig full-config gbm getaddrinfo getifaddrs glib icu ipv6ifname
large-config largefile libproxy medium-config minimal-config opengl openssl png
posix_fallocate qpa qpa reduce_exports r
path separate_debug_info shared small-config system-freetype system-harfbuzz
system-jpeg system-png system-zlib threadsafe-cloexec use_gold_linker xcb
xcb-glx xcb-plugin xcb-render xcb-sm xcb-xlib xin
put2 xkbcommon-evdev xlib xrender 
  Build parts ............ libs tools
  Mode ................... debug
  Using sanitizer(s)...... none
  Using C++ standard ..... c++1z
  Using gold linker....... yes
  Using new DTAGS ........ yes
  Using PCH .............. no
  Using LTCG ............. no
  Target compiler supports:
    Neon ................. no

Qt modules and options:
  Qt D-Bus ............... yes (linked to dbus-1)
  Qt Concurrent .......... yes
  Qt GUI ................. yes
  Qt Widgets ............. yes
  Large File ............. yes
  QML debugging .......... yes
  Use system proxies ..... no

Support enabled for:
  Accessibility .......... yes
  ALSA ................... no
  CUPS ................... no
  Evdev .................. no
  FontConfig ............. yes
  FreeType ............... yes (system library)
  Glib ................... yes
  GStreamer .............. no
  GTK theme .............. no
  HarfBuzz ............... yes (system library)
  Iconv .................. no
  ICU .................... yes
  Image formats: 
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
  libinput................ no
  Logging backends: 
    journald ............... no
    syslog   ............... no
  mtdev .................. no
  Networking: 
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    libproxy.............. yes
    OpenSSL .............. yes (loading libraries at run-time)
  NIS .................... no
  OpenGL / OpenVG: 
    EGL .................. yes
    OpenGL ............... desktop
    OpenVG ............... no
  PCRE ................... system
  pkg-config ............. yes 
  PulseAudio ............. no
  QPA backends: 
    DirectFB ............. no
    EGLFS ................ no
      EGLFS i.MX6 ........ no
      EGLFS i.MX6 Wayland. no
      EGLFS EGLDevice .... no
      EGLFS GBM .......... no
      EGLFS Mali ......... no
      EGLFS Raspberry Pi . no
      EGLFS X11 .......... yes
    LinuxFB .............. no
    Mir client............ no
    XCB .................. yes (system library)
      EGL on X ........... yes
      GLX ................ yes
      MIT-SHM ............ yes
      Xcb-Xlib ........... yes
      Xcursor ............ yes (loaded at runtime)
      Xfixes ............. yes (loaded at runtime)
      Xi ................. no
      Xi2 ................ yes
      Xinerama ........... yes (loaded at runtime)
      Xrandr ............. yes (loaded at runtime)
      Xrender ............ yes
      XKB ................ yes
      XShape ............. yes
      XSync .............. yes
      XVideo ............. yes
  Session management ..... yes
  SQL drivers: 
    DB2 .................. no
    InterBase ............ no
    MySQL ................ no
    OCI .................. no
    ODBC ................. no
    PostgreSQL ........... no
    SQLite 2 ............. no
    SQLite ............... yes (plugin, using bundled copy)
    TDS .................. no
  tslib .................. no
  udev ................... no
  xkbcommon-x11........... yes (system library)
  xkbcommon-evdev......... yes
  zlib ................... yes (system library)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the kde-freebsd mailing list