I do not get this issue with qt-4.2.3. Whenever I try to assign QList<QUrl> to a variable, the qt libraries error on me. /usr/include/qt4/QtCore/qglobal.h:1558: error: invalid application of 'sizeof' to incomplete type 'QUrl' The issue occurs in a line like the following: QList<QUrl> xret = this->QFileDialog::sidebarUrls(); According to /usr/include/qt4/QtGui/qfiledialog.h, sidebarUrls() is supposed to return a QList<QUrl>. For more verbose information and errors, follow the "steps to reproduce" below. Reproducible: Always Steps to Reproduce: Note that this example is not from portage, but only meant to show the error with the qt libraries: 1) svn checkout svn://svn.berlios.de/php-qt/trunk && cd trunk 2) cmake ./ 3) make Actual Results: /usr/include/qt4/QtCore/qglobal.h: In instantiation of 'QTypeInfo<QUrl>': /usr/include/qt4/QtCore/qlist.h:341: instantiated from 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QUrl]' /usr/include/qt4/QtCore/qlist.h:539: instantiated from 'void QList<T>::free(QListData::Data*) [with T = QUrl]' /usr/include/qt4/QtCore/qlist.h:514: instantiated from 'QList<T>::~QList() [with T = QUrl]' /home/jon/projects/ggui_rc/trunk/smoke/qt/x_5.cpp:4954: instantiated from here /usr/include/qt4/QtCore/qglobal.h:1558: error: invalid application of 'sizeof' to incomplete type 'QUrl' /usr/include/qt4/QtCore/qlist.h: In member function 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QUrl]': /usr/include/qt4/QtCore/qlist.h:539: instantiated from 'void QList<T>::free(QListData::Data*) [with T = QUrl]' /usr/include/qt4/QtCore/qlist.h:514: instantiated from 'QList<T>::~QList() [with T = QUrl]' /home/jon/projects/ggui_rc/trunk/smoke/qt/x_5.cpp:4954: instantiated from here /usr/include/qt4/QtCore/qlist.h:342: warning: possible problem detected in invocation of delete operator: /usr/include/qt4/QtCore/qlist.h:342: warning: invalid use of undefined type 'struct QUrl' /usr/include/qt4/Qt/qfiledialog.h:44: warning: forward declaration of 'struct QUrl' /usr/include/qt4/QtCore/qlist.h:342: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined. /usr/include/qt4/QtCore/qlist.h:344: error: invalid use of undefined type 'struct QUrl' /usr/include/qt4/Qt/qfiledialog.h:44: error: forward declaration of 'struct QUrl' /usr/include/qt4/QtCore/qlist.h: In member function 'void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QUrl]': /usr/include/qt4/QtCore/qlist.h:501: instantiated from 'void QList<T>::detach_helper() [with T = QUrl]' /usr/include/qt4/QtCore/qlist.h:91: instantiated from 'QList<T>::QList(const QList<T>&) [with T = QUrl]' /home/jon/projects/ggui_rc/trunk/smoke/qt/x_5.cpp:4954: instantiated from here /usr/include/qt4/QtCore/qlist.h:332: error: invalid use of undefined type 'struct QUrl' /usr/include/qt4/Qt/qfiledialog.h:44: error: forward declaration of 'struct QUrl' /usr/include/qt4/QtCore/qlist.h:335: error: invalid use of undefined type 'struct QUrl' /usr/include/qt4/Qt/qfiledialog.h:44: error: forward declaration of 'struct QUrl' make[2]: *** [smoke/qt/CMakeFiles/smokeqt.dir/x_5.o] Error 1 make[1]: *** [smoke/qt/CMakeFiles/smokeqt.dir/all] Error 2 make: *** [all] Error 2 $ emerge --info Portage 2.1.2.7 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r2, 2.6.21-gentoo i686) ================================================================= System uname: 2.6.21-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System release 1.12.10 Timestamp of tree: Fri, 18 May 2007 10:20:01 +0000 dev-java/java-config: 1.3.7, 2.0.32 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -ffast-math" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -ffast-math" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/vmware /usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X accessibility acl alsa apache2 arts berkdb bitmap-fonts cli cracklib crypt cups cvs dri encode fortran gdbm gif gpm gtk gtk2 iconv imlib ipod ipv6 isdnlog java jpeg kde libg++ mad mbrola midi mp3 mysql ncurses nls nptl nptl-only nptlonly nsplugin opengl pam pcre perl php png ppds pppd python qt quicktime readline real reflection sdl session spell spl ssl subversion tcpd truetype truetype-fonts type1-fonts unicode visualization vorbis x86 xml xorg xv zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="vmware vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I'd guess this is much more like a smoke bug than a qt bug. Probably needs an extra include header somewhere.
This is a bug in smokeqt. It isn't putting #include<QUrl> at the top of x_5.cpp for some reason. This isn't a Gentoo issue; sorry for the inconvenience.