Project

General

Profile

Bug #2169

Revision 6ac789da : Linux compile error : Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:45:9: error: expected identifier before numeric constant

Added by sermayen over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Defect
Target version:
-
Start date:
2016-07-28
% Done:

100%

Tags:

Description

Here's the full output:

[  0%] Automatic moc and rcc for target libcore
[  0%] Built target libcore_automoc
[  3%] Built target libcore
[  3%] Automatic moc and rcc for target libshell
[  3%] Built target libshell_automoc
[  4%] Built target libshell
[  4%] Automatic moc and rcc for target liblegacy
[  4%] Built target liblegacy_automoc
[  8%] Built target liblegacy
[  8%] Automatic moc and rcc for target libgui
[  8%] Built target libgui_automoc
[  8%] Automatic rcc for target assimp
[  8%] Built target assimp_automoc
[ 23%] Built target assimp
[ 24%] Building CXX object sdk/libgui/CMakeFiles/libgui.dir/src_input_turbo.cpp.o
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:45:9: error: expected identifier before numeric constant
         False = 0,
         ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:45:9: error: expected '}' before numeric constant
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:45:9: error: expected unqualified-id before numeric constant
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:56:1: error: expected unqualified-id before 'public'
 public:
 ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:58:33: error: expected ')' before 'initialInteger'
     explicit NumberValue(dint64 initialInteger);
                                 ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:59:34: error: expected ')' before 'initialUnsignedInteger'
     explicit NumberValue(duint64 initialUnsignedInteger);
                                  ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:60:33: error: expected ')' before 'initialInteger'
     explicit NumberValue(dint32 initialInteger, SemanticHints semantic = Generic);
                                 ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:61:34: error: expected ')' before 'initialUnsignedInteger'
     explicit NumberValue(duint32 initialUnsignedInteger, SemanticHints semantic = Generic);
                                  ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:62:26: error: expected unqualified-id before 'unsigned'
     explicit NumberValue(unsigned long initialUnsignedInteger, SemanticHints semantic = Generic);
                          ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:62:26: error: expected ')' before 'unsigned'
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:63:26: error: expected unqualified-id before 'bool'
     explicit NumberValue(bool initialBoolean);
                          ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:63:26: error: expected ')' before 'bool'
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:66:35: error: non-member function 'de::SemanticHints de::semanticHints()' cannot have cv-qualifier
     SemanticHints semanticHints() const;
                                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:72:15: error: non-member function 'Type de::as()' cannot have cv-qualifier
     Type as() const { return Type(_value); }
               ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h: In function 'Type de::as()':
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:72:35: error: '_value' was not declared in this scope
     Type as() const { return Type(_value); }
                                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h: At global scope:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:74:5: error: 'Text' does not name a type
     Text typeId() const;
     ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:75:24: error: non-member function 'de::Value* de::duplicate()' cannot have cv-qualifier
     Value *duplicate() const;
                        ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:76:5: error: 'Number' does not name a type
     Number asNumber() const;
     ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:77:5: error: 'Text' does not name a type
     Text asText() const;
     ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:78:19: error: non-member function 'bool de::isTrue()' cannot have cv-qualifier
     bool isTrue() const;
                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:79:38: error: non-member function 'de::dint de::compare(const de::Value&)' cannot have cv-qualifier
     dint compare(Value const &value) const;
                                      ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:88:35: error: non-member function 'void de::operator>>(de::Writer&)' cannot have cv-qualifier
     void operator >> (Writer &to) const;
                                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:88:35: error: 'void de::operator>>(de::Writer&)' must take exactly two arguments
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:89:35: error: 'void de::operator<<(de::Reader&)' must take exactly two arguments
     void operator << (Reader &from);
                                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:91:1: error: expected unqualified-id before 'private'
 private:
 ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:25: error: 'NumberValue' was not declared in this scope
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                         ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:25: note: suggested alternative:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:39:7: note:   'de::NumberValue'
 class DENG2_PUBLIC NumberValue : public Value
       ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:62: error: template argument 1 is invalid
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                              ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:73: error: invalid type in declaration before '(' token
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                         ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:73: error: declaration of 'operator|' as non-function
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:74: error: 'NumberValue' has not been declared
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                          ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:116: error: 'NumberValue' has not been declared
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                    ^
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:258: error: 'NumberValue' was not declared in this scope
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                  ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:258: note: suggested alternative:
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:39:7: note:   'de::NumberValue'
 class DENG2_PUBLIC NumberValue : public Value
       ^
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:295: error: template argument 1 is invalid
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                       ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:306: error: invalid type in declaration before '(' token
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                  ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:306: error: declaration of 'operator|' as non-function
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:307: error: 'NumberValue' has not been declared
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                   ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:356: error: 'NumberValue' was not declared in this scope
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                                                                    ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:356: note: suggested alternative:
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:39:7: note:   'de::NumberValue'
 class DENG2_PUBLIC NumberValue : public Value
       ^
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:393: error: template argument 1 is invalid
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                                                                                                         ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:473: error: declaration of 'operator|' as non-function
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ^
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:473: error: 'NumberValue' has not been declared
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:96:515: error: expected primary-expression before 'int'
 Q_DECLARE_OPERATORS_FOR_FLAGS(NumberValue::SemanticHints)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^
In file included from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../NumberValue:1:0,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/vector.h:36,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/Vector:1,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseevent.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/input/mouseeventsource.h:23,
                 from /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/include/de/MouseEventSource:1,
                 from /home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:175:
/home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/include/de/core/../data/numbervalue.h:98:1: error: expected declaration before '}' token
 } // namespace de
 ^
/home/chris/sources/doomsday-build/sdk/libgui/src_input_turbo.cpp:33:12: warning: 'int x11ScancodeToDDKey(int)' declared 'static' but never defined [-Wunused-function]
 static int x11ScancodeToDDKey(int scancode);
            ^
sdk/libgui/CMakeFiles/libgui.dir/build.make:305: recipe for target 'sdk/libgui/CMakeFiles/libgui.dir/src_input_turbo.cpp.o' failed
make[2]: *** [sdk/libgui/CMakeFiles/libgui.dir/src_input_turbo.cpp.o] Error 1
CMakeFiles/Makefile2:420: recipe for target 'sdk/libgui/CMakeFiles/libgui.dir/all' failed
make[1]: *** [sdk/libgui/CMakeFiles/libgui.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

History

#1 Updated by skyjake over 8 years ago

  • Tags set to CMake
  • Assignee set to skyjake
  • Target version set to 49

As a workaround, you should disable the DENG_ENABLE_TURBO build option. You can read about it here: http://wiki.dengine.net/w/Turbo_mode_(build_option)

I'll try a Linux build myself and see if I can get similar results.

#2 Updated by skyjake over 8 years ago

This does not occur on my system and build config (Ubuntu 16.04 LTS)... Could you please try a new build with b835690?

#3 Updated by sermayen over 8 years ago

6ac789da compiled fine with -DDENG_ENABLE_TURBO=NO, and b835690 with -DDENG_ENABLE_TURBO=ON too. Thanks for the fast reply & fix ! :)

#4 Updated by skyjake over 8 years ago

  • Category set to Defect
  • Status changed from New to Closed
  • % Done changed from 0 to 100

Great!

#5 Updated by sermayen over 8 years ago

It seems i was a little too fast with my reply... Compilation ran fine but i didn't run the resulting binary afterwards.. I'm getting a segfault. Here's a backtrace :

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff56fed93 in QString::lastIndexOf(QChar, int, Qt::CaseSensitivity) const ()
   from /usr/lib64/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff56fed93 in QString::lastIndexOf(QChar, int, Qt::CaseSensitivity) const ()
   from /usr/lib64/libQt5Core.so.5
#1  0x00007ffff5cba972 in de::String::fileName(QChar) const ()
   from /usr/local/games/doom/doomsday/lib64/libdeng_core.so.2.0
#2  0x00007ffff5cd7f83 in de::Record::addArray(de::String const&, de::ArrayValue*) ()
   from /usr/local/games/doom/doomsday/lib64/libdeng_core.so.2.0
#3  0x00007ffff77a6029 in DEDRegister::DEDRegister(de::Record&) ()
   from /usr/local/games/doom/doomsday/lib64/libdeng_doomsday.so.2.0
#4  0x00007ffff77a76e0 in ded_s::ded_s() ()
   from /usr/local/games/doom/doomsday/lib64/libdeng_doomsday.so.2.0
#5  0x00007ffff7767f80 in _GLOBAL__sub_I_src_defs_turbo.cpp ()
   from /usr/local/games/doom/doomsday/lib64/libdeng_doomsday.so.2.0
#6  0x00007ffff7dea25a in ?? () from /lib64/ld-linux-x86-64.so.2
#7  0x00007ffff7dea36b in ?? () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ffff7ddbc7a in ?? () from /lib64/ld-linux-x86-64.so.2
#9  0x0000000000000001 in ?? ()
#10 0x00007fffffffde76 in ?? ()
#11 0x0000000000000000 in ?? ()

Maybe this could be related to a recent Qt Update on my system. I'm running qt 5.6.1 at the moment, i think i upgraded from 5.5.1 or so

#6 Updated by skyjake over 8 years ago

  • Status changed from Closed to In Progress
  • % Done changed from 100 to 50

It could also be due to my recent refactoring of the DED ownership. I'll run a few tests.

#7 Updated by skyjake over 8 years ago

  • Description updated (diff)
  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100

95e0660 should take care of the crash.

#8 Updated by skyjake over 7 years ago

  • Target version deleted (49)

Also available in: Atom PDF