Package Details: mingw-w64-qt5-base 5.13.0-1

Git Clone URL: https://aur.archlinux.org/mingw-w64-qt5-base.git (read-only)
Package Base: mingw-w64-qt5-base
Description: A cross-platform application and UI framework (mingw-w64)
Upstream URL: https://www.qt.io/
Licenses: custom, GPL3, LGPL3, FDL
Groups: mingw-w64-qt5
Submitter: Martchus
Maintainer: Martchus
Last Packager: Martchus
Votes: 20
Popularity: 1.592203
First Submitted: 2016-08-30 21:28
Last Updated: 2019-06-26 12:44

Sources (34)

Pinned Comments

Martchus commented on 2018-05-29 08:29

Before upgrading, be sure to remove the old version of the package from your system. Preferably, build the package in a clean chroot using makechrootpkg.

Also, please read the other comments and issues on GitHub for known bugs and limitations.

There also exist a binary repository: https://martchus.no-ip.biz/repo/arch/ownstuff

Martchus commented on 2018-03-11 20:19

@theone74 It is currently not possible to use the MariaDB plugin with the static version of Qt because mariadb-connector-c comes with its own pthread implementation which has conflicting symbols with the pthread library Qt uses. Since some PostgreSQL update the same is true for the PostgreSQL plugin.

So you have to disable the plugin. When using CMake, plugins are not be automatically added so you should not run into the issue by default. When using qmake you need to disable the plugin manually, eg. you can add the following arguments to enable only the plugins which actually work:

CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlodbc CONFIG+=static

