[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