[oi-dev] Hi all, please some patience: Just to let you know, VirtualBox-5.1.4 builds and almost packages in my local hipster userland

Мартин Бохниг opensxce at mail.ru
Tue Sep 13 19:14:28 UTC 2016


Thanks for your  update,

with SSE you are correct, because by default (per "auto") one would get only:

Target compiler supports:
    SSE .................. <none>
    AVX .................. <none>
    AVX512 ............... <none>

Complete QT 5.7 configuration listing:


Build type:    solaris-g++ (i386, CPU features: mmx sse sse2)

qmake vars .......... styles += mac fusion windows DEFINES += QT_NO_MTDEV QT_LIBS_DBUS = -ldbus-1  QT_CFLAGS_DBUS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  QT_HOST_CFLAGS_DBUS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  QT_CFLAGS_GLIB = -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  QT_LIBS_GLIB = -lgthread-2.0 -lpthread -lglib-2.0  QT_CFLAGS_QGTK3 = -DMESA_EGL_NO_X11_HEADERS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_PTHREADS -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng14 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng14 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  QT_LIBS_QGTK3 = -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  QT_CFLAGS_PULSEAUDIO = -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  QT_LIBS_PULSEAUDIO = -lpulse-mainloop-glib -lpulse -lglib-2.0  QMAKE_INCDIR_OPENGL =  "/usr/include/libdrm" QMAKE_LIBDIR_OPENGL =  QMAKE_LIBS_OPENGL =  "-lGL" QMAKE_CFLAGS_OPENGL =  "-DMESA_EGL_NO_X11_HEADERS" "-D_REENTRANT" "-D_POSIX_PTHREAD_SEMANTICS" QMAKE_CFLAGS_FONTCONFIG = -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/harfbuzz  QMAKE_LIBS_FONTCONFIG = -lfontconfig -lfreetype  DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_EVDEV DEFINES += QT_NO_TSLIB DEFINES += QT_NO_LIBINPUT QMAKE_LIBXI_VERSION_MAJOR = 1 QMAKE_LIBXI_VERSION_MINOR = 7 QMAKE_LIBXI_VERSION_PATCH = 6 QMAKE_X11_PREFIX = /usr QMAKE_XKB_CONFIG_ROOT = /usr/share/X11/xkb QMAKE_CFLAGS_XCB =  QMAKE_LIBS_XCB = -lxcb  sql-drivers =  sql-plugins =  sqlite qmake switches ......... 

Build options:
  Configuration .......... accessibility accessibility-atspi-bridge audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cups dbus dbus-linked doubleconversion eventfd fontconfig full-config getaddrinfo getifaddrs glib gstreamer-0.10 gtk3 harfbuzz iconv ipv6ifname kms large-config largefile medium-config minimal-config nis opengl openssl pcre png poll_ppoll posix_fallocate precompile_header pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib use_gold_linker xcb xcb-glx xcb-plugin xcb-qt xcb-sm xcb-xlib xinput2 xkbcommon-qt xlib xrender 
  Build parts ............ libs tools examples
  Mode ................... release
  Using sanitizer(s)...... none
  Using C++ standard ..... c++11
  Using gold linker....... yes
  Using new DTAGS ........ no
  Using PCH .............. yes
  Using LTCG ............. no
  Target compiler supports:
    SSE .................. <none>
    AVX .................. <none>
    AVX512 ............... <none>

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 ................... yes
  DoubleConversion........ yes (bundled copy)
  Evdev .................. no
  FontConfig ............. yes
  FreeType ............... yes (system library)
  Glib ................... yes
  GStreamer .............. yes (0.10)
  GTK platformtheme ...... yes
  HarfBuzz ............... yes (bundled copy)
  Iconv .................. yes
  ICU .................... no
  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.............. no
    OpenSSL .............. yes (loading libraries at run-time)
  NIS .................... yes
  OpenGL / OpenVG: 
    EGL .................. no
    OpenGL ............... desktop
    OpenVG ............... no
  PCRE ................... yes (bundled copy)
  pkg-config ............. yes 
  PulseAudio ............. yes
  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 .......... no
    LinuxFB .............. no
    Mir client............ no
    XCB .................. yes (bundled copy)
      EGL on X ........... no
      GLX ................ yes
      MIT-SHM ............ yes
      Xcb-Xlib ........... yes
      Xcursor ............ yes (loaded at runtime)
      Xfixes ............. yes (loaded at runtime)
      Xi2 ................ yes
      Xrandr ............. yes (loaded at runtime)
      Xrender ............ yes
      XKB ................ yes
      XShape ............. yes
      XSync .............. 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 (bundled copy, XKB config root: /usr/share/X11/xkb)
  xkbcommon-evdev......... no
  zlib ................... yes (system library)


bash was the first thing that needed to be changed (for a quick test it is always my recommendation to
# mount -F lofs -O /usr/bin/amd64/bash/usr/bin/sh

(important: you have to mount an isa version, not the isaexec hardlink directly in /usr/bin, otherwise this results in the typical isaexec error).


What I used as configure (via Makefile in components/qt5) is something like:

./configure -prefix /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR) -opensource -confirm-license -nomake tests    -qt-xcb -platform solaris-g++     -verbose

or to copy it straight from the Makefile:


COMPONENT_INSTALL_ENV+= INSTALL_ROOT=$(PROTO_DIR)

CONFIGURE_OPTIONS=      -prefix /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)
CONFIGURE_OPTIONS.32=   -bindir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/bin
CONFIGURE_OPTIONS.32+=  -libdir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/lib
CONFIGURE_OPTIONS.32+=  -plugindir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/plugins
CONFIGURE_OPTIONS.32+=  -importdir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/imports
CONFIGURE_OPTIONS.64=   -bindir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/bin/$(MACH64)
CONFIGURE_OPTIONS.64+=  -libdir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/lib/$(MACH64)
CONFIGURE_OPTIONS.64+=  -plugindir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/plugins/$(MACH64)
CONFIGURE_OPTIONS.64+=  -importdir /usr/lib/$(COMPONENT_NAME)/$(COMPONENT_VERSION_MJR)/imports/$(MACH64)
CONFIGURE_OPTIONS.32+=  -platform solaris-g++
CONFIGURE_OPTIONS.64+=  -platform solaris-g++-64
CONFIGURE_OPTIONS+=     -verbose
CONFIGURE_OPTIONS+=     -opensource
CONFIGURE_OPTIONS+=     -confirm-license
#CONFIGURE_OPTIONS+=    -xmlpatterns
#CONFIGURE_OPTIONS+=    -webkit
CONFIGURE_OPTIONS+=     -no-opengl
CONFIGURE_OPTIONS+=     -nomake examples
#CONFIGURE_OPTIONS+=    -nomake demos
#CONFIGURE_OPTIONS+=    -nomake translations
#CONFIGURE_OPTIONS+=    -nomake docs
CONFIGURE_OPTIONS+=     $(CONFIGURE_OPTIONS.$(BITS))
#CONFIGURE_OPTIONS+=    -plugin-sql-sqlite
#CONFIGURE_OPTIONS+=    -plugin-sql-mysql
#CONFIGURE_OPTIONS+=    -plugin-sql-psql
#CONFIGURE_OPTIONS+=    -system-sqlite
#CONFIGURE_OPTIONS+=    -nomake tests
CONFIGURE_OPTIONS+=    -qt-xcb


Unlike virtualbox4 of old opensxce times which I now took and upgraded to virtualbox5 living from now on in oi-userland/components/virtualbox5, for qt I didn't take the opensxce bits but rather oi-userland/components/qt4 as basis.

Your hints are much appreciated because it has been since November 2014 since I last dealt with QT.
Another thing which newer QT _requires_ is CFLAGS/CXXFLAGS containing -std=gnu11 / -std=gnu++11 respectively, via mkspecs (tnx to Aurelien for that, because until then I had used a temporary wrapper workaround for this on gcc4.9).



Tnx! 
best regards,
%martin bochnig


>Вторник, 13 сентября 2016, 18:51 UTC от Peter Tribble <peter.tribble at gmail.com>:
>
>On Tue, Sep 13, 2016 at 5:27 PM, Мартин Бохниг via oi-dev  < oi-dev at openindiana.org > wrote:
>>Hi all, please some patience: Just to let you know, VirtualBox-5.1.4 builds 
>
>Brilliant!
> 
>>and almost packages in my local hipster userland but so far without QT5 frontend. I tried to make it use QT4 via configure, but although this is still a supported configuration, in reality it is broken. That's why we really need QT5.
>>
>>And atm I'm still waiting for QT5.5 to complete.
>>...
>>Ouch, new problem in QT5.5:
>>
>>
>>Undefined            first referenced
>> symbol                  in file
>>qt_memfill16(...)
>
>So I've got what appears to be a functional build of 5.6.1-1 on Tribblix.
>Which was a bit of a surprise as 5.6.0 didn't work at all last time I tried.
>
>Configure command:
>
> ./configure --prefix=/usr/versions/Qt-5 -opensource --disable-reduce-exports -no-sql-sqlite -confirm-license -platform solaris-g++
>
>Only changes necessary were to qtbase/configure - first, force bash;
>second, set CFG_SSE2=yes instead of CFG_SSE2=auto. (The undefined
>symbols are because SSE2 autodetection is busted, some code thinks yes,
>some thinks no, so it gets confused and it's best to just force it.)
>
>-- 
>-Peter Tribble
>http://www.petertribble.co.uk/ -  http://ptribble.blogspot.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20160913/202a698c/attachment-0005.html>


More information about the oi-dev mailing list