[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

Aurélien Larcher aurelien.larcher at gmail.com
Tue Sep 13 19:32:51 UTC 2016


On Tue, Sep 13, 2016 at 9:14 PM, Мартин Бохниг <opensxce at mail.ru> wrote:
> 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).

Martin, I made a mistake when updating libXi 8 months ago.
There is a missing entry in mapfile-vers and I forgot to update it.

https://hg.openindiana.org/upstream/oracle/x-cons/x-s12-clone/rev/5961283983f5

You need to pick the fixed file from X-S12 gate and rebuild libXi.

I will commit the fix tonight.
Sorry about that. :(


>
>
>
> 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/
>
>



-- 
---
Praise the Caffeine embeddings




More information about the oi-dev mailing list