Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler
-
I am alarmed that there is no longer a Fortran Compiler supplied with Qt 6.2.2 and its move to MinGW 9.0.0.
There is lots and lots of software especially in the Open-Source arena that still performs complex mathematics using Fortran?
Obviously notification and hence comment is required here to gauge users needs (and please do not pick on the semantics of the post) before other actions can be forwarded in a valued, considered manner.
Please no arguments as this is old and should be migrated. Fortran plays a very active role in the Scientific Academic and Aerospace communities. Its influence has drifted far into the Open Source community.
Personally I would consider this to be serious.
File comparison from MinGW 8.1 to Mingw 9.0.0 appers below for verification
Directory of C:\JTSDK64-Tools\tools\Qt\Tools\mingw810_64\bin
21/08/2020 08:06 AM <DIR> .
21/08/2020 08:06 AM <DIR> ..
12/05/2018 02:07 PM 1,055,744 addr2line.exe
12/05/2018 02:07 PM 1,079,808 ar.exe
12/05/2018 02:07 PM 1,897,472 as.exe
12/05/2018 05:10 PM 1,958,400 c++.exe
12/05/2018 02:07 PM 1,054,208 c++filt.exe
12/05/2018 05:10 PM 1,956,352 cpp.exe
12/05/2018 02:07 PM 1,113,088 dlltool.exe
12/05/2018 02:07 PM 52,736 dllwrap.exe
12/05/2018 02:07 PM 3,121,664 dwp.exe
12/05/2018 02:07 PM 38,912 elfedit.exe
12/05/2018 05:10 PM 1,958,400 g++.exe
12/05/2018 05:10 PM 59,392 gcc-ar.exe
12/05/2018 05:10 PM 59,392 gcc-nm.exe
12/05/2018 05:10 PM 59,392 gcc-ranlib.exe
12/05/2018 05:10 PM 1,955,328 gcc.exe
12/05/2018 05:10 PM 1,401,856 gcov-dump.exe
12/05/2018 05:10 PM 1,457,152 gcov-tool.exe
12/05/2018 05:10 PM 1,535,488 gcov.exe
12/05/2018 06:28 PM 59,605 gdb.exe
12/05/2018 06:28 PM 9,594,561 gdborig.exe
12/05/2018 06:28 PM 506,436 gdbserver.exe
12/05/2018 05:12 PM 55,808 gendef.exe
12/05/2018 05:12 PM 73,728 genidl.exe
12/05/2018 05:12 PM 28,672 genpeimg.exe
12/05/2018 05:10 PM 1,957,376 gfortran.exe
12/05/2018 02:07 PM 1,119,744 gprof.exe
12/05/2018 02:07 PM 1,489,408 ld.bfd.exe
12/05/2018 02:07 PM 1,489,408 ld.exe
12/05/2018 02:07 PM 5,157,376 ld.gold.exe
12/05/2018 05:11 PM 32,768 libatomic-1.dll
12/05/2018 05:11 PM 76,288 libgcc_s_seh-1.dll
12/05/2018 05:11 PM 156,672 libgomp-1.dll
12/05/2018 05:11 PM 334,848 libquadmath-0.dll
12/05/2018 05:11 PM 17,408 libssp-0.dll
12/05/2018 05:11 PM 1,417,216 libstdc++-6.dll
12/05/2018 05:11 PM 52,224 libwinpthread-1.dll
12/05/2018 06:29 PM 221,184 mingw32-make.exe
12/05/2018 02:07 PM 1,067,008 nm.exe
12/05/2018 02:07 PM 1,234,432 objcopy.exe
12/05/2018 02:07 PM 2,285,056 objdump.exe
12/05/2018 02:07 PM 1,079,808 ranlib.exe
12/05/2018 02:07 PM 581,632 readelf.exe
12/05/2018 02:07 PM 1,056,256 size.exe
12/05/2018 02:07 PM 1,056,256 strings.exe
12/05/2018 02:07 PM 1,234,432 strip.exe
12/05/2018 05:13 PM 437,760 widl.exe
12/05/2018 02:07 PM 1,078,272 windmc.exe
12/05/2018 02:07 PM 1,166,848 windres.exe
12/05/2018 05:10 PM 1,958,400 x86_64-w64-mingw32-c++.exe
12/05/2018 05:10 PM 1,958,400 x86_64-w64-mingw32-g++.exe
12/05/2018 05:10 PM 1,955,328 x86_64-w64-mingw32-gcc-8.1.0.exe
12/05/2018 05:10 PM 59,392 x86_64-w64-mingw32-gcc-ar.exe
12/05/2018 05:10 PM 59,392 x86_64-w64-mingw32-gcc-nm.exe
12/05/2018 05:10 PM 59,392 x86_64-w64-mingw32-gcc-ranlib.exe
12/05/2018 05:10 PM 1,955,328 x86_64-w64-mingw32-gcc.exe
12/05/2018 05:10 PM 1,957,376 x86_64-w64-mingw32-gfortran.exe
56 File(s) 67,896,282 bytesDirectory of C:\JTSDK64-Tools\tools\Qt\Tools\mingw900_64\bin
01/01/2022 11:29 PM <DIR> .
01/01/2022 11:29 PM <DIR> ..
16/11/2021 01:45 AM 1,079,296 addr2line.exe
16/11/2021 01:45 AM 1,106,944 ar.exe
16/11/2021 01:45 AM 1,706,496 as.exe
16/11/2021 04:14 AM 2,142,720 c++.exe
16/11/2021 01:45 AM 1,077,760 c++filt.exe
16/11/2021 04:14 AM 2,141,184 cpp.exe
16/11/2021 01:45 AM 1,136,640 dlltool.exe
16/11/2021 01:45 AM 53,248 dllwrap.exe
16/11/2021 01:45 AM 2,372,096 dwp.exe
16/11/2021 01:45 AM 39,936 elfedit.exe
16/11/2021 04:14 AM 2,142,720 g++.exe
16/11/2021 04:14 AM 60,928 gcc-ar.exe
16/11/2021 04:14 AM 60,928 gcc-nm.exe
16/11/2021 04:14 AM 60,928 gcc-ranlib.exe
16/11/2021 04:14 AM 2,140,160 gcc.exe
16/11/2021 04:14 AM 1,454,080 gcov-dump.exe
16/11/2021 04:14 AM 1,508,864 gcov-tool.exe
16/11/2021 04:14 AM 1,686,016 gcov.exe
16/11/2021 05:21 AM 4,045 gdb-add-index
16/11/2021 05:21 AM 79,599 gdb.exe
16/11/2021 05:21 AM 10,895,598 gdborig.exe
16/11/2021 05:21 AM 577,225 gdbserver.exe
16/11/2021 04:16 AM 83,456 gendef.exe
16/11/2021 04:16 AM 96,256 genidl.exe
16/11/2021 04:17 AM 53,248 genpeimg.exe
16/11/2021 01:45 AM 1,140,224 gprof.exe
16/11/2021 01:45 AM 1,641,984 ld.bfd.exe
16/11/2021 01:45 AM 1,641,984 ld.exe
16/11/2021 01:45 AM 4,480,512 ld.gold.exe
16/11/2021 04:15 AM 31,232 libatomic-1.dll
16/11/2021 04:15 AM 75,776 libgcc_s_seh-1.dll
16/11/2021 04:15 AM 233,984 libgomp-1.dll
16/11/2021 04:15 AM 369,664 libquadmath-0.dll
16/11/2021 04:15 AM 38,400 libssp-0.dll
16/11/2021 04:15 AM 1,957,888 libstdc++-6.dll
16/11/2021 04:15 AM 53,248 libwinpthread-1.dll
16/11/2021 04:14 AM 27,520,512 lto-dump.exe
16/11/2021 05:22 AM 274,944 mingw32-make.exe
16/11/2021 01:45 AM 1,092,608 nm.exe
16/11/2021 01:45 AM 1,207,808 objcopy.exe
16/11/2021 01:45 AM 2,200,576 objdump.exe
16/11/2021 01:45 AM 1,106,944 ranlib.exe
16/11/2021 01:45 AM 932,352 readelf.exe
16/11/2021 01:45 AM 1,080,320 size.exe
16/11/2021 01:45 AM 1,080,320 strings.exe
16/11/2021 01:45 AM 1,207,808 strip.exe
16/11/2021 04:17 AM 525,312 widl.exe
16/11/2021 01:45 AM 1,101,312 windmc.exe
16/11/2021 01:45 AM 1,190,912 windres.exe
16/11/2021 04:14 AM 2,142,720 x86_64-w64-mingw32-c++.exe
16/11/2021 04:14 AM 2,142,720 x86_64-w64-mingw32-g++.exe
16/11/2021 04:14 AM 2,140,160 x86_64-w64-mingw32-gcc-11.2.0.exe
16/11/2021 04:14 AM 60,928 x86_64-w64-mingw32-gcc-ar.exe
16/11/2021 04:14 AM 60,928 x86_64-w64-mingw32-gcc-nm.exe
16/11/2021 04:14 AM 60,928 x86_64-w64-mingw32-gcc-ranlib.exe
16/11/2021 04:14 AM 2,140,160 x86_64-w64-mingw32-gcc.exe
56 File(s) 94,695,539 bytes -
@FreddoFrog said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
Can this please be addressed - perhaps as a deployable addon
This is wrong place to ask this. This is user forum.
You should either ask on Qt developers mailing list or file a chzange request in Qt bug tracker. -
And how else do users become aware (hence the post here)?
And what better place to make Users aware than on a User's Forum.
Your suggestion was always the intent once enough comment had been received on the validity of the need.
As an example for the need for Fortran compilers, the Amateur Radio Community works with software developed by Nobel Laureate Joe Taylor (see https://www.nobelprize.org/prizes/physics/1993/taylor/biographical/ ) and his software "WSJTX" (see: https://physics.princeton.edu/pulsar/k1jt/wsjtx.html ).
There are about 30,000 users of software based off his work at any time (See https://pskreporter.info/cgi-bin/pskstats.pl and refer to WSJTX and JTDX).
Use of this software has revolutionised and reinvigorated Amateur Radio.
Many of Joe's algorithms are based HEAVILY off Fortran.
The stress here is the word "Amateur" ...
If we do not make the greater community aware of issues first then concerns tend to be dismissed.
Thanks for the comment though.
-
@FreddoFrog You wrote: "Can this please be addressed".
How should users in a user forum adress this?
If you want these changes you need to go to developers mailing list, or (better) file a change request in Qt bug tracker.
Of course it is fine to inform users here, but if you want changes you have to use above mentioned locations. -
@FreddoFrog said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
I am alarmed that there is no longer a Fortran Compiler supplied with Qt 6.2.2 and its move to MinGW 9.0.0.
Why would Qt deliver you a fortran compiler to begin with? Qt neither uses, nor exposes any bindings to, nor has anything at all to do with fortran. If you want that, then simply install your own mingw distribution that includes it, then you can configure the IDE to use the mentioned mingw if that's required.
-
@kshegunov said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
@FreddoFrog said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
I am alarmed that there is no longer a Fortran Compiler supplied with Qt 6.2.2 and its move to MinGW 9.0.0.
Why would Qt deliver you a fortran compiler to begin with? ...
My second post I think that covers what you are requesting :-) Summarising again, there is a huge number of "Amateurs" that work with and compile their own software in this 30,000-odd continuous (WORLD LEADING) software user base.
As for deploying MinGW or MSYS the environments with the Software Develoeprs' KIts that are available for WSJT-X and JT-ware are complex enough as it is when one speaks with the maintainers of these kits. Version mismatches - library mismatches - DLL's not being able to be found etc.
It is so much easier working off the one codebase (and version) of development tools - especially for Amateurs and Open Source Contributors who are not performing activities for money.
Traditionally a Fortran compiler has been supplied up until this release.
I reiterate that the intent of the post was start a disussion to draw out a continued need for such resources. Reporting such as a bug etc. wastes everyones time without evidence.
These people that use this are Amateurs; most do do not trawl forums picking this comma or that word. They are learners. KISS. Keep it Simple.
Work the story - determine the need.
Its a frustrating discussion and having a seond post throw "Terms Of Service" at you - a "Term Of Service" that is very liberal. The concerns there at that post has been addressed. I am sure that posts already have hit moderators (I have reported them too).
The intent here was to inform and determine if need was there then post "in the appropriate place". Evidence based reporting.
This is so much better than firing potshots in the dark without sustaining need :-)
That is how you keep within "Terms Of Service".
-
@FreddoFrog said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
My second post I think that covers what you are requesting :-) Summarising again, there is a huge number of "Amateurs" that work with and compile their own software in this 30,000-odd continuous (WORLD LEADING) software user base.
So? When I work with OpenMPI I don't expect Qt to supply me neither the wrapper compilers, nor should I. Qt is a library, not your download all in one compiler/toolchain package.
As for deploying MinGW or MSYS the environments with the Software Develoeprs' KIts that are available for WSJT-X and JT-ware are complex enough as it is when one speaks with the maintainers of these kits. Version mismatches - library mismatches - DLL's not being able to be found etc.
How is this a problem of Qt, or QtCreator for that matter? Shall we suddenly require Microsoft to supply fortran in their windows SDK, or perhaps we should require intel to ship you a D compiler alogside their fortran package, just 'cause someone may decide to use it?
(... and please don't answer these)It is so much easier working off the one codebase (and version) of development tools - especially for Amateurs and Open Source Contributors who are not performing activities for money.
Fortran uses C-linkage, so anything compiled with fortran can be linked by anything C.
So, what's the problem here? Just setup your tools properly and hack away.Traditionally a Fortran compiler has been supplied up until this release.
No it hasn't. No one promised you that. You've been depending on a detail that's completely undocumented and now you've been bit. It happens, but you're going to have to live with it.
I reiterate that the intent of the post was start a disussion to draw out a continued need for such resources. Reporting such as a bug etc. wastes everyones time without evidence.
Then the intent is wrong, as the whole premise is wrong. Nobody told you that they're going to ship you a fortran compiler, it was never documented nor is it required for the Qt libraries. So, I reiterate - download your own compiler and setup the IDE to use it, that's how it's done.
I don't go around crying that Qt Creator doesn't ship me the MSVC console compiler and debugger, do I?These people that use this are Amateurs; most do do not trawl forums picking this comma or that word. They are learners. KISS. Keep it Simple.
You throw this in like it matters. Keep simple what? It's already simple enough. There's documentation for you to read on how to setup the IDE, you follow the steps and if you fail to properly set it up, then you can come and ask a question. That's fine.
Whining that some obscure undocumented thing isn't available anymore on the other hand, sorry, you ain't impressing nobody.Work the story - determine the need.
I don't need it, nor does anyone that actually develops with Qt. So there's no need.
That is how you keep within "Terms Of Service".
What are you babbling about? No one mentioned no "Terms of service" anywhere.
-
Qt 6.2.2 comes with MinGW 11.2.0 release that I've build at https://github.com/cristianadam/mingw-builds/releases/tag/v11.2.0-rev1
Unfortunately Qt Release Team named the MinGW release 9.0.0 instead of 11.2.0. I reported the problem at https://bugreports.qt.io/browse/QTBUG-99262I did the release because "niXman" stopped doing binary releases at https://sourceforge.net/projects/mingw-w64/files/.
Fortunately he posted the scripts on GitHub At https://github.com/niXman/mingw-builds, and in order to create a MinGW toolchain one just has to run a bash command in a MSys2 shell window:
./build --mode=gcc-11.2.0 --buildroot=buildroot --jobs=4 --rev=0 --rt-version=trunk --threads=win32 --exceptions=seh --arch=x86_64 --bin-compress --enable-languages=c,c++
I haven't noticed that previously the release had also fortran as an enabled language.
You can fork https://github.com/niXman/mingw-builds change the https://github.com/niXman/mingw-builds/blob/develop/.github/workflows/build_cmake.yml file to contain fortran and push. In ~5hours you'll have your own MinGW toolchains.
'niXman' has started creating binary packages at https://github.com/niXman/mingw-builds-binaries
and we'll just refer to those packages, and not my fork.Please create a bug report at https://github.com/niXman/mingw-builds-binaries/issues and at https://bugreports.qt.io/ so that this is properly tracked.
-
@Crisian-Adam-0 said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
and at https://bugreports.qt.io/ so that this is properly tracked.
So, you're promising that you're going to ship a fortran compiler alongside the Qt's builds; the MinGW package that you ship?
If that is so, then @FreddoFrog, my apologies for snapping at you, apparently I was wrong.
-
@kshegunov said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
So, you're promising that you're going to ship a fortran compiler alongside the Qt's builds; the MinGW package that you ship?
I have a run at https://github.com/cristianadam/mingw-builds/runs/4845292779?check_suite_focus=true
If this passes I'll make a tag release and inform the Qt Release team about it.
I didn't pay attention to which languages MinGW 8.1.0 had enabled and thought that c and c++ are enough for Qt 😁
-
@Crisian-Adam-0 said in Qt 6.2.2 and MinGW 9.0.0 does not deliver a Fortran Compiler:
I have a run at https://github.com/cristianadam/mingw-builds/runs/4845292779?check_suite_focus=true
If this passes I'll make a tag release and inform the Qt Release team about it.
That's nice, but it didn't really answer my question.
I didn't pay attention to which languages MinGW 8.1.0 had enabled and thought that c and c++ are enough for Qt 😁
Yeah, my understanding as well, notwithstanding the limited to no utility of fortran for any Qt code or vice versa. Simply linking the different binaries should be more than satisfactory, I should think.
-
@Crisian-Adam-0 I was not going to comment further - but as the discussion is mostly constructive so further comment is ethically warranted.
No I am not promising to do it - but I can tell you how to possibly do it - In a way that many would consider to be BAD ... see below.
This discussion is about building a case to have an APPROVED deployment for Fortran shipped with Qt deployments.
As a community we need to gauge whether an escallation is needed for an urgent approach to the Qt maintainers to incorporate Fortran compilers.
Many may not know that MinGW Tools deployment has been bumped to Version 9.0.0 from Version 8.1 (where it has been since QT 5.15.0) since the release of Qt 6.2.2.
Often these posts flag interests of Qt Maintainers and get faster action.
If an approach has to be made then once the evidence is there you have a greater chance of getting the request prioritised.
For general clarification for everyone:
-
Amateurs when used in this in this context refers to "Amateur Radio Operators".
-
You can "drop" packages in from "approved resources" at the moment into the Qt Tools directory (i.e. (deploy)\Qt\Tools\mingw900_64) .
* Ref: https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-fortran-11.2.0-6-any.pkg.tar.zst .<== Further testing: fails - hence need for this to come from Qt MaintainersDespite this being a recognised source, dropping in compiled code into an existing deployment is quite dangerous as it has NOT come from Qt nor has it been approved or tested by The Qt Environment Development Team. It has not even been fully tested here.
It is FAR FAR better that these resources come FROM Qt Maintainers and be deployable from resources such as the Qt MaintenanceTool, Installer and/or some additional maintenance tool for MinGW.
I have been open in my thinking and motives here. If one is not open and honest then one gets chopped to pieces.
Further constructive comments and discussion are always appreciated.
-
-
Just so that people are aware ....
MSYS2 Project MinGW reports as :
$ gfortran --version
GNU Fortran (Rev6, Built by MSYS2 project) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Qt's C++ Compiler reports as:
PS C:\Qt\Tools\mingw900_64\bin> gcc --version
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Without dumping a hell of a lot of DLL's etc. at both the MSYS2 and Qt MinGW 9.0.0 ends there is a lack of compatibility - hence build failures when you just drop the MSYS2 compatible "pacman package" in - which is why I had to strike-through the line:
*You can "drop" packages in from "approved resources" at the moment into the Qt Tools directory (i.e. (deploy)\Qt\Tools\mingw900_64) .
-
@FreddoFrog thank you for creating https://bugreports.qt.io/browse/QTBUG-99968
I've published an update of MinGW 11.2.0 with
fortran
support at https://github.com/cristianadam/mingw-builds/releases/tag/v11.2.0-rev2Qt packages the
x86_64-11.2.0-release-posix-seh
binary in the Qt SDK. So you can test with the x86_64-11.2.0-release-posix-seh-rt_v9-rev2.7z binary. -
@Crisian-Adam-0 This is HUGELY APPRECIATED by our community.
I have not tested this yet but I sure will !!!
I do not like cross-posting but I will copy-and-paste your notes into our community.
Our Announcement: https://groups.io/g/JTSDK/message/1884
Thanks again. I cannot put a solved to this until this is formally addressed by the Qt Maintainers.