Opened 9 years ago
Closed 9 years ago
#7787 closed defect (fixed)
GCC-6 causes compilation problems with Qt4 and its corresponding Qtwebkit
Reported by: | Douglas R. Reno | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.10 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
While trying to compile Qt4 on my workstation, I found that it wouldn't compile due to a C++11 problem. I don't have the exact error at the moment, but I had to add "-std=c++99" to "mkspecs/commmon/gcc-base.conf" to get it to compile.
On the other hand, I have not been able to get qtwebkit-2.3.4 to compile at all. Here is what I have tried:
- Adding -fno-strict-aliasing to the makeargs parameter.
- Adding -fno-delete-null-pointer-checks to the makeargs parameter.
- Adding -std=c++99 to the makeargs parameter.
Even with all of those options, I get the error/output seen here:
http://higgs.linuxfromscratch.org/~renodr/qtwebkit-2.3.4-error-output.txt
I have observed this issue on both trunk and systemd based systems, so I know it isn't specific to systemd.
Somehow, I got it past that problem earlier to only have it complain about missing symbols and attributes in a *.ar archive that it created earlier and was trying to link to (I cannot provide more specifics. I currently only have links on that system at the moment).
According to my records, this worked fine on GCC-5, but I haven't built it since Glibc-2.23 (or the patches for binutils and glibc), so I have no clue when it actually broke.
Change History (11)
comment:1 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 9 years ago
Investigating the removal of Qt4 currently. After building everything that uses Qt4 on a system without it, I will report back.
comment:3 by , 9 years ago
Here is my list of packages to be tested:
Graphviz (Needs patch) Highlight (systemd) PIN-Entry (Use Qt5 instead of Qt4) CMake (Use Qt5 instead of Qt4) Doxygen (Use Qt5 instead of Qt4) WPA_supplicant (Qt5 supported? Porting might be needed) Avahi (Qt5 supported? Porting might be needed) NetworkManager (Qt5 supported? Porting might be needed) Wireshark (Use Qt5 instead of Qt4) Transmission (Use Qt5 instead of Qt4) v4l-utils (Use Qt5 instead of Qt4) Audacious (Use Qt5 instead of Qt4) VLC (Use Qt5 instead of Qt4 - Problems?)
In addition, I found that the following changes are needed for gst-plugins-* (Dependencies):
gst-plugins-base: Replace Qt4 with Qt5, Used in examples gst-plugins-good: Qt is no longer a dependency... verified from configure gst-plugins-bad: Add Qt5 as a dependency - Used for examples (Basic Player) based upon the GstPlayer API (added in 1.8.0)
follow-up: 5 comment:4 by , 9 years ago
wpa_supplicant supports Qt5 in latest version.
VLC should just work.
I have a patch for graphviz: https://github.com/elkrejzi/system-management/blob/master/patches/graphviz-qt5.patch (needs autoreconf -fi after applying)
Not sure why NetworkManager needs Qt at all. Yes, it does require Qt4, but I have no idea why. I suggest you ignore it.
comment:5 by , 9 years ago
Replying to Krejzi:
wpa_supplicant supports Qt5 in latest version.
VLC should just work.
I have a patch for graphviz: https://github.com/elkrejzi/system-management/blob/master/patches/graphviz-qt5.patch (needs autoreconf -fi after applying)
Not sure why NetworkManager needs Qt at all. Yes, it does require Qt4, but I have no idea why. I suggest you ignore it.
NetworkManager appears to use it for examples according to https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/configure.ac
comment:6 by , 9 years ago
IMO, that alone doesn't make Qt4 worth keeping. Let Qt4 die and with it all the ugly workarounds that are there in the books.
comment:7 by , 9 years ago
If really desired, NM can be built with Qt5 support after using the following sed:
sed -i "/Qt[CDN]/s:Qt:Qt5:g;s: moc_location: host_bins:g" configure
comment:8 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
Giving back to book for someone to complete the testing soon. I'd really like to purge Qt4 soon
comment:9 by , 9 years ago
I am starting to remove references to qt4 in the book. This is the list I have remaining:
general/genlib/qjson.xml: general/genutils/graphviz.xml: multimedia/videoutils/vlc.xml: networking/netutils/networkmanager.xml: networking/netutils/avahi.xml: x/lib/cairo.xml:
Packages that are systemd only that reference qt4 are:
general/sysutils/strigi.xml: general/genlib/grantlee.xml: general/genutils/highlight.xml:
comment:10 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:11 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Archived Qt4 at revision 17460.
I might have found the cause and/or solution. I will take this ticket and attempt to fix it. This will take me a few days.