Bug 25033

Summary: mingw-gcc ICE when compiling Qt 5.12
Product: Mageia Reporter: Oleg Bosis <olelukoie>
Component: RPM PackagesAssignee: QA Team <qa-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: geiger.david68210, olelukoie, sysadmin-bugs
Version: 7Keywords: advisory, validated_update
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard: MGA7-64-OK
Source RPM: mingw-gcc-8.3.0-1.mga7.src.rpm CVE:
Status comment:

Description Oleg Bosis 2019-07-03 08:24:15 CEST
Description of problem:
When trying to compile Qt 5.12 packages (ported from Fedora) for MGA7 I've encountered the following compiling error:

qfloat16.h:79:54:internal compiler error: in make_rtl_for_nonlocal_decl, at
cp/decl.c:6590     Q_CORE_EXPORT static const quint32 mantissatable[];

I've googled a bit and found the same error report in debian:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923214

This report has a link to upstream bug report and a patch for gcc. I've tried to apply this patch to mingw-gcc package. This allowed me to successfully build Qt packages. The patch should be included in GCC 8.4 but it would be great to have the bug fixed in MGA mingw-gcc package without waiting for new GCC release.

Version-Release number of selected component (if applicable):
mingw-gcc 8.3.0

How reproducible:
Always

Steps to Reproduce:
1. Try to compile qtbase 5.12.x with the current mingw-gcc in MGA7
2.
3.
Oleg Bosis 2019-07-03 08:24:25 CEST

CC: (none) => olelukoie

Comment 1 David GEIGER 2019-07-04 02:14:39 CEST
Please try mingw-gcc-8.3.0-1.1.mga7 in Core/Updates_testing repo!

CC: (none) => geiger.david68210

Comment 2 Oleg Bosis 2019-07-04 06:38:34 CEST
Thanks, I'll try it.

I've got a question abount mingw in Mageia and I don't know where to ask it so I'll ask it here.

Standard rpm macros %make and %make_build in mageia do contain _smp_mflag internally and there is no need to provide this flag in every spec file to use parallel build. But in their mingw counterparts this flag is missing and I have to keep fedora's %{?_smp_mflag} in each mingw package ported.

Is this flag omitted in mingw macros intentionally?
Comment 3 David GEIGER 2019-07-06 14:40:59 CEST
Our mingw stack is based/synced with fedora's one! so to use a parallel build you have simply to do:

%mingw_make %{?_smp_mflags}
Comment 4 Oleg Bosis 2019-07-07 14:33:14 CEST
I've tested mingw-gcc-8.3.0-1.1.mga7 and it built Qt5 without problems.
Comment 5 David GEIGER 2019-07-07 15:12:04 CEST
Assigning to QA now,


Advisory:
========================

Our current mingw-gcc fails to build some Qt 5.12.x applications with the following compiling error:

qfloat16.h:79:54:internal compiler error: in make_rtl_for_nonlocal_decl, at
cp/decl.c:6590     Q_CORE_EXPORT static const quint32 mantissatable[];


So this update fixes this issue.

========================

Packages in 7/core/updates_testing:
========================
mingw32-gcc-8.3.0-1.1.mga7.x86_64.rpm
mingw32-cpp-8.3.0-1.1.mga7.x86_64.rpm
mingw32-gcc-c++-8.3.0-1.1.mga7.x86_64.rpm
mingw32-gcc-objc-8.3.0-1.1.mga7.x86_64.rpm
mingw32-gcc-objc++-8.3.0-1.1.mga7.x86_64.rpm
mingw32-gcc-gfortran-8.3.0-1.1.mga7.x86_64.rpm
mingw32-libgomp-8.3.0-1.1.mga7.x86_64.rpm
mingw64-gcc-8.3.0-1.1.mga7.x86_64.rpm
mingw64-cpp-8.3.0-1.1.mga7.x86_64.rpm
mingw64-gcc-c++-8.3.0-1.1.mga7.x86_64.rpm
mingw64-gcc-objc-8.3.0-1.1.mga7.x86_64.rpm
mingw64-gcc-objc++-8.3.0-1.1.mga7.x86_64.rpm
mingw64-gcc-gfortran-8.3.0-1.1.mga7.x86_64.rpm
mingw64-libgomp-8.3.0-1.1.mga7.x86_64.rpm

mingw32-gcc-8.3.0-1.1.mga7.i586.rpm
mingw32-cpp-8.3.0-1.1.mga7.i586.rpm
mingw32-gcc-c++-8.3.0-1.1.mga7.i586.rpm
mingw32-gcc-objc-8.3.0-1.1.mga7.i586.rpm
mingw32-gcc-objc++-8.3.0-1.1.mga7.i586.rpm
mingw32-gcc-gfortran-8.3.0-1.1.mga7.i586.rpm
mingw32-libgomp-8.3.0-1.1.mga7.i586.rpm
mingw64-gcc-8.3.0-1.1.mga7.i586.rpm
mingw64-cpp-8.3.0-1.1.mga7.i586.rpm
mingw64-gcc-c++-8.3.0-1.1.mga7.i586.rpm
mingw64-gcc-objc-8.3.0-1.1.mga7.i586.rpm
mingw64-gcc-objc++-8.3.0-1.1.mga7.i586.rpm
mingw64-gcc-gfortran-8.3.0-1.1.mga7.i586.rpm
mingw64-libgomp-8.3.0-1.1.mga7.i586.rpm

Source RPM: 
========================
mingw-gcc-8.3.0-1.1.mga7.src.rpm

Assignee: bugsquad => qa-bugs

Comment 6 Oleg Bosis 2019-07-07 20:33:33 CEST
(In reply to David GEIGER from comment #5)

> Our current mingw-gcc fails to build some Qt 5.12.x applications with the
> following compiling error:
> 
> qfloat16.h:79:54:internal compiler error: in make_rtl_for_nonlocal_decl, at
> cp/decl.c:6590     Q_CORE_EXPORT static const quint32 mantissatable[];

Small correction: it can not build Qt5 itself, not just some applications (building qtbase 5.12 fails with the same error).
Comment 7 Rémi Verschelde 2019-07-19 10:24:34 CEST
Marking OK as per Oleg's test in comment 4 (assuming 64-bit).

Whiteboard: (none) => MGA7-64-ok

Comment 8 Rémi Verschelde 2019-07-19 10:27:19 CEST
Did a basic test on Mageia 7 x86_64 compiling Godot Engine for Windows with the updated mingw-gcc (not using Qt 5.12).

Advisory uploaded, validating.

Keywords: (none) => advisory, validated_update
Whiteboard: MGA7-64-ok => MGA7-64-OK
CC: (none) => sysadmin-bugs

Comment 9 Mageia Robot 2019-07-20 22:10:32 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2019-0065.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED