0.9.7 Qt error in constraintsdialog.cpp

Bugs item #2823580, was opened at 2009-07-18 15:59
Message generated for change (Tracker Item Submitted) made by mbanck
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=835077&aid=2823580&group_id=165310

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Building / Install
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Michael Banck (mbanck)
Assigned to: Nobody/Anonymous (nobody)
Summary: 0.9.7 Qt error in constraintsdialog.cpp

Initial Comment:
Perhaps the Qt requirement got bumped again for 0.9.7, I get this with Qt-4.4.3:

[ 42%] Building CXX object libavogadro/src/extensions/CMakeFiles/forcefieldextension.dir/constraintsdialog.cpp.o
cd /build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/src/extensions && /usr/bin/g++ -D_BSD_SOURCE -DHAVE_GCC_VISIBILITY -DENABLE_PYTHON -DENABLE_GLSL -DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_DLL -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG -Dforcefieldextension_EXPORTS -g -O2 -g -Wall -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fpermissive -O2 -DNDEBUG -DQT_NO_DEBUG_OUTPUT -fPIC -I/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/include -I/usr/include/qt4 -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -I/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/src -I/usr/include/eigen2 -I/usr/include/openbabel-2.0 -I/usr/include/python2.5 -I/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/… -I/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/src/extensions -o CMakeFiles/forcefieldextension.dir/constraintsdialog.cpp.o -c /build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp: In constructor ‘Avogadro::ConstraintsDialog::ConstraintsDialog(QWidget*, Qt::WindowFlags)’:
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp:54: error: invalid use of incomplete type ‘struct QHeaderView’
/usr/include/qt4/QtGui/qtableview.h:51: error: forward declaration of ‘struct QHeaderView’
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp:54: error: incomplete type ‘QHeaderView’ used in nested name specifier
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp:56: error: invalid use of incomplete type ‘struct QHeaderView’
/usr/include/qt4/QtGui/qtableview.h:51: error: forward declaration of ‘struct QHeaderView’
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/libavogadro/src/extensions/constraintsdialog.cpp:56: error: incomplete type ‘QHeaderView’ used in nested name specifier
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/include/avogadro/primitive.h: At global scope:
/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu/libavogadro/include/avogadro/primitive.h:43: warning: ‘Avogadro::FALSE_ID’ defined but not used
make[3]: *** [libavogadro/src/extensions/CMakeFiles/forcefieldextension.dir/constraintsdialog.cpp.o] Error 1
make[3]: Leaving directory /build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu' make[2]: *** [libavogadro/src/extensions/CMakeFiles/forcefieldextension.dir/all] Error 2 make[2]: Leaving directory/build/mbanck-avogadro_0.9.7-1-i386-lPX6M4/avogadro-0.9.7-1/obj-i486-linux-gnu’
make[1]: *** [all] Error 2


You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=835077&aid=2823580&group_id=165310

On Sat, Jul 18, 2009 at 01:59:31PM +0000, SourceForge.net wrote:

Perhaps the Qt requirement got bumped again for 0.9.7, I get this with
Qt-4.4.3:

Markus confirmed that Qt-4.5 is required for 0.9.7 and up.

Personally, I think this is unfortunate, as Qt-4.5 only got released a
couple of months ago and distributions like Ubuntu LTS or Debian stable
do not ship it; so releasing Avogadro-1.0 for those will be difficult.

I would have suggested to get Avogadro-1.0 out of the door with moderate
requirements (Qt-4.4, cmake-2.6.0 etc.) and then focus on improving the
codebase with Qt-4.5 features for Avogadro-1.1 or Avogadro-2.0.

Michael

Michael Banck wrote:

On Sat, Jul 18, 2009 at 01:59:31PM +0000, SourceForge.net wrote:

Perhaps the Qt requirement got bumped again for 0.9.7, I get this with
Qt-4.4.3:

Markus confirmed that Qt-4.5 is required for 0.9.7 and up.

Personally, I think this is unfortunate, as Qt-4.5 only got released a
couple of months ago and distributions like Ubuntu LTS or Debian stable
do not ship it; so releasing Avogadro-1.0 for those will be difficult.

I would have suggested to get Avogadro-1.0 out of the door with moderate
requirements (Qt-4.4, cmake-2.6.0 etc.) and then focus on improving the
codebase with Qt-4.5 features for Avogadro-1.1 or Avogadro-2.0.

As I said to Michael on IRC, the Qt version dependency was not bumped in
the CMakeLists.txt file (I have corrected that now), although 0.9.7
states the correct dependencies in the documentation. The bump in
version dependencies happened shortly after 0.9.6 was released for these
reasons:

  • Garbage in the top-left of the main OpenGL window - fixed by a change
    in Qt 4.5/new mode for tabs.

  • Translations became more automated with additional i18n features in Qt.

  • Imminent release of KDE 4.3 which requires Qt 4.5+.

  • Numerous bug fixes and improvements in Qt 4.5+.

This was just after William was born, and it looks like I forgot to
discuss/announce this change on the mailing list. There were several
smaller commits previous to this that had to be reverted to maintain
compatibility with Qt 4.4. I think the rendering issue fix on Linux
along with the improved inline close buttons are great additions to our UI.

I tend to use more bleeding edge Linux distributions than those you
mention. How many distributions/versions are affected that are likely to
actually package Avogadro 1.0? How many users is this likely to affect,
and how long in general would we like to wait before bumping our
dependencies? I have always tried to take a balanced approach to
dependencies, but I am not certain how much we should hold back
development to wait on distributions.

It would be good to hear what people’s thoughts are on this issue. I
don’t know of any way other than bumping our Qt dependency (or axing
view tabs) to fix the rendering issue on Linux. There are some features
in Qt 4.6 I already have my eye on too…

Thanks,

Marcus