<div dir="ltr">I'm currently experiencing a problem building the current 4.6. <div><br></div><div>If I start from a fresh clean src directory, and follow the instructions on the website (clean checkout from git). I'm building on Ubuntu wily. My packages are up-to-date.</div><div><br></div><div><div>-- Creating build files for Subsurface 4.5.6</div><div>-- out of source build from source in /home/martin/src/subsurface</div><div>-- Configuring done</div><div>-- Generating done</div><div>-- Build files have been written to: /home/martin/src/subsurface/build</div><div>[  0%] [  0%] Built target printing_templatesLink</div><div>Built target link_marble_data</div><div>[  0%] Built target documentationLink</div><div>[  0%] [  0%] Built target version</div><div>[  0%] [  1%] Automatic moc and uic for target subsurface_generated_ui</div><div>Automatic moc and uic for target subsurface_interface</div><div>Automatic moc and uic for target subsurface</div><div>[  1%] Automatic moc and uic for target subsurface_corelib</div><div>[  1%] [  1%] Built target subsurface_generated_ui_automoc</div><div>Built target subsurface_automoc</div><div>[  1%] Built target subsurface_interface_automoc</div><div>[  2%] [  3%] [  3%] Built target subsurface_corelib_automoc</div><div>Automatic moc and uic for target subsurface_models</div><div>Automatic moc and uic for target subsurface_statistics</div><div>[  3%] [  3%] Built target themeLink</div><div>Automatic moc and uic for target subsurface_profile</div><div>AUTOGEN: warning: /home/martin/src/subsurface/qt-ui/statistics/yearstatistics.cpp: file is empty</div><div><br></div><div>AUTOGEN: warning: /home/martin/src/subsurface/qt-ui/statistics/statisticsbar.cpp: file is empty</div><div><br></div><div>AUTOGEN: warning: /home/martin/src/subsurface/qt-ui/statistics/monthstatistics.cpp: file is empty</div><div><br></div><div>[  3%] [  3%] Built target subsurface_models_automoc</div><div>Built target subsurface_statistics_automoc</div><div>[ 17%] Built target translations</div><div>make[3]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.</div><div>[ 17%] Built target subsurface_profile_automoc</div><div>[ 33%] [ 33%] Built target subsurface_generated_ui</div><div>Built target documentation</div><div>[ 35%] Built target subsurface_statistics</div><div>Scanning dependencies of target subsurface_models</div><div>[ 37%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/cleanertablemodel.cpp.o</div><div>Scanning dependencies of target subsurface_profile</div><div>Scanning dependencies of target subsurface_corelib</div><div>[ 37%] Building CXX object CMakeFiles/subsurface_profile.dir/qt-ui/profile/profilewidget2.cpp.o</div><div>[ 37%] Building C object CMakeFiles/subsurface_corelib.dir/cochran.c.o</div><div>Scanning dependencies of target subsurface_interface</div><div>[ 38%] Building C object CMakeFiles/subsurface_corelib.dir/dive.c.o</div><div>In file included from /home/martin/src/subsurface/dive.c:9:0:</div><div>/home/martin/src/subsurface/libdivecomputer.h:58:38: error: unknown type name ‘dc_serial_t’</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                      ^</div><div>/home/martin/src/subsurface/libdivecomputer.h:59:40: error: unknown type name ‘dc_serial_t’</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                        ^</div><div>[ 38%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/updatemanager.cpp.o</div><div>CMakeFiles/subsurface_corelib.dir/build.make:146: recipe for target 'CMakeFiles/subsurface_corelib.dir/dive.c.o' failed</div><div>make[2]: *** [CMakeFiles/subsurface_corelib.dir/dive.c.o] Error 1</div><div>CMakeFiles/Makefile2:840: recipe for target 'CMakeFiles/subsurface_corelib.dir/all' failed</div><div>make[1]: *** [CMakeFiles/subsurface_corelib.dir/all] Error 2</div><div>make[1]: *** Waiting for unfinished jobs....</div><div>[ 38%] Building CXX object CMakeFiles/subsurface_profile.dir/qt-ui/profile/diveprofileitem.cpp.o</div><div>[ 38%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/cylindermodel.cpp.o</div><div>[ 39%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/diveplannermodel.cpp.o</div><div>[ 40%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/about.cpp.o</div><div>[ 40%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/models.cpp.o</div><div>[ 40%] Building CXX object CMakeFiles/subsurface_profile.dir/qt-ui/profile/diveeventitem.cpp.o</div><div>[ 40%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/divecomputermanagementdialog.cpp.o</div><div>[ 41%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/divelistview.cpp.o</div><div>In file included from /home/martin/src/subsurface/qt-ui/profile/diveeventitem.cpp:5:0:</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:38: warning: ‘dc_serial_qt_open’ initialized and declared ‘extern’</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:38: error: ‘dc_serial_t’ was not declared in this scope</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:52: error: ‘out’ was not declared in this scope</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                    ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:70: error: expected primary-expression before ‘*’ token</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:71: error: ‘context’ was not declared in this scope</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                       ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:80: error: expected primary-expression before ‘const’</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                                ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:99: error: expression list treated as compound expression in initializer [-fpermissive]</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                                                   ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:40: warning: ‘dc_serial_ftdi_open’ initialized and declared ‘extern’</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                        ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:40: error: ‘dc_serial_t’ was not declared in this scope</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:54: error: ‘out’ was not declared in this scope</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:72: error: expected primary-expression before ‘*’ token</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                        ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:73: error: ‘context’ was not declared in this scope</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                         ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:80: error: expression list treated as compound expression in initializer [-fpermissive]</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                                ^</div><div>[ 41%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/filtermodels.cpp.o</div><div>CMakeFiles/subsurface_profile.dir/build.make:238: recipe for target 'CMakeFiles/subsurface_profile.dir/qt-ui/profile/diveeventitem.cpp.o' failed</div><div>make[2]: *** [CMakeFiles/subsurface_profile.dir/qt-ui/profile/diveeventitem.cpp.o] Error 1</div><div>CMakeFiles/Makefile2:1107: recipe for target 'CMakeFiles/subsurface_profile.dir/all' failed</div><div>make[1]: *** [CMakeFiles/subsurface_profile.dir/all] Error 2</div><div>[ 43%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/tankinfomodel.cpp.o</div><div>[ 43%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/weigthsysteminfomodel.cpp.o</div><div>[ 44%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/weightmodel.cpp.o</div><div>[ 44%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/diveplanner.cpp.o</div><div>[ 44%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/diveshareexportdialog.cpp.o</div><div>[ 45%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/downloadfromdivecomputer.cpp.o</div><div>[ 45%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divecomputermodel.cpp.o</div><div>In file included from /home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.h:10:0,</div><div>                 from /home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.cpp:1:</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:38: warning: ‘dc_serial_qt_open’ initialized and declared ‘extern’</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:38: error: ‘dc_serial_t’ was not declared in this scope</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:52: error: ‘out’ was not declared in this scope</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                    ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:70: error: expected primary-expression before ‘*’ token</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:71: error: ‘context’ was not declared in this scope</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                       ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:80: error: expected primary-expression before ‘const’</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                                ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:58:99: error: expression list treated as compound expression in initializer [-fpermissive]</div><div> extern dc_status_t dc_serial_qt_open(dc_serial_t **out, dc_context_t *context, const char *devaddr);</div><div>                                                                                                   ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:40: warning: ‘dc_serial_ftdi_open’ initialized and declared ‘extern’</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                        ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:40: error: ‘dc_serial_t’ was not declared in this scope</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:54: error: ‘out’ was not declared in this scope</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                      ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:72: error: expected primary-expression before ‘*’ token</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                        ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:73: error: ‘context’ was not declared in this scope</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                         ^</div><div>/home/martin/src/subsurface/./libdivecomputer.h:59:80: error: expression list treated as compound expression in initializer [-fpermissive]</div><div> extern dc_status_t dc_serial_ftdi_open(dc_serial_t **out, dc_context_t *context);</div><div>                                                                                ^</div><div>[ 45%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/globe.cpp.o</div><div>[ 45%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/treemodel.cpp.o</div><div>[ 46%] Building CXX object CMakeFiles/subsurface_interface.dir/qt-ui/graphicsview-common.cpp.o</div><div>/home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.cpp: In constructor ‘DownloadFromDCWidget::DownloadFromDCWidget(QWidget*, Qt::WindowFlags)’:</div><div>/home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.cpp:105:70: error: ‘DC_TRANSPORT_BLUETOOTH’ was not declared in this scope</div><div>  ui.bluetoothMode->setChecked(default_dive_computer_download_mode == DC_TRANSPORT_BLUETOOTH);</div><div>                                                                      ^</div><div>/home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.cpp: In member function ‘void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()’:</div><div>/home/martin/src/subsurface/qt-ui/downloadfromdivecomputer.cpp:343:74: error: ‘DC_TRANSPORT_BLUETOOTH’ was not declared in this scope</div><div>  set_default_dive_computer_download_mode(ui.bluetoothMode->isChecked() ? DC_TRANSPORT_BLUETOOTH : DC_TRANSPORT_SERIAL);</div><div>                                                                          ^</div><div>CMakeFiles/subsurface_interface.dir/build.make:192: recipe for target 'CMakeFiles/subsurface_interface.dir/qt-ui/downloadfromdivecomputer.cpp.o' failed</div><div>make[2]: *** [CMakeFiles/subsurface_interface.dir/qt-ui/downloadfromdivecomputer.cpp.o] Error 1</div><div>make[2]: *** Waiting for unfinished jobs....</div><div>[ 48%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/tableprintmodel.cpp.o</div><div>[ 48%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/yearlystatisticsmodel.cpp.o</div><div>[ 49%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divetripmodel.cpp.o</div><div>[ 49%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divecomputerextradatamodel.cpp.o</div><div>CMakeFiles/Makefile2:974: recipe for target 'CMakeFiles/subsurface_interface.dir/all' failed</div><div>make[1]: *** [CMakeFiles/subsurface_interface.dir/all] Error 2</div><div>[ 49%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/completionmodels.cpp.o</div><div>[ 50%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/profileprintmodel.cpp.o</div><div>[ 50%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divepicturemodel.cpp.o</div><div>[ 51%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/diveplotdatamodel.cpp.o</div><div>[ 51%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divelocationmodel.cpp.o</div><div>[ 53%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/divesitepicturesmodel.cpp.o</div><div>[ 53%] Building CXX object CMakeFiles/subsurface_models.dir/qt-models/ssrfsortfilterproxymodel.cpp.o</div><div>[ 53%] Building CXX object CMakeFiles/subsurface_models.dir/subsurface_models_automoc.cpp.o</div><div>Linking CXX static library libsubsurface_models.a</div><div>[ 53%] Built target subsurface_models</div><div>Makefile:126: recipe for target 'all' failed</div><div>make: *** [all] Error 2</div></div><div><br></div></div>