Package: g++-4.9 Version: 4.9.2-8 Control: affects -1 src:qtbase-opensource-src
Dear gcc maintainers, In qtbase-opensource-src 5.4.0+dfsg, src/tools/moc/main.cpp contains the following code: if (output.size()) { // output file specified out = fopen(QFile::encodeName(output).constData(), "w"); // create output file if (!out) { fprintf(stderr, "moc: Cannot create %s\n", QFile::encodeName(output).constData()); return 1; } } else { // use stdout out = stdout; } However, when moc is compiled, it behaves very strangely in this place: * fopen does not seem to be called at all (at least there is no corresponding open syscall in strace output), so `out' remains a null pointer. * Only the "%s\n" part is printed to stderr, without the "moc: Cannot create " part. An example can be seen in qtbase-opensource-src/experimental build log. A relevant part of it (simplified): ../bin/moc animation/qabstractanimation.h -o .moc/moc_qabstractanimation.cpp .moc/moc_qabstractanimation.cpp make[3]: *** [.moc/moc_qabstractanimation.cpp] Error 1 The last `write' call in strace output is: write(2, ".moc/moc_qabstractanimation.cpp\n", 32) = 32 This only happens on sparc architecture. Unfortunately, I did not manage to reproduce this with a smaller example, but I can reliably reproduce this with moc on smetana.debian.org. -- Dmitry Shachnev
signature.asc
Description: OpenPGP digital signature