View Issue Details

IDProjectCategoryView StatusLast Update
0004546DarkRadiantCompilation/Buildpublic10.05.2018 18:28
Reportermhoes Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
PlatformPCOSLinuxOS VersionFedora 26 (Beta)
Product Version2.2.1 
Fixed in Version2.2.1 
Summary0004546: Build failure on Fedora 26 (Beta) GCC 7.1.1
DescriptionFor 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 ReproduceSteps 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
TagsNo tags attached.

Activities

greebo

greebo

26.06.2017 18:50

administrator   ~0008928

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.
mhoes

mhoes

27.06.2017 10:29

reporter   ~0008930

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
greebo

greebo

27.06.2017 17:26

administrator   ~0008931

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.
greebo

greebo

27.06.2017 17:28

administrator   ~0008932

Marking as resolved, as the reported issue is resolved in current Git.

Issue History

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