(from https://github.com/Martchus/PKGBUILDs/blob/master/qt5-tools/mingw-w64/PKGBUILD#L38)


BTW: Patches to fix this are welcome of course. Since I don't use the plugin myself, I'm currently not motivated to take the effort myself. Updating the mariadb-connector-c packages is also not done yet.

Martchus commented on 2016-07-10 19:47

All my packages are managed at GitHub where you can also contribute directly: https://github.com/Martchus/PKGBUILDs

Patches for this package are managed at: https://github.com/Martchus/qtbase/tree/5.11.0-mingw-w64<br> if you like to contribute to patches, read this: https://github.com/Martchus/PKGBUILDs/#contributing-to-patches)

If you would like to contribute, here is a list of known bugs and things needing improvement:

  • The linker library search paths for applications which need to be build for the host architecture aren't set correctly. Hence those paths are currently set manually which is quite hacky. Affected packages are mingw-w64-qt5-declarative and mingw-w64-qt5-tools and (also the apple-darwin versions).
  • Compiling QtAV using the ANGLE version doesn't work. I don't know whether other applications/libs using OpenGL via Qt are also affected but it is very likely.
  • Updating mingw-w64-qt5-webkit to ng version.
  • See also https://github.com/Martchus/PKGBUILDs/issues

Also note the comments about the different variants inside the PKGBUILD itself.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 Next › Last »

Hudd commented on 2018-01-04 21:05

I ran into a problem with case sensitivity while building this package.

ld: cannot find -lVersion

Martchus commented on 2017-12-15 21:56

I found the bug causing CMake to add -L/lib on the linker line and fixed it. The bug only affected projects which link against static Qt plugins.

When you have already built the latest version or you're using my binary repo, just execute the following commands to apply the fix:

find /usr/x86_64-w64-mingw32/lib/cmake -iname 'StaticQt5*Config.cmake' -exec sed -i 's/\"\${_qt5Svg_install_prefix}\/lib\" static\_depends/\"\/usr\/x86_64-w64-mingw32\/lib\" static\_depends/g' {} \;
find /usr/i686-w64-mingw32/lib/cmake -iname 'StaticQt5*Config.cmake' -exec sed -i 's/\"\${_qt5Svg_install_prefix}\/lib\" static\_depends/\"\/usr\/i686-w64-mingw32\/lib\" static\_depends/g' {} \;

Otherwise it would be required to rebuild each and every package mingw-w64-qt5-* package.

Martchus commented on 2017-12-15 19:39

@specialworld83 It's not a bug, it's a feature. That is actually true, since the widget styles have just been refactored to separate plugins. So you just need to deploy the corresponding plugin which is located under eg. /usr/x86_64-w64-mingw32/lib/qt/plugins/styles/qwindowsvistastyle.dll. If you're using the static variant, you need to link against the static plugin like you need to link against the platform integration plugin.

specialworld83 commented on 2017-12-15 12:57

Good moorning, the style windowsvista not working on windows 7/8/10.

Thanks

Martchus commented on 2017-12-10 19:49

I'll push 5.10.0 when the regular package is moved from testing to extra:

  • The following new packages are available
    • mingw-w64-qt5-speech: without flite and speech-dispatcher backends because mingw-w64 packages for those dependencies are not available
    • mingw-w64-qt5-remoteobjects
    • mingw-w64-qt5-networkauth
  • Using MariaDB with the static version still does not work, see comment: https://aur.archlinux.org/packages/mingw-w64-mariadb-connector-c
  • Rough edges about the static version are still not gone.
    • However, I'm able to build qmake projects (eg. all Qt modules) by just adding 'CONFIG+=no_smart_library_merge CONFIG+=static' to qmake arguments and it includes platform plugins.
    • When using CMake, I'm currently getting a -L/lib on the linker line leading to linker segfault. This issue was already present some time ago, have to further investigate where this cross-compilation-disturbing search path comes from.
  • I disabled building the mapbox-gl plugin in mingw-w64-qt5-location as it takes a significat time to compile and is likely not used by a lot of people. To enable it, see the comment in the corresponding PKGBUILD.
  • Updating mingw-w64-qt5-webkit to ng version is still TODO.

(Updated PKGBUILDs are already pushed to https://github.com/Martchus/PKGBUILDs.)

Martchus commented on 2017-11-26 20:02

Qt 5.9.3 is out. However, I'm a bit busy next week so maybe I just skip that release and update to 5.10 right away. 5.10 is likely to be released in the beginning of December which is also quite close.

z3ntu commented on 2017-10-17 20:31

@Martchus: Thanks, I uninstalled and built and installed again. I tried to make it work with extra-x86_64-build but there were too many dependencies to manually add... I'll remember for next time. Thanks for maintaining the package!

Martchus commented on 2017-10-16 21:13

Seems like it tries to link Qt Widgets against the currently installed version of Qt Core and Gui. This is not possible because private ABI might (and actually has) changed. Hence those linker errors only relate to private symbols of the Qt library.

Not sure what makes Qt linking against the installed/previous version now. I'd simply work around this by uninstalling the previous version or build in a clean chroot. I always do the latter and hence didn't encounter this issue when building myself.

z3ntu commented on 2017-10-16 20:59

I get link errors with 5.9.2:

i686-w64-mingw32-g++ -g -shared -Wl,-subsystem,windows -Wl,--out-implib,/mnt/hdd/aur/mingw-w64-qt5-base/src/build-i686-w64-mingw32/lib/libQt5Widgets.dll.a -o ../../lib/Qt5Widgets.dll object_script.Qt5Widgets.Release -lcomdlg32 -loleaut32 -limm32 -luuid -ladvapi32 -ljpeg -lpng -L/usr/i686-w64-mingw32/lib -lfreetype -lbz2 -lharfbuzz -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -liconv -lgraphite2 -lglu32 -lopengl32 -lgdi32 -luser32 -L/mnt/hdd/aur/mingw-w64-qt5-base/src/build-i686-w64-mingw32/lib /usr/i686-w64-mingw32/lib/libQt5Gui.dll.a /usr/i686-w64-mingw32/lib/libQt5Core.dll.a -lshell32 -luxtheme -ldwmapi
./.obj/release/qdirmodel.o: In function `ZNK16QDirModelPrivate4nameERK11QModelIndex':
/mnt/hdd/aur/mingw-w64-qt5-base/src/qtbase-opensource-src-5.9.2/src/widgets/itemviews/qdirmodel.cpp:1285: undefined reference to `_imp___ZN16QFileSystemEntry10isRootPathERK7QString'
./.obj/release/qdirmodel.o: In function `ZNK9QDirModel8fileNameERK11QModelIndex':
/mnt/hdd/aur/mingw-w64-qt5-base/src/qtbase-opensource-src-5.9.2/src/widgets/itemviews/qdirmodel.cpp:1108: undefined reference to `_imp___ZN16QFileSystemEntry10isRootPathERK7QString'
./.obj/release/qfileiconprovider.o: In function `ZNK17QFileIconProvider4typeERK9QFileInfo':
/mnt/hdd/aur/mingw-w64-qt5-base/src/qtbase-opensource-src-5.9.2/src/widgets/itemviews/qfileiconprovider.cpp:303: undefined reference to `_imp___ZN16QFileSystemEntry10isRootPathERK7QString'
./.obj/release/qfileiconprovider.o: In function `ZNK17QFileIconProvider4iconERK9QFileInfo':
/mnt/hdd/aur/mingw-w64-qt5-base/src/qtbase-opensource-src-5.9.2/src/widgets/itemviews/qfileiconprovider.cpp:252: undefined reference to `_imp___ZN16QFileSystemEntry10isRootPathERK7QString'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile.Release:867: ../../lib/Qt5Widgets.dll] Error 1
make[3]: Leaving directory '/mnt/hdd/aur/mingw-w64-qt5-base/src/build-i686-w64-mingw32/src/widgets'
make[2]: *** [Makefile:36: release] Error 2
make[2]: Leaving directory '/mnt/hdd/aur/mingw-w64-qt5-base/src/build-i686-w64-mingw32/src/widgets'
make[1]: *** [Makefile:627: sub-widgets-make_first] Error 2
make[1]: Leaving directory '/mnt/hdd/aur/mingw-w64-qt5-base/src/build-i686-w64-mingw32/src'
make: *** [Makefile:45: sub-src-make_first] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Martchus commented on 2017-10-16 17:57

Updated to 5.9.2. I also fixed qmake so it now links against static plugins by default when using the static variant. This didn't work (anymore) because of our way to merge shared and static builds. However, this revealed further bugs:
* qmake is messing dependency cycle of static freetype and harfbuzz. This can be worked around by adding `CONFIG+=no_smart_library_merge` to qmake arguments.
* qmake does not include dependencies of static Qt modules when only linking against a plugin which pulls that Qt module but not using the module itself explicitly. Just link against the module explicitly by adding `QT+=the_module` to qmake arguments.
* The Qt Network module can not be used with the static MySQL plugin because the plugin's its dependency mariadb-connector-c uses OpenSSL 1.1 while Qt is still using OpenSSL 1.0. Both versions can not be combined. Qt 5.10 will fix this by supporting OpenSSL 1.1.

BTW: If you need Qt location but not the included mapbox-gl plugin, I suggest disabling this feature as it requires a lot of time to compile. The binaries provided at my repository will not include the plugin anymore (for now).