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.024578
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 »

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-05-29 08:25 (UTC)

@tsdgeos It tries to link the new Qt Gui against the old, installed version of Qt Core. Likely _imp___ZN9QtPrivate13isRightToLeftE11QStringView is a recently added symbol. Please remove the currently installed version and try again. In fact this is a known limitation which was already present before I started to maintain this package. I should mention it in the pinned comment.

tsdgeos commented on 2018-05-29 07:45 (UTC)

5.11.0-1 fails to build for me, anyone else having the problem or any idea what may be the fix?

https://paste.kde.org/pw9diuw2v

Martchus commented on 2018-05-27 12:48 (UTC)

I'm currently updating to 5.11.0. So far I have already found three new problems and the compilation is only half way through :-/

  • The definition of _xgetbv in /usr/i686-w64-mingw32/include/psdk_inc/intrin-impl.h conflicts with the definition of the same function in /usr/lib/gcc/i686-w64-mingw32/8.1.0/include/x86intrin.h. As a workaround, I added -D__INTRINSIC_DEFINED__xgetbv to the compiler flags.
  • I had to disable the hardware randomizer for 32-bit due to an internal compiler error (https://github.com/Martchus/PKGBUILDs/blob/update/mingw-w64-qt5/qt5-base/mingw-w64/0033-Disable-hardware-randomizer-for-32-bit.patch).
  • The winextras module now links directly against dwmapi. Apparently some of the required symbols are absent in the x86_64 version of libdwmapi.a provided by mingw-w64-crt 5.0.3. So I'll reverted the commit in qtwinextras for now.

So that's basically the reason why updates take some time here. Note that all of these issues are caused by mingw-w64/GCC for Windows and not by Qt itself.

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)

theone74 commented on 2018-03-11 19:44 (UTC) (edited on 2018-03-11 19:45 (UTC) by theone74)

@Martchus Hi! when i build this example https://github.com/oggio88/Qt-CMake-HelloWorld it works fine, but if i add QT+=sql i get link error

/usr/x86_64-w64-mingw32/lib/libpthread.a(libwinpthread_la-cond.o): In function `pthread_cond_init':
/build/mingw-w64-winpthreads/src/mingw-w64-v5.0.3/mingw-w64-libraries/winpthreads/src/cond.c:196: multiple definition of `pthread_cond_init'
/usr/x86_64-w64-mingw32/lib/libmariadbclient.a(my_pthread.c.obj):(.text+0x0): first defined here
/usr/x86_64-w64-mingw32/lib/libpthread.a(libwinpthread_la-cond.o): In function `pthread_cond_destroy':
/build/mingw-w64-winpthreads/src/mingw-w64-v5.0.3/mingw-w64-libraries/winpthreads/src/cond.c:248: multiple definition of `pthread_cond_destroy'
/usr/x86_64-w64-mingw32/lib/libmariadbclient.a(my_pthread.c.obj):(.text+0x90): first defined here
/usr/x86_64-w64-mingw32/lib/libpthread.a(libwinpthread_la-cond.o): In function `pthread_cond_wait':
/build/mingw-w64-winpthreads/src/mingw-w64-v5.0.3/mingw-w64-libraries/winpthreads/src/cond.c:415: multiple definition of `pthread_cond_wait'
/usr/x86_64-w64-mingw32/lib/libmariadbclient.a(my_pthread.c.obj):(.text+0x80): first defined here
/usr/x86_64-w64-mingw32/lib/libpthread.a(libwinpthread_la-cond.o): In function `pthread_cond_timedwait':
/build/mingw-w64-winpthreads/src/mingw-w64-v5.0.3/mingw-w64-libraries/winpthreads/src/cond.c:514: multiple definition of `pthread_cond_timedwait'
/usr/x86_64-w64-mingw32/lib/libmariadbclient.a(my_pthread.c.obj):(.text+0x70): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile.Release:69: release/config.exe] Error 1
make[1]: Leaving directory '/home/devel/Qt-CMake-HelloWorld'
make: *** [Makefile:36: release] Error 2

What am I doing wrong?

Martchus commented on 2018-01-04 21:16 (UTC) (edited on 2018-01-04 21:18 (UTC) by Martchus)

While building this package? Mh... strange since I was able to build successfully. To be honest, I've only built 5.10.0-1 and not 5.10.0-2 so far, but looking at the diff I doubt that this makes a difference.

To help you, I need a little bit more context (the failing command at least). Whether you're actually talking about mingw-w64-qt5-base (and not eg. mingw-w64-qt5-base-static), your AUR helper and whether you're building in a clean chroot would also be good to know.

Hudd commented on 2018-01-04 21:05 (UTC)

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

ld: cannot find -lVersion

Martchus commented on 2017-12-15 21:56 (UTC) (edited on 2017-12-15 21:59 (UTC) by Martchus)

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 (UTC) (edited on 2017-12-15 19:40 (UTC) by Martchus)

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