Cannot build: Qt 4.8.1, Linux, error in qdrawhelper_sse2.cpp
Hi All,
Perhaps someone can see the obvious problem with my attempt to build Qt 4.8.1 (or 4.8.0) on Linux using GCC.
- $ make confclean
- --- 8< -- snip --
- Once everything is built, you must run 'gmake install'.
- To reconfigure, run 'gmake confclean' and 'configure'.
- $ make
- --- 8< -- snip --
- g++ -c -Winline -msse2 -m64 -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -DQT_SHARED -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/libdrm -I/usr/include/qt4/QtCore -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -I/usr/include/freetype2 -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++-64 -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/release-shared -I../3rdparty/xorg -Iimage -I/usr/include/freetype2 -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared -I/usr/X11R6/include -I.uic/release-shared painting/qdrawhelper_sse2.cpp -o .obj/release-shared/qdrawhelper_sse2.o
- painting/qdrawhelper_sse2.cpp:535:76: error: ‘Operator’ does not name a type
- painting/qdrawhelper_sse2.cpp:535:86: error: ISO C++ forbids declaration of ‘op’ with no type
- painting/qdrawhelper_sse2.cpp: In function ‘const uint* qt_fetch_radial_gradient_sse2(uint*, const int*, const QSpanData*, int, int, int)’:
- painting/qdrawhelper_sse2.cpp:538:12: error: ‘qt_fetch_radial_gradient_template’ was not declared in this scope
- painting/qdrawhelper_sse2.cpp:538:46: error: ‘QRadialFetchSimd’ was not declared in this scope
- painting/qdrawhelper_sse2.cpp:538:72: error: expected primary-expression before ‘>’ token
- painting/qdrawhelper_sse2.cpp:538:74: error: expected primary-expression before ‘>’ token
- painting/qdrawhelper_sse2.cpp:538:84: warning: left-hand operand of comma has no effect
- painting/qdrawhelper_sse2.cpp:538:88: warning: right-hand operand of comma has no effect
- painting/qdrawhelper_sse2.cpp:538:94: warning: right-hand operand of comma has no effect
- painting/qdrawhelper_sse2.cpp:538:97: warning: right-hand operand of comma has no effect
- painting/qdrawhelper_sse2.cpp:538:100: warning: right-hand operand of comma has no effect
- painting/qdrawhelper_sse2.cpp:539:1: warning: control reaches end of non-void function
- make[1]: *** [.obj/release-shared/qdrawhelper_sse2.o] Error 1
- make: *** [sub-gui-make_default-ordered] Error 2
Using this compiler
- $ gcc -v
- Using built-in specs.
- COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3/gcc
- COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/lto-wrapper
- Target: x86_64-pc-linux-gnu
- Configured with: /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --without-ppl --without-cloog --disable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.3-r2 p1.1, pie-0.4.7'
- Thread model: posix
- gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.1, pie-0.4.7)
on a Core i7-2600
3 replies
Using -no-sse2 gets the process to a different failure point that seems related to ssse3. Adding -no-ssse3 gets me to more errors implying there might be some undesirable crossover with the system-wide Qt install (4.7.4).
I also found https://bugreports.qt-project.org/browse/QTBUG-14443 with an almost identical symptom caused by some private headers being installed system wide. Gentoo does this:
- QmlDesigner and QmlInspector plugins
painting/qdrawhelper_sse2.cpp does this:
- include <private/qdrawhelper_x86_p.h>
so it could be picking up the unrelated
from the existing 4.7.4 install.
I’ll keep chipping away at this and also look at how this is avoided in the Gentoo supplied builds for Qt.
You must log in to post a reply. Not a member yet? Register here!

