Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Cannot Reproduce
-
0.9
-
None
-
CentOS 6.3 w/Qt 4.6.2
Description
When attempting to build the the 0.9.0 cpp library I get the following error
...
src/thrift/qt/moc_TQTcpServer.cpp:14:2: error: #error "This file was generated using the moc from 4.8.1. It"
src/thrift/qt/moc_TQTcpServer.cpp:15:2: error: #error "cannot be used with the include files from this version of Qt."
src/thrift/qt/moc_TQTcpServer.cpp:16:2: error: #error "(The moc has changed too much.)"
...
As far as I can tell when the C++ QT Bindings were added (see https://issues.apache.org/jira/browse/THRIFT-1348) that file was removed since it was an auto-generated file and shouldn't be in source control. However although it's no longer in the source tree it's being included in the release .tar.gz
[/tmp]$ wget -q https://dist.apache.org/repos/dist/release/thrift/0.9.0/thrift-0.9.0.tar.gz -O - | tar tzvf - | grep moc_
rw-rr- root/root 3311 2012-10-11 21:00 thrift-0.9.0/lib/cpp/src/thrift/qt/moc_TQTcpServer.cpp
So if the version of Qt that's installed when building is different than the one used to generate the file in the release .tar.gz the build will break. Another user seems to have run into this as well, see http://mail-archives.apache.org/mod_mbox/thrift-user/201212.mbox/%3C002f01cdd2aa$c7f3a840$57daf8c0$@asiainfo-linkage.com%3E
As a workaround I have to either remove the file before building or specify --with-qt4=no