View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004546 | DarkRadiant | Compilation/Build | public | 26.06.2017 12:49 | 10.05.2018 18:28 |
Reporter | mhoes | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | PC | OS | Linux | OS Version | Fedora 26 (Beta) |
Product Version | 2.2.1 | ||||
Fixed in Version | 2.2.1 | ||||
Summary | 0004546: Build failure on Fedora 26 (Beta) GCC 7.1.1 | ||||
Description | For me, building Darkradiant git (commit f710f001f27d229a967d4b0533013e08dbc7939b, 2017-01-29 09:38:51 +0100) fails on Fedora 26 (Beta) with GCC 7.1.1. | ||||
Steps To Reproduce | Steps to reproduce: $ git pull $ ./autogen.sh $ ./configure --enable-debug --enable-darkmod-plugins $ make -j1 Build error : Making all in dm.objectives make[3]: Entering directory '/home/maarten/src/darkradiant/plugins/dm.objectives' CXX ObjectivesEditor.lo CXX objectives.lo CXX SpecifierType.lo CXX ce/ComponentEditorFactory.lo CXX ce/KnockoutComponentEditor.lo CXX ce/KillComponentEditor.lo CXX ce/SpecifierEditCombo.lo In file included from ce/SpecifierEditCombo.h:5:0, from ce/SpecifierEditCombo.cpp:1: ce/specpanel/SpecifierPanel.h:63:45: error: ‘function’ in namespace ‘std’ does not name a template type virtual void setChangedCallback(const std::function<void()>& callback) = 0; ^~~~~~~~ ce/specpanel/SpecifierPanel.h:63:53: error: expected ‘,’ or ‘...’ before ‘<’ token virtual void setChangedCallback(const std::function<void()>& callback) = 0; ^ In file included from ce/SpecifierEditCombo.cpp:1:0: ce/SpecifierEditCombo.h:40:7: error: ‘function’ in namespace ‘std’ does not name a template type std::function<void()> _valueChanged; ^~~~~~~~ ce/SpecifierEditCombo.h:67:50: error: ‘function’ in namespace ‘std’ does not name a template type SpecifierEditCombo(wxWindow* parent, const std::function<void()>& valueChanged, ^~~~~~~~ ce/SpecifierEditCombo.h:67:58: error: expected ‘,’ or ‘...’ before ‘<’ token SpecifierEditCombo(wxWindow* parent, const std::function<void()>& valueChanged, ^ ce/SpecifierEditCombo.cpp:16:1: error: prototype for ‘objectives::ce::SpecifierEditCombo::SpecifierEditCombo(wxWindow*, const std::function<void()>&, const SpecifierTypeSet&)’ does not match any in class ‘objectives::ce::SpecifierEditCombo’ SpecifierEditCombo::SpecifierEditCombo(wxWindow* parent, ^~~~~~~~~~~~~~~~~~ In file included from ce/SpecifierEditCombo.cpp:1:0: ce/SpecifierEditCombo.h:30:7: error: candidates are: objectives::ce::SpecifierEditCombo::SpecifierEditCombo(objectives::ce::SpecifierEditCombo&&) class SpecifierEditCombo : ^~~~~~~~~~~~~~~~~~ ce/SpecifierEditCombo.h:30:7: error: objectives::ce::SpecifierEditCombo::SpecifierEditCombo(const objectives::ce::SpecifierEditCombo&) ce/SpecifierEditCombo.h:67:2: error: objectives::ce::SpecifierEditCombo::SpecifierEditCombo(wxWindow*, int) SpecifierEditCombo(wxWindow* parent, const std::function<void()>& valueChanged, ^~~~~~~~~~~~~~~~~~ ce/SpecifierEditCombo.cpp: In member function ‘void objectives::ce::SpecifierEditCombo::createSpecifierPanel(const string&)’: ce/SpecifierEditCombo.cpp:103:34: error: ‘_valueChanged’ was not declared in this scope _specPanel->setChangedCallback(_valueChanged); ^~~~~~~~~~~~~ ce/SpecifierEditCombo.cpp:103:34: note: suggested alternative: ‘_onChange’ _specPanel->setChangedCallback(_valueChanged); ^~~~~~~~~~~~~ _onChange ce/SpecifierEditCombo.cpp:109:2: error: ‘_valueChanged’ was not declared in this scope _valueChanged(); ^~~~~~~~~~~~~ ce/SpecifierEditCombo.cpp:109:2: note: suggested alternative: ‘_onChange’ _valueChanged(); ^~~~~~~~~~~~~ _onChange make[3]: *** [Makefile:706: ce/SpecifierEditCombo.lo] Error 1 make[3]: Leaving directory '/home/maarten/src/darkradiant/plugins/dm.objectives' make[2]: *** [Makefile:450: all-recursive] Error 1 make[2]: Leaving directory '/home/maarten/src/darkradiant/plugins' make[1]: *** [Makefile:756: all-recursive] Error 1 make[1]: Leaving directory '/home/maarten/src/darkradiant' make: *** [Makefile:497: all] Error 2 | ||||
Tags | No tags attached. | ||||
Can you try adding an #include <functional> to the includes of the file ce/specpanel/SpecifierPanel.h? This should probably work. Fedora 26 is using Wayland, isn't it? DR is likely to crash on startup since wxGLCanvas doesn't run in Wayland yet. |
|
Hi, Making the suggested modification resolves the issue I reported. Thanks for the quick response. By the way, Fedora 26 is using Wayland by default, but you can still disable it [1]. [1] https://fedoraproject.org/wiki/Changes/WaylandByDefault |
|
I noticed that you were attempting to compile an older Git revision. In the current master branch, the #include directive is already present, so you shouldn't run into any problems there. | |
Marking as resolved, as the reported issue is resolved in current Git. | |
Date Modified | Username | Field | Change |
---|---|---|---|
26.06.2017 12:49 | mhoes | New Issue | |
26.06.2017 18:50 | greebo | Note Added: 0008928 | |
26.06.2017 18:50 | greebo | Status | new => feedback |
27.06.2017 10:29 | mhoes | Note Added: 0008930 | |
27.06.2017 10:29 | mhoes | Status | feedback => new |
27.06.2017 17:26 | greebo | Note Added: 0008931 | |
27.06.2017 17:28 | greebo | Note Added: 0008932 | |
27.06.2017 17:28 | greebo | Status | new => resolved |
27.06.2017 17:28 | greebo | Fixed in Version | => 2.2.1 |
27.06.2017 17:28 | greebo | Resolution | open => fixed |
27.06.2017 17:28 | greebo | Assigned To | => greebo |
10.05.2018 18:28 | greebo | Status | resolved => closed |