Summary: | x11-libs/qt-core-4.7.1 wrongly detects sse4.2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Guillaume Castagnino <casta> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aklhfex, alecm_88, bugs, fedotov.i.f, iivanich, StormByte, uzytkownik2 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | http://bugreports.qt.nokia.com/browse/QTBUG-13623 | ||
Whiteboard: | workaround in tree | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
qt-core 4.7.1 build log
qt4-build.eclass.patch Mike's patch (merged upstream) |
Description
Guillaume Castagnino
2010-11-10 12:13:26 UTC
Created attachment 253881 [details]
qt-core 4.7.1 build log
I confirm that the sse4_2 test program builds perfectly fine, but does not run, triggering not allowed instructions. It seems that qt-core assumes that if it builds, it supports the instruction set. dagobah 14:10 - 0.48 /var/tmp/portage/x11-libs/qt-core-4.7.1/work/qt-everywhere-opensource-src-4.7.1/config.tests/unix/sse4_2 # x86_64-pc-linux-gnu-g++ -c -pipe -msse4.2 -Wall -W -I../../../mkspecs/linux-g++ -I. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -o sse4_2.o sse4_2.cpp dagobah 14:11 - 0.44 /var/tmp/portage/x11-libs/qt-core-4.7.1/work/qt-everywhere-opensource-src-4.7.1/config.tests/unix/sse4_2 # x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,-rpath,/usr/lib64/qt4 -o sse4_2 sse4_2.o -L/usr/lib64 -lgthread-2.0 -lrt -lglib-2.0 -msse4.2 dagobah 14:11 - 0.41 /var/tmp/portage/x11-libs/qt-core-4.7.1/work/qt-everywhere-opensource-src-4.7.1/config.tests/unix/sse4_2 # ./sse4_2 Illegal instruction Created attachment 253893 [details, diff]
qt4-build.eclass.patch
Workaround patch which disables both sse4.1 and sse4.2.
Adding Qt upstream bug in URL. patch applied, thanks Guillaume & Timo. I'll leave this bug open to remind us that the fix is currently a workaround. (In reply to comment #5) > patch applied, thanks Guillaume & Timo. > > I'll leave this bug open to remind us that the fix is currently a workaround. Alex, has the patch hit the tree? I just synced and it still fails here. Yes patch is in tree (I just synced ans it's in) And I can confirm it fixes the build (In reply to comment #7) > Yes patch is in tree (I just synced ans it's in) > And I can confirm it fixes the build Right. It seems that my copy was not synced to the server I synced from. *** Bug 345077 has been marked as a duplicate of this bug. *** This patch is perhaps a bit nicer: http://qt.gitorious.org/~mikemcquaid/qt/mikemcquaid-qt/commit/ca2e8b6dc176576f7217f4b7209994eddad1a358 I'm from OSX land (Homebrew contributer) but should work on Linux too. (In reply to comment #10) > This patch is perhaps a bit nicer: > http://qt.gitorious.org/~mikemcquaid/qt/mikemcquaid-qt/commit/ca2e8b6dc176576f7217f4b7209994eddad1a358 > > I'm from OSX land (Homebrew contributer) but should work on Linux too. > Mike's patch has been merged upstream. We should apply it and remove the workaround. Thanks Mike! Created attachment 254767 [details, diff]
Mike's patch (merged upstream)
sse 4.* is still disabled in 4.7.9999, so something is broken in the eclass I think.. Since upstream fixed[1] the bug in Qt 4.7.2, could sse4.1/4.2 be re-enabled in the eclass for any versions except 4.7.1? [1] http://bugreports.qt.nokia.com/browse/QTBUG-13623 fixed, thanks for reminding us :) It seems that it came again in 4.7.2 it assumes that I have SSE 4.2 and AVX which I currently do not have (only SSE 4.1). I already posted an upstream bug about it, but this time compilation does not fail, just it assumes it, but I think it can lead to runtime errors it it actually tries to use previously activated SSE 4.2 and AVX extension in a CPU that does not actually supports them. Can it be reopened? Upstream bugreport: https://bugreports.qt.nokia.com/browse/QTBUG-20650 |