Bug 25033 - mingw-gcc ICE when compiling Qt 5.12
Summary: mingw-gcc ICE when compiling Qt 5.12
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 7
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA7-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2019-07-03 08:24 CEST by Oleg Bosis
Modified: 2019-07-20 22:10 CEST (History)
3 users (show)

See Also:
Source RPM: mingw-gcc-8.3.0-1.mga7.src.rpm
CVE:
Status comment:


Attachments

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


Note You need to log in before you can comment on or make changes to this bug.