[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#696096: qt4-x11 ia64 FTBFS only on the buildds



Just for the file; the tail of the most recent build log:

make[3]: Entering directory `/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg/src/corelib' g++ -c -include .pch/release-shared/QtCore -Winvalid-pch -g -O2 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -pthread -I/usr/include/glib-2.0 -I/usr/lib/ia64-linux-gnu/glib-2.0/include -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"/lib/ld-linux-ia64.so.2\" -DQLIBRARYINFO_EPOCROOT -DQT_USE_ICU -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../../tools/shared -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qlibraryinfo.o global/qlibraryinfo.cpp cc1plus: warning: ./.pch/release-shared/QtCore.gch/c: not for GNU C++ [enabled by default] cc1plus: warning: ./.pch/release-shared/QtCore.gch/c++: had text segment at different address [enabled by default]
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: fatal error: .pch/release-shared/QtCore: No such file or directory
compilation terminated.
make[3]: *** [.obj/release-shared/qlibraryinfo.o] Error 1
make[3]: Leaving directory `/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg/src/corelib'
make[2]: *** [sub-corelib-install_subtargets-ordered] Error 2
make[2]: Leaving directory `/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg' dh_auto_install: make -j1 install DESTDIR=/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg/debian/tmp AM_UPDATE_INFO_DIR=no INSTALL_ROOT=/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg/debian/tmp/ returned exit code 2
make[1]: *** [override_dh_auto_install] Error 29
make[1]: Leaving directory `/build/buildd-qt4-x11_4.8.2+dfsg-5-ia64-2m8MNJ/qt4-x11-4.8.2+dfsg'
make: *** [binary-arch] Error 2


The -Winvalid-pch switch provided the following info:

cc1plus: warning: ./.pch/release-shared/QtCore.gch/c: not for GNU C++ [enabled by default]

Correct and what one would expect.

cc1plus: warning: ./.pch/release-shared/QtCore.gch/c++: had text segment at different address [enabled by default]

That's what I wanted to read.
I looked into the sources of gcc. When you are using precompiled headers (pch), you invoke gcc/g++ at least twice. The first time to create the pch file - to write out the file. Second time to use the pch file - to read it in. Gcc expects that its binary image is always mapped at the same address in the virtual address space of the process. But when gcc's image is mapped to another address when reading in the pch than it was on writing out the pch, it reports the seen message. This is a flaw of gcc, not of the qt4-x11 package. I can't explain why the gcc binary is mapped to altering addresses on the buildd, but not on any other used ia64 machine.




Lisandro Damián Nicanor Pérez Meyer wrote:

Searching the web I came across:

<http://lists.gnu.org/archive/html/mingw-cross-env-list/2011-10/msg00016.html>
<http://lists.gnu.org/archive/html/mingw-cross-env-list/2011-10/msg00017.html>

You have found someone else who had this problem - on MacOS. But they did not find a good fix.



Lisandro Damián Nicanor Pérez Meyer wrote:

As it only FTBFS in the buildds but not on merulo, I took a look at the versions of gcc: 4:4.6.3-7 on alkman and 4:4.6.3-8 inside the unstable dchroot of merulo.

Stephan: what version of GCC did you use while you tried on your box?

Uum, I think it was 4:4.6.3-8.
But it doesn't matter; as already mentioned, I looked into gcc's sources. Any gcc version since 2004 has exactly that behaviour. Earlier versions simply crash.

So gcc needs a fix. Because we won't finish it in the next few days, I suggest a tentative workaround on ia64.

Please could you take the most recent version 4:4.8.2+dfsg-5 of the qt4-x11 package and make a new dfsg version for unstable again. - Please could you revert the add-winvalid-pch.patch (of my previous message) because the -Winvalid-pch switch is no longer needed.
- Please could you apply the attached patch tentative-no-pch-on-ia64.patch.

The patch disables the usage of precompiled headers on ia64. This will slow down the build, but it will succeed; you can migrate your security fixes to testing.
The patch doesn't change anything on archs other than ia64.

Please could you keep this bug report open; I'll file a new bug for the gcc package shortly, which will block this bug.

After the problem with gcc is solved; you can revert the tentative workaround.

Regards
Stephan

Attachment: tentative-no-pch-on-ia64.patch
Description: tentative-no-pch-on-ia64.patch


Reply to: