Build error with latest master

Dirk Hohndel dirk at hohndel.org
Mon Jan 11 06:08:27 PST 2016


On Mon, Jan 11, 2016 at 01:47:50PM +0000, Pedro Neves wrote:
> Hi:
> 
> When trying to build the latest master on my machine (Kubuntu 15.10), I get
> the following errors:
> 
> ---------------------------
> 
> In file included from /home//Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.cpp:1:0:
> /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.h:81:21:
> error: field ‘m_weights’ has incomplete type ‘QStringList’
>          QStringList m_weights;
>                      ^
> In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1:0,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/../divesite.h:9,
>                  from
> /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/../dive.h:11,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.h:4,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.cpp:1:
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:73:7: note: forward
> declaration of ‘class QStringList’
>  class QStringList;
>        ^
> In file included from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.cpp:1:0:
> /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.h:83:21:
> error: field ‘m_cylinders’ has incomplete type ‘QStringList’
>          QStringList m_cylinders;
>                      ^
> In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1:0,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/../divesite.h:9,
>                  from
> /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/../dive.h:11,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.h:4,
>                  from /home/paneves/Diveapps/subsurface/subsurface-core/subsurface-qt/DiveObjectHelper.cpp:1:
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:73:7: note: forward
> declaration of ‘class QStringList’
>  class QStringList;
>        ^
> subsurface-core/CMakeFiles/subsurface_corelib.dir/build.make:1273: recipe
> for target 'subsurface-core/CMakeFiles/subsurface_corelib.dir/subsurface-qt/DiveObjectHelper.cpp.o'
> failed
> make[2]: *** [subsurface-core/CMakeFiles/subsurface_corelib.dir/subsurface-qt/DiveObjectHelper.cpp.o]
> Error 1
> make[2]: *** Waiting for unfinished jobs....
> [ 58%] Building CXX object desktop-widgets/CMakeFiles/subsurface_interface.dir/diveshareexportdialog.cpp.o
> [ 58%] Building CXX object desktop-widgets/CMakeFiles/subsurface_interface.dir/downloadfromdivecomputer.cpp.o
> CMakeFiles/Makefile2:473: recipe for target
> 'subsurface-core/CMakeFiles/subsurface_corelib.dir/all' failed
> make[1]: *** [subsurface-core/CMakeFiles/subsurface_corelib.dir/all] Error 2
> 
> 
> ....
> 
> 
> Linking CXX static library libsubsurface_interface.a
> [ 80%] Built target subsurface_interface
> Makefile:116: recipe for target 'all' failed
> make: *** [all] Error 2
> 
> -------------------------
> 
> Any ideas?


I'm curious - which compiler and which version of Qt is that? I've noticed
this before that some combination of compiler / Qt are more strict when it
comes to needing various Qt headers explicitly included than others.
Current master builds happily for me on ArchLinux with Qt5.5.1 and on Mac
with Qt5.5.1 and on Ubuntu 14.04 cross building for Android with
Qt5.6-master...

I'll add a QStringList header and push that in a moment, can you please
retest?

/D


More information about the subsurface mailing list