Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General discussion about mingw-w64 packages #94

Closed
xantares opened this issue Apr 24, 2019 · 262 comments
Closed

General discussion about mingw-w64 packages #94

xantares opened this issue Apr 24, 2019 · 262 comments
Labels

Comments

@xantares
Copy link
Contributor

would it be possible to add mingw-w64-ceres(depends on mingw-w64-google-glog) and mingw-w64-nlopt to ownstuff ?

@Martchus
Copy link
Owner

If it doesn't take forever to build like paraview I can add them later. By the way, there is now a mirror under https://ftp.f3l.de/~martchus/.

@xantares
Copy link
Contributor Author

no, no, they're both small, but I use them often

@xantares
Copy link
Contributor Author

nice, should I prefer this mirror over your website ? is it faster ?

@Martchus
Copy link
Owner

Martchus commented Apr 24, 2019

My website is hosted via VDSL 50000. The mirror is hosted at Hetzer so it should be faster and more reliable. However, the mirror might be updated a little bit slower.

@Martchus
Copy link
Owner

The packages should be there.

@xantares
Copy link
Contributor Author

Thanks! I already tested the new mirror.
I made a mistake in the ceres package and had to publish a new revision :[

@Martchus
Copy link
Owner

rebuilt, +0.01 % ccache hit rate :-)

@xantares
Copy link
Contributor Author

hi @Martchus, would it be possible to add mingw-w64-mesa ?

@Martchus
Copy link
Owner

Sure, Mesa under Windows sounds like fun. Reminds me that I wanted to add a package for opengl32sw.dll (https://www.mesa3d.org/llvmpipe.html).

@Martchus
Copy link
Owner

But may I ask for what you use this?

@Martchus
Copy link
Owner

The mingw-w64-mesa package misses the make dependency python2-mako.

Considering the log this would actually build llvmpipe provided LLVM was found:

Checking for GCC ...  yes
Checking for Clang ...  no
Checking for X11 (x11 xext xdamage >= 1.1 xfixes glproto >= 1.4.13 dri2proto >= 2.8)... no
Checking for XCB (x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8)... no
Checking for XF86VIDMODE (xxf86vm)... no
Checking for DRM (libdrm >= 2.4.75)... no
Checking for GCC ...  yes
Checking for Clang ...  no
Checking for C header file xlocale.h... (cached) no
Checking for C header file endian.h... (cached) yes
Checking for C function strtod_l()... (cached) yes
Checking for C function strtof_l()... (cached) yes
Checking for C function timespec_get()... (cached) yes
Checking for X11 (x11 xext xdamage >= 1.1 xfixes glproto >= 1.4.13 dri2proto >= 2.8)... no
Checking for XCB (x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8)... no
Checking for XF86VIDMODE (xxf86vm)... no
Checking for DRM (libdrm >= 2.4.75)... no
^[^[warning: LLVM disabled: not building llvmpipe

So maybe I'll extend the package to get opengl32sw.dll for use with Qt Quick. It seems like there's already mingw-w64-llvm and you're even maintaining it :-)

@teohhanhui
Copy link
Contributor

teohhanhui commented Apr 30, 2019

I've tried following the instructions:

https://www.mesa3d.org/llvmpipe.html
https://wiki.qt.io/Cross_compiling_Mesa_for_Windows

But I could never get it to use llvm:

$ scons platform=windows toolchain=crossmingw machine=x86_64 build=release libgl-gdi

Because of https://gitlab.freedesktop.org/mesa/mesa/blob/mesa-19.0.3/scons/llvm.py#L68-72

Setting the LLVM env var wouldn't work as we have /usr/x86_64-w64-mingw32/include/llvm which obviously does not have a bin directory.

Or is there something else we could do?

@teohhanhui
Copy link
Contributor

teohhanhui commented Apr 30, 2019

Looks like we could do:

$ LLVM=/usr/x86_64-w64-mingw32 scons platform=windows toolchain=crossmingw machine=x86_64 build=release libgl-gdi

But I get:

sh: x86_64-w64-mingw32-g++-posix: command not found

This does not happen if I don't set the LLVM env var.

We only have x86_64-w64-mingw32-g++

Edit: Could be because I'm using https://aur.archlinux.org/packages/mingw-w64-winpthreads-bin instead of https://aur.archlinux.org/packages/mingw-w64-winpthreads

I should switch and try this again.

But in a pinch I tried:

$ sudo ln -s /usr/bin/x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix

And it works lol. Spoken too soon:

  Linking build/windows-x86_64/gallium/targets/libgl-gdi/opengl32.dll ...
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libLLVMSupport.a(Compression.cpp.obj):(.text+0x15d): undefined reference to `compressBound'
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libLLVMSupport.a(Compression.cpp.obj):(.text+0x181): undefined reference to `compress2'
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libLLVMSupport.a(Compression.cpp.obj):(.text+0x22a): undefined reference to `uncompress'
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libLLVMSupport.a(Compression.cpp.obj):(.text+0x42a): undefined reference to `crc32'
collect2: error: ld returned 1 exit status
scons: *** [build/windows-x86_64/gallium/targets/libgl-gdi/opengl32.dll] Error 1

Some zlib problem with mingw-w64-llvm, I guess?

And I really shouldn't be using any of the mingw-w64-xxx-bin AUR packages, right?

So, anyway, we still need /usr/bin/x86_64-w64-mingw32-g++-posix

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

hi @teohhanhui, I worked around the g++-posix and zlib issues.

Could you retry to build the updated mingw-w64-mesa now ?

@Martchus
Copy link
Owner

Martchus commented May 1, 2019

@xantares Thanks for looking into it. I think I would have come up with similar changes. I'm trying to rebuild now although there's likely an install missing in the package() function (which I'm going to add if it worked and I know where to copy the file from).

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

There's no install, as it's not supported. Besides mesa headers will clash with mingw headers. Import libs are not provided either. I think it's fine to provide just the dll, as it's meant to be a drop-in override of the system dll.

@Martchus
Copy link
Owner

Martchus commented May 1, 2019

I thought this would produce a 2nd DLL called opengl32sw.dll (which would need an additional install line). But apparently now everything is combined into opengl32.dll which is now quite huge (41.9 MiB, before only 9.9 MiB). Unfortunately that is just what you get when linking statically against LLVM. I personally don't care because disk space is nowadays just not so limited anymore.

So it seems your changes were working. The only thing missing was increasing pkgrel and the dependency mingw-w64-zlib.

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

ok, zlib is pulled by mingw-llvm now, and I've updated to 19.0.3, so no need to bump.

@Martchus
Copy link
Owner

Martchus commented May 1, 2019

Makes sense.

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

I could not test yet on a windows box, did you ?

@Martchus
Copy link
Owner

Martchus commented May 1, 2019

Of course not :-)

It is ages ago since I've tested a Qt Quick application but if I do I'll give the software renderer a try.

@teohhanhui
Copy link
Contributor

Thank you @xantares and @Martchus! I'll give this a try and test it on a Windows machine (on Google Compute Engine).

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

great!

@teohhanhui
Copy link
Contributor

If I understand correctly, zlib is used for compressing the library, right? So the workaround makes the output much larger? It'd be better if we could fix the zlib problem...

@teohhanhui
Copy link
Contributor

Oh, you pass z to the linker too, gotcha!

@teohhanhui
Copy link
Contributor

teohhanhui commented May 1, 2019

For the g++-posix problem, I wonder if that could be fixed in mingw-w64-gcc? (As it seems like the binary is expected to exist for mingw anyway...) (Or it's just a Debian thing lol)

@xantares
Copy link
Contributor Author

xantares commented May 1, 2019

zlib is needed by llvm, or at least they link to it.

yes, it seems debian uses g++-posix suffix as they provide both posix and win32 threads flavors, we only use posix

what makes the lib larger is that we statically link llvm libs

@teohhanhui
Copy link
Contributor

teohhanhui commented May 1, 2019

@Martchus I don't know if you could help me with this, but when I try to build my project https://github.com/teohhanhui/paper-chess with CONFIG+=static (in QtCreator) this is what I get:

x86_64-w64-mingw32-g++ -static -static-libstdc++ -static-libgcc -Wl,-subsystem,windows -mthreads -o release/PaperChess.exe @object_script.PaperChess.Release  -L/usr/x86_64-w64-mingw32/lib/qt/plugins/styles /usr/x86_64-w64-mingw32/lib/qt/plugins/styles/libqwindowsvistastyle.a -L/usr/x86_64-w64-mingw32/lib -L/usr/x86_64-w64-mingw32/lib/qt/plugins/platforms /usr/x86_64-w64-mingw32/lib/qt/plugins/platforms/libqwindows.a -lQt5EventDispatcherSupport -lQt5FontDatabaseSupport -lQt5ThemeSupport -lQt5AccessibilitySupport -lwinspool -lwtsapi32 -lQt5WindowsUIAutomationSupport -L/usr/x86_64-w64-mingw32/lib/qt/plugins/iconengines /usr/x86_64-w64-mingw32/lib/qt/plugins/iconengines/libqsvgicon.a -L/usr/x86_64-w64-mingw32/lib/qt/plugins/imageformats /usr/x86_64-w64-mingw32/lib/qt/plugins/imageformats/libqgif.a /usr/x86_64-w64-mingw32/lib/qt/plugins/imageformats/libqico.a /usr/x86_64-w64-mingw32/lib/qt/plugins/imageformats/libqjpeg.a /usr/x86_64-w64-mingw32/lib/libjpeg.a /usr/x86_64-w64-mingw32/lib/qt/plugins/imageformats/libqsvg.a -lQt5Svg -L/usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_debugger.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_inspector.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_local.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_messages.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_native.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_nativedebugger.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_preview.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_profiler.a /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_quickprofiler.a -lQt5Quick /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_server.a -lQt5PacketProtocol /usr/x86_64-w64-mingw32/lib/qt/plugins/qmltooling/libqmldbg_tcp.a -L/usr/x86_64-w64-mingw32/lib/qt/plugins/bearer /usr/x86_64-w64-mingw32/lib/qt/plugins/bearer/libqgenericbearer.a /usr/x86_64-w64-mingw32/lib/libQt5Quick.a -lQt5Qml /usr/x86_64-w64-mingw32/lib/libQt5Svg.a -lQt5Widgets /usr/x86_64-w64-mingw32/lib/libz.dll.a /usr/x86_64-w64-mingw32/lib/libQt5Widgets.a -lQt5Gui -ldwmapi -luxtheme /usr/x86_64-w64-mingw32/lib/libQt5Gui.a /usr/x86_64-w64-mingw32/lib/libpng16.a /usr/x86_64-w64-mingw32/lib/libfreetype.a /usr/x86_64-w64-mingw32/lib/libharfbuzz.a /usr/x86_64-w64-mingw32/lib/libglib-2.0.a /usr/x86_64-w64-mingw32/lib/libole32.a /usr/x86_64-w64-mingw32/lib/libwinmm.a /usr/x86_64-w64-mingw32/lib/libshlwapi.a /usr/x86_64-w64-mingw32/lib/libpcre.a /usr/x86_64-w64-mingw32/lib/libintl.a /usr/x86_64-w64-mingw32/lib/libgraphite2.a /usr/x86_64-w64-mingw32/lib/libbz2.a /usr/x86_64-w64-mingw32/lib/libglu32.a /usr/x86_64-w64-mingw32/lib/libopengl32.a /usr/x86_64-w64-mingw32/lib/libuser32.a -lopengl32 -lcomdlg32 -loleaut32 -limm32 -ljpeg -lpng -lfreetype -lbz2 -lharfbuzz -lm -lintl -lglib-2.0 -lshlwapi -lpcre -lgraphite2 /usr/x86_64-w64-mingw32/lib/libQt5Qml.a -lQt5Network /usr/x86_64-w64-mingw32/lib/libQt5Network.a -lQt5Core /usr/x86_64-w64-mingw32/lib/libssl.a /usr/x86_64-w64-mingw32/lib/libcrypto.a /usr/x86_64-w64-mingw32/lib/libws2_32.a /usr/x86_64-w64-mingw32/lib/libgdi32.a /usr/x86_64-w64-mingw32/lib/libcrypt32.a /usr/x86_64-w64-mingw32/lib/libdnsapi.a /usr/x86_64-w64-mingw32/lib/libiphlpapi.a -lssl -lcrypto -lgdi32 -lcrypt32 -ldnsapi -liphlpapi /usr/x86_64-w64-mingw32/lib/libQt5Core.a -lmpr /usr/x86_64-w64-mingw32/lib/libz.a /usr/x86_64-w64-mingw32/lib/libpcre2-16.a /usr/x86_64-w64-mingw32/lib/libiconv.a -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32  /usr/x86_64-w64-mingw32/lib/libglu32.a /usr/x86_64-w64-mingw32/lib/libopengl32.a /usr/x86_64-w64-mingw32/lib/libgdi32.a /usr/x86_64-w64-mingw32/lib/libuser32.a -lmingw32 /usr/x86_64-w64-mingw32/lib/libqt5main.a -lshell32 
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libz.a(inflate.o):(.text+0x260): multiple definition of `inflateReset'; /usr/x86_64-w64-mingw32/lib/libz.dll.a(d000074.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../make[1]: Leaving directory '/home/teohhanhui/projects/teohhanhui/build-PaperChess-Desktop_Windows-Release (static)'
../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libz.a(inflate.o):(.text+0x360): multiple definition of `inflateInit2_'; /usr/x86_64-w64-mingw32/lib/libz.dll.a(d000070.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libz.a(inflate.o):(.text+0x500): multiple definition of `inflate'; /usr/x86_64-w64-mingw32/lib/libz.dll.a(d000061.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/x86_64-w64-mingw32/lib/libz.a(inflate.o):(.text+0x2000): multiple definition of `inflateEnd'; /usr/x86_64-w64-mingw32/lib/libz.dll.a(d000067.o):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status

The dynamic build works perfectly.

Edit: Removing /usr/x86_64-w64-mingw32/lib/libz.dll.a from the command seems to work. But I'll have to try to actually run it on the Windows box.

Do you have any idea why it was added in the first place? Is this related?

Developers of mingw32 applications, who wish to link to the zlib libraries, will require at least the "dev" tarball; this provides the libz.a static version of the library, libz.dll.a import library, for linking to a DLL version of the library, and the set of C language headers common to both.

https://sourceforge.net/projects/mingw/files/MinGW/Extension/zlib/zlib-1.2.7-1/

Edit: And the result (from Dependency Walker profiling):

QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:-1 File was compiled ahead of time with an incompatible version of Qt and the original file cannot be found. Please recompile

I don't understand why lol... Perhaps I did something wrong when upgrading the mingw-w64-qt5-* packages? Do I need to rebuild them in the correct order?

@Martchus
Copy link
Owner

Martchus commented May 1, 2022

Seems like the function has been introduced only in Windows 10 version 1607 (see https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-systemparametersinfofordpi). So If you're using a totally outdated version of mingw-w64-crt it might be missing.

Btw, I can also check the import libs for their symbols locally, e.g.:

[martchus@martchus-arch pkgbuilds]$ [master] nm -A /usr/i686-w64-mingw32/lib/lib*.a 2>/dev/null  | grep -i SystemParametersInfoForDpi
/usr/i686-w64-mingw32/lib/libuser32.a:libuser32s00939.o:00000000 T _SystemParametersInfoForDpi@20
/usr/i686-w64-mingw32/lib/libuser32.a:libuser32s00939.o:00000000 I __imp__SystemParametersInfoForDpi@20

On this system the latest crt from testing is installed:

[martchus@martchus-arch pkgbuilds]$ [master] pacman -Q mingw-w64-crt
mingw-w64-crt 10.0.0-1

(But I suppose the version from the normal repo should be recent enough as well.)

@higaski
Copy link

higaski commented May 2, 2022

Thank you for your fast response. You're absolutely right. My mingw-w64-crt package is indeed outdated (9.0.0-1) and does not contain those symbols. Someone must have already run into this though because the package is already flagged. So I'll probably just sit this one out...

Thanks!

@Martchus
Copy link
Owner

Martchus commented May 2, 2022

Judging by installed = mingw-w64-crt-10.0.0-1-any in .BUILDINFO in mingw-w64-qt6-base-6.3.0-1-any.pkg.tar.zst from my binary repo, apparently 10.0.0 was installed in my build environment. I don't know why that was the case. I shouldn't have the testing repo enabled in the build environment; maybe it was misconfigured at the time of building so I worked around the problem by accident. You can simply install the new mingw-w64-crt individually from the official testing repo. It should work on your system without testing repo as well.

@higaski
Copy link

higaski commented May 4, 2022

jfyi, the version in the community repo just got updated and now contains mingw-w64-crt 10.0.0-1

@higaski
Copy link

higaski commented May 5, 2022

I've just tried to make the switch from Qt5->6 cross-compiling a little tool for Windows when I ran into a weird issue. For some reason CMake seems to keeps adding a local usr/include path to my build and I have no clue why.

When I try to use Qt6 the following -isystem paths get added

-isystem /usr/x86_64-w64-mingw32/include/qt6/QtWidgets 
-isystem /usr/x86_64-w64-mingw32/include/qt6 
-isystem /usr/x86_64-w64-mingw32/include/qt6/QtCore 
-isystem /usr/x86_64-w64-mingw32/lib/qt6/mkspecs/win32-g++ 
-isystem /usr/x86_64-w64-mingw32/include/qt6/QtGui 
-isystem /usr/include 

when using Qt5 on the other hand usr/include is missing

-isystem /usr/x86_64-w64-mingw32/include/qt 
-isystem /usr/x86_64-w64-mingw32/include/qt/QtWidgets
-isystem /usr/x86_64-w64-mingw32/include/qt/QtGui 
-isystem /usr/x86_64-w64-mingw32/include/qt/QtCore 
-isystem /usr/x86_64-w64-mingw32/lib/qt/mkspecs/win32-g++ 

Both times I simply pass Qt*_DIR to CMake to point it to the right directories.

Pardon me if this is unrelated to the actual package, I wasn't entirely sure if this is the right place to ask.

/edit
This issue goes away when manually setting CMAKE_SYSROOT.

@Martchus
Copy link
Owner

Martchus commented May 5, 2022

Has the -isystem /usr/include any negative effect? At least I haven't encountered any build errors when building my projects. Maybe we can set CMAKE_SYSROOT in our CMake wrapper but we should test before whether it hasn't any negative side-effects.

By the way, I usually just check the CMake cache for any variables containing e.g. usr/include (or whatever I'm interested in) to see how it might end up in the compiler invocation. If that doesn't work, it sometimes helps to grep for it in all possibly loaded find modules. Here the problem might be that find modules from the host system are loaded (which of course makes the culprit harder to grep for but maybe it is just one of the Qt find modules).

@Martchus
Copy link
Owner

Martchus commented May 5, 2022

Note that our cmake wrapper has already QT_INCLUDE_DIRS_NO_SYSTEM=ON. If you weren't using the wrapper, maybe adding this variable helps as well?

@higaski
Copy link

higaski commented May 5, 2022

Sadly yes. With -isystem /usr/include there are quite a lot of conflicting declarations for primitive types on my system. Setting CMAKE_SYSROOT to point at my mingw64 gcc install prevents this but I'm still reluctant to set it. The mingw64 gcc package seems to have been compiled without -print-sysroot option which means I'd have to hardcode the path into my CMake toolchain file...? 😟

Note that our cmake wrapper has already QT_INCLUDE_DIRS_NO_SYSTEM=ON. If you weren't using the wrapper, maybe adding this variable helps as well?

Makes no difference whether it's ON or OFF.

@Martchus
Copy link
Owner

Martchus commented May 5, 2022

So you're not using the toolchain file provided by mingw-w64-cmake? I always use it and also the wrapper script (or equivalent settings via Qt Creator) so maybe that's why I haven't run into any issues yet.

You could use PKG_CONFIG_SYSROOT_DIR from sourcing the mingw-w64 env (provided by mingw-w64-environment) instead of hard-coding. (Note that you should likely use flags from that environment anyways as you otherwise may even get compiler/linker errors.)

@higaski
Copy link

higaski commented May 5, 2022

So you're not using the toolchain file provided by mingw-w64-cmake? I always use it and also the wrapper script (or equivalent settings via Qt Creator) so maybe that's why I haven't run into any issues yet.

Honestly, I just didn't know about that... 😄
I've just switched to those files and yes, for whatever reason it just works.
Thanks!

@xantares
Copy link
Contributor Author

xantares commented Jun 7, 2022

with the upgrade to mingw-gcc 12 some symbols were removed from libstdc++ and no longer work with gcc 11 libs:
"unimplemented function libstdc++-6.dll._ZSt16__get_once_mutexv"

could these be rebuilt ?

  • mingw-w64-llvm
  • mingw-w64-tbb
  • mingw-w64-protobuf

I already bumped the build numbers

@Martchus
Copy link
Owner

Martchus commented Jun 7, 2022

Ok. I'll start these builds after my currently running builds have been concluded. I've also noticed that all static libs need to be rebuilt when LTO was enabled. (And it is therefore likely better to disable LTO at least for static libs in those packages.)

@xantares
Copy link
Contributor Author

xantares commented Jun 7, 2022

thanks, edit: it was llvm, not mesa

@Martchus
Copy link
Owner

Martchus commented Jun 7, 2022

Btw, you can watch the build here: https://martchus.no-ip.biz/buildservice/#build-action-details-section?83

@xantares
Copy link
Contributor Author

xantares commented Jun 7, 2022

that is so cool!

@xantares
Copy link
Contributor Author

xantares commented Jun 8, 2022

I found two more :

  • mingw-w64-openal
  • mingw-w64-icu

@Martchus
Copy link
Owner

Martchus commented Jun 8, 2022

Those have been rebuilt as well.

@higaski
Copy link

higaski commented Jun 15, 2022

Updating mingw-w64-qt6-base from 6.3.0 to 6.3.1 fails on my system.

CMake Warning at cmake/QtToolHelpers.cmake:142 (find_package):
  Could not find a configuration file for package "Qt6CoreTools" that is
  compatible with requested version "6.3.1".

  The following configuration files were considered but not accepted:

    /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake, version: 6.3.0

Call Stack (most recent call first):
  src/tools/moc/CMakeLists.txt:8 (qt_internal_add_tool)


CMake Error at cmake/QtToolHelpers.cmake:170 (message):
  The tool "Qt6::moc" was not found in the Qt6CoreTools package.  Package
  found: 0
Call Stack (most recent call first):
  src/tools/moc/CMakeLists.txt:8 (qt_internal_add_tool)


-- Configuring incomplete, errors occurred!
See also "/var/tmp/pamac-build-vinci/mingw-w64-qt6-base/src/build-i686-w64-mingw32/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/pamac-build-vinci/mingw-w64-qt6-base/src/build-i686-w64-mingw32/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().
    Aborting...

I've also tried to update mingw-w64-qt6-tools prior to that, but that doesn't work either.

@Martchus
Copy link
Owner

Please wait until the regular qt6-base package is updated to 6.3.1. It is currently in the official testing repo and will be moved to extra soon (when exactly is for official Arch devs to decide). I have already conducted builds of the mingw-64 and android Qt 6 packages against the official testing repo which works as well. (My builds are on my ownstuff-testing repo and will be moved to my ownstuff repo when official packages have been moved.)

@xantares
Copy link
Contributor Author

xantares commented Jun 23, 2022

hi, could mingw-w64-ceres-solver be rebuilt ? It needs it since the glog upgrade (I already bumped it).

@Martchus
Copy link
Owner

Done

@xantares
Copy link
Contributor Author

thanks

@AvtechScientific
Copy link

May ask you to add mingw-w64-gtksourceview5 and mingw-w64-libadwaita to your repository, please?

MSYS2 packages:

https://packages.msys2.org/base/mingw-w64-gtksourceview5
https://packages.msys2.org/base/mingw-w64-libadwaita

I also need mingw-w64-gtk4, but I already saw it here:

https://aur.archlinux.org/packages/mingw-w64-gtk4

I hope I can use several repositories simultaneously (I'm not familiar with the way Arch package management works)...

@Martchus
Copy link
Owner

Martchus commented Jun 26, 2022

I'm currently adding gtk4 but the other packages needed to be added as AUR packages first. I recommend adding those packages yourself.

You can add as many repos as you like, e.g. official ones, my repo and you own one on top of that. (Repos specified first in pacman.conf have precedence.)

@Martchus
Copy link
Owner

Unfortunately gtk4 pulled in many more packages. One of those packages is librsvg and it didn't build (see https://martchus.no-ip.biz/buildservice/#build-action-details-section?54). I assume I need to rebuild rust before so maybe I'll postpone adding gtk4 (because rust takes very long to compile).

@Martchus
Copy link
Owner

GTK4 is there now, including all its dependencies. Building rust didn't even take that long anymore. Maybe they've improved something in their build system or the Ryzen 9 5900X made the tremendous difference :-)

@stale
Copy link

stale bot commented Aug 30, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 30, 2022
@Martchus
Copy link
Owner

Since the stale bot wants to close the issue anyways, I'll move the discussion to #145. Let's see how well GitHub's discussion feature works but it seems to be made exactly for our use case here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants