Package Details: mingw-w64-qt5-base 5.15.16+kde+r130-1

Git Clone URL: https://aur.archlinux.org/mingw-w64-qt5-base.git (read-only, click to copy)
Package Base: mingw-w64-qt5-base
Description: A cross-platform application and UI framework, native OpenGL backend (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: 21
Popularity: 0.025120
First Submitted: 2016-08-30 21:28 (UTC)
Last Updated: 2024-11-25 20:54 (UTC)

Sources (33)

Pinned Comments

Martchus commented on 2023-06-07 19:48 (UTC)

Who flagged this package (or wants to flag it): The KDE patch branch doesn't seem rebased yet and the regular qt5-base package has not been updated as well. Since this package is using the KDE patch branch I'm going to wait for them to rebase. You generally don't need to flag the package as I'm subscribed to relevant Qt mailing lists anyways.

Martchus commented on 2021-04-14 10:08 (UTC)

I've been updating this package and some further modules to use patches from KDE's fork. This is in accordance with the native Qt packages. As far as I know KDE's fork is not tagging releases. However, I will not pick up every single new commit on their branch but only update the package when it is worth it. Only flag the package as out-of-date if there are patches on their branch which are generally very important.

Martchus commented on 2020-09-13 11:42 (UTC)

Notes regarding 5.15.1 update

  • With this update I finally splitted all static libraries from further Qt repositories into their own packages as well. So now there's not only mingw-w64-qt5-base-static but also mingw-w64-qt5-svg-static, mingw-w64-qt5-declarative-static and so on. The static version is still sharing files with the shared version and as such depends on the shared packages. However, this change allows to avoid building all the static libraries if only shared libraries are required. If you've so far used static libraries from further Qt modules be sure to install the additional *-static packages.
  • Otherwise there were not much build system changes on the Qt side so I don't think this update broke much.
  • As stated in the sticky comment I'm thinking about Qt 6 packaging but this also means I'm not going to take much effort to address any outstanding bugs/limitations for the Qt 5 packages anymore (broken ANGLE build, build Qt WebEngine, …).
  • This is the last official release of the 5.x. Let's see whether further updates for the 5.x branch will be made available by the community. If the regular qt5-base packages picks up such commits I could update this package here as well.

Martchus commented on 2018-05-29 08:29 (UTC) (edited on 2020-01-31 13:46 (UTC) by Martchus)

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, https://wiki.archlinux.org/index.php/Unofficial_user_repositories#ownstuff

Martchus commented on 2018-03-11 20:19 (UTC) (edited on 2020-09-13 11:45 (UTC) by Martchus)

@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

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

Martchus commented on 2016-07-10 19:47 (UTC) (edited on 2020-01-31 13:47 (UTC) by Martchus)

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
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 8 9 Next › Last »

specialworld83 commented on 2017-12-15 12:57 (UTC)

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

Thanks

Martchus commented on 2017-12-10 19:49 (UTC) (edited on 2017-12-15 19:56 (UTC) by Martchus)

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 (UTC) (edited on 2017-11-26 20:02 (UTC) by Martchus)

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 (UTC)

@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 (UTC)

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 (UTC)

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 (UTC) (edited on 2017-10-16 18:01 (UTC) by Martchus)

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).

Martchus commented on 2017-09-04 16:41 (UTC)

> As i said, i have missing references in libQt5Widgets.a(qwindows{vista|xp}style.o) and libQt5Gui.a(qopenglpaintengine.o). I need the cmake/qmake call, the compiler/linker line which fails and the error output. Otherwise I can just do some guessing. > I noticed that neither qopenglpaintengine.a nor qwindows*.a files exist in mingw-w64-qt5-base-static, but i guess i need them at compile-time? If you believe some files are missing in your mingw-w64-qt5-base-static packages, just download the one from my repository (linked in the pinned comment) and compare the files. Note that the mentioned libraries are 'static plugins', so they are in an extra subdirectory (this is not Windows specific at all). Eg. libqwindows.a should be located under /usr/x86_64-w64-mingw32/lib/qt/plugins/platforms/libqwindows.a. You need those files at compile time, if you want to use them (you very likely want the platform integration plugin). Note that this package also contains symlinks for the static plugins eg. /usr/x86_64-w64-mingw32/lib/libqwindows.a, but this shouldn't actually be required (just some precaution to prevent errors in case of plugin path is missing). > As the static libQt5*.a files only contain the references? The libQt5*.a libraries should not contain any references to the plugins. The plugins are optional additions loaded via dlopen (or similar under Windows) or in case of the static variant 'optionally built-in'. In the latter case the actual application must contain the references (eg. via http://doc.qt.io/qt-5/qtplugin.html#Q_IMPORT_PLUGIN).

sgsaenger commented on 2017-09-04 09:39 (UTC)

Thanks for your help! I applied the patch you linked. Unfortunately, i can't get it to work, i still have the linking problems with the windows-stuff... I'm really not well-versed, so please bear with me :) As i said, i have missing references in libQt5Widgets.a(qwindows{vista|xp}style.o) and libQt5Gui.a(qopenglpaintengine.o). I noticed that neither qopenglpaintengine.a nor qwindows*.a files exist in mingw-w64-qt5-base-static, but i guess i need them at compile-time? As the static libQt5*.a files only contain the references? But why does dynamic linking then work, when mingw-w64-qt5-base too does not contain these files? Have they maybe been created while building the mingw-packages and linked into the .dll's, but not copied over or built when composing the static package? I guess i'll wait for the next update, this seems to go far beyond my understanding...