-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
MIME type issue with Qt 6.8 from VCPKG 2.6 branch #14437
Comments
I guess this has the same origin as: #14392 |
Up to Qt6.7.2 the MIME type reference from Freedesktop was used: https://github.com/qt/qtbase/tree/6.7.2/src/corelib/mimetypes/mime/packages |
Here is the commit in question: |
And here are the upstream bugs: |
I think the cleanest solution would be to add a VCPKG feature to the qt-base port, that enforces the |
I am preparing a shared-mime-info port for VCPKG. It is however unclear how Qt will pick it up in the macOs and Windows case. |
I am out of luck and need help:
The equivalent macOS call works:
I have tried to override Is there an issue with \ vs / or the drive letter in windows? @JoergAtGithub can you investigate how |
I tried to build your shared-mime-info branch localy nd ran into the same problem as on CI. Regarding the path syntax, the only thing I notice is that |
Can you try to do the msgfmt.EXE call manually?
Can you reproduce the error as well? |
I tried
what seems right to me according the online help of msgfmt.exe and got:
|
The problem seems to be the XML output format, which reqiures a .its rules file, which is not there, with binary output it works:
https://www.gnu.org/software/gettext/manual/html_node/ITS-Rules.html There is https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/data/its/shared-mime-info.its?ref_type=heads but this is not accepted by gettext, independent of path and filename. |
But there is an "its" file in the "its" folder. My conclusion is that there must be an issue with the call or the msgfmt.exe windows build, because everything is in shape on macOS using the same files. |
The documentation of gettext says: So I guess that on macOS there is a system-wide installed *.its file for plain XML |
The required files are in the its folder in the source tree. I have verified this by on Linux by removing them from the system and replace the source tree files by empty files. Build fails. Once they are populated again build succeeds. My conclusion is that there is a bug in msgfmt.exe for windows. In my latest attempt I have tried to use undocumented GETTEXTDATADIR (Without S) to override the directory with a relative path to get around a possible drive letter issue, but it still fails. See: Internally it uses "/" to build pathes. So passing other pathes with "/" seems to be OK. Are you able to single step through msgfmt.exe? |
I'm pretty sure now, that the msgfmt.exe from VCPKG does not work in XML mode, and also that it never worked in former versions of the VCPKG port.
|
As we only use the standalone tool msgfmt.exe from gettext and not the library itself, I recommend, that we download the zip from https://github.com/mlocati/gettext-iconv-windows/tree/main in the mixxxdj/VCPKG gitHub action and call msgfmt.exe from this instead of the VCPKG version until the upstream bug #44299 is fixed. |
Great finding. Do you have an idea what causes the issue? |
This VCPKG port is very complicated. The working workflow setup at https://github.com/mlocati/gettext-iconv-windows/blob/main/.github/workflows/build.yml is complicated too. Not easy to compare. But replacing msgfmt.exe and the DLLs next to it in VCPKGs .\installed\x64-windows\tools\gettext\bin folder fixes the issue. It's something specific to the tools and XML. |
Got it working: The next step is to instruct QT to use the shared-mime-info port. Do you have an idea how this can work? |
Here is the full build: |
Luckily they have implemented a backdoor |
Bug Description
Testing fails in windows using the latest VCPKG environment with QT 6.8.2:
My assumption is that it uses the wrong decoder which than fails in the seek test:
Here is the full test run:
https://github.com/daschuer/mixxx/actions/runs/13662091636/job/38195374089
Version
2.6-alpha
OS
Windows 10
The text was updated successfully, but these errors were encountered: