All,
I'm rebuilding everything in a clean VM with gcc 4.5.2 for the gcc bug report I have opened, and building kdelibs, I have run across an error I've never seen before:
[ 72%] Building CXX object interfaces/ktexteditor/CMakeFiles/ktexteditor-shared.dir/editorchooser_ui.cpp.o cd /home/david/tbld/kdelibs/src/interfaces/ktexteditor && /usr/bin/c++ -Dktexteditor_shared_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -include tqt.h -fPIC -I/opt/qt/include -I/opt/qt/include/tqt -I/home/david/tbld/kdelibs/src/interfaces/ktexteditor -I/home/david/tbld/kdelibs/src -I/home/david/tbld/kdelibs/interfaces/ktexteditor -I/home/david/tbld/kdelibs/src/kdecore -I/home/david/tbld/kdelibs/src/kabc -I/home/david/tbld/kdelibs -I/home/david/tbld/kdelibs/dcop -I/home/david/tbld/kdelibs/kdecore -I/home/david/tbld/kdelibs/kdeui -I/home/david/tbld/kdelibs/kio -I/home/david/tbld/kdelibs/kio/kio -I/home/david/tbld/kdelibs/kabc -I/home/david/tbld/kdelibs/interfaces -o CMakeFiles/ktexteditor-shared.dir/editorchooser_ui.cpp.o -c /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp: In constructor ‘EditorChooser_UI::EditorChooser_UI(QWidget*, const char*)’: /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:33:51: error: invalid use of incomplete type ‘struct QLayoutWidget’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:19:7: error: forward declaration of ‘struct QLayoutWidget’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:34:109: error: no matching function for call to ‘QVBoxLayout::QVBoxLayout(QLayoutWidget*&, int, int, const char [14])’ /opt/qt/include/qlayout.h:464:5: note: candidates are: QVBoxLayout::QVBoxLayout(const QVBoxLayout&) /opt/qt/include/qlayout.h:458:5: note: QVBoxLayout::QVBoxLayout(int, const char*) /opt/qt/include/qlayout.h:456:5: note: QVBoxLayout::QVBoxLayout(QLayout*, int, const char*) /opt/qt/include/qlayout.h:454:5: note: QVBoxLayout::QVBoxLayout(QWidget*, int, int, const char*) /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:36:53: error: invalid use of incomplete type ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:20:7: error: forward declaration of ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:37:15: error: invalid use of incomplete type ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:20:7: error: forward declaration of ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:38:15: error: invalid use of incomplete type ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:20:7: error: forward declaration of ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:38:38: error: incomplete type ‘QLabel’ used in nested name specifier /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:38:59: error: incomplete type ‘QLabel’ used in nested name specifier /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:38:83: error: incomplete type ‘QLabel’ used in nested name specifier /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:39:42: error: no matching function for call to ‘QVBoxLayout::addWidget(QLabel*&)’ /opt/qt/include/qlayout.h:386:10: note: candidate is: void QBoxLayout::addWidget(QWidget*, int, int) /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:41:58: error: invalid use of incomplete type ‘struct QComboBox’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:21:7: error: forward declaration of ‘struct QComboBox’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:42:43: error: no matching function for call to ‘QVBoxLayout::addWidget(QComboBox*&)’ /opt/qt/include/qlayout.h:386:10: note: candidate is: void QBoxLayout::addWidget(QWidget*, int, int) /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:43:45: error: no matching function for call to ‘QVBoxLayout::addWidget(QLayoutWidget*&)’ /opt/qt/include/qlayout.h:386:10: note: candidate is: void QBoxLayout::addWidget(QWidget*, int, int) /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp: In member function ‘virtual void EditorChooser_UI::languageChange()’: /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.cpp:66:15: error: invalid use of incomplete type ‘struct QLabel’ /home/david/tbld/kdelibs/src/interfaces/ktexteditor/editorchooser_ui.h:20:7: error: forward declaration of ‘struct QLabel’ make[2]: *** [interfaces/ktexteditor/CMakeFiles/ktexteditor-shared.dir/editorchooser_ui.cpp.o] Error 1 make[2]: Leaving directory `/home/david/tbld/kdelibs/src' make[1]: *** [interfaces/ktexteditor/CMakeFiles/ktexteditor-shared.dir/all] Error 2 make[1]: Leaving directory `/home/david/tbld/kdelibs/src' make: *** [all] Error 2 Aborting...
Is this possibly related to the gcc problem I've had with gcc 4.5.2 that I need to report to gcc, or does this look like a problem with QBoxLayout?