Temporary header file '/tmp/UEn0V_TxoO/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#ifdef __cplusplus
// C17 compat layer
#define _Alignof(type) alignof(type)
#endif
#define getaddrinfo_a(a,b,c,d) 
#define SP_NEW_H_MISSING

  // add includes
  #include "/usr/include/stdlib.h"
  #include "/usr/include/OpenSP/Allocator.h"
  #include "/usr/include/OpenSP/ArcEngine.h"
  #include "/usr/include/OpenSP/Attribute.h"
  #include "/usr/include/OpenSP/Attributed.h"
  #include "/usr/include/OpenSP/Big5CodingSystem.h"
  #include "/usr/include/OpenSP/Boolean.h"
  #include "/usr/include/OpenSP/CharMap.h"
  #include "/usr/include/OpenSP/CharsetDecl.h"
  #include "/usr/include/OpenSP/CharsetInfo.h"
  #include "/usr/include/OpenSP/CharsetRegistry.h"
  #include "/usr/include/OpenSP/CmdLineApp.h"
  #include "/usr/include/OpenSP/CodingSystem.h"
  #include "/usr/include/OpenSP/CodingSystemKit.h"
  #include "/usr/include/OpenSP/ConsoleOutput.h"
  #include "/usr/include/OpenSP/ContentState.h"
  #include "/usr/include/OpenSP/ContentToken.h"
  #include "/usr/include/OpenSP/CopyOwner.h"
  #include "/usr/include/OpenSP/DescriptorManager.h"
  #include "/usr/include/OpenSP/Dtd.h"
  #include "/usr/include/OpenSP/EUCJPCodingSystem.h"
  #include "/usr/include/OpenSP/ElementType.h"
  #include "/usr/include/OpenSP/Entity.h"
  #include "/usr/include/OpenSP/EntityApp.h"
  #include "/usr/include/OpenSP/EntityCatalog.h"
  #include "/usr/include/OpenSP/EntityDecl.h"
  #include "/usr/include/OpenSP/EntityManager.h"
  #include "/usr/include/OpenSP/ErrnoMessageArg.h"
  #include "/usr/include/OpenSP/ErrorCountEventHandler.h"
  #include "/usr/include/OpenSP/Event.h"
  #include "/usr/include/OpenSP/EventGenerator.h"
  #include "/usr/include/OpenSP/EventsWanted.h"
  #include "/usr/include/OpenSP/ExtendEntityManager.h"
  #include "/usr/include/OpenSP/ExternalId.h"
  #include "/usr/include/OpenSP/Fixed2CodingSystem.h"
  #include "/usr/include/OpenSP/Fixed4CodingSystem.h"
  #include "/usr/include/OpenSP/GenericEventHandler.h"
  #include "/usr/include/OpenSP/Hash.h"
  #include "/usr/include/OpenSP/HashTable.h"
  #include "/usr/include/OpenSP/HashTableItemBase.h"
  #include "/usr/include/OpenSP/IList.h"
  #include "/usr/include/OpenSP/IListBase.h"
  #include "/usr/include/OpenSP/IListIter.h"
  #include "/usr/include/OpenSP/IListIterBase.h"
  #include "/usr/include/OpenSP/IQueue.h"
  #include "/usr/include/OpenSP/ISet.h"
  #include "/usr/include/OpenSP/ISetIter.h"
  #include "/usr/include/OpenSP/IdentityCodingSystem.h"
  #include "/usr/include/OpenSP/InputSource.h"
  #include "/usr/include/OpenSP/InternalInputSource.h"
  #include "/usr/include/OpenSP/Link.h"
  #include "/usr/include/OpenSP/LinkProcess.h"
  #include "/usr/include/OpenSP/List.h"
  #include "/usr/include/OpenSP/ListIter.h"
  #include "/usr/include/OpenSP/LiteralStorage.h"
  #include "/usr/include/OpenSP/Location.h"
  #include "/usr/include/OpenSP/Lpd.h"
  #include "/usr/include/OpenSP/Markup.h"
  #include "/usr/include/OpenSP/Message.h"
  #include "/usr/include/OpenSP/MessageArg.h"
  #include "/usr/include/OpenSP/MessageBuilder.h"
  #include "/usr/include/OpenSP/MessageEventHandler.h"
  #include "/usr/include/OpenSP/MessageFormatter.h"
  #include "/usr/include/OpenSP/MessageModule.h"
  #include "/usr/include/OpenSP/MessageReporter.h"
  #include "/usr/include/OpenSP/MessageTable.h"
  #include "/usr/include/OpenSP/Mode.h"
  #include "/usr/include/OpenSP/NCVector.h"
  #include "/usr/include/OpenSP/Named.h"
  #include "/usr/include/OpenSP/NamedResource.h"
  #include "/usr/include/OpenSP/NamedResourceTable.h"
  #include "/usr/include/OpenSP/NamedTable.h"
  #include "/usr/include/OpenSP/Notation.h"
  #include "/usr/include/OpenSP/NotationStorage.h"
  #include "/usr/include/OpenSP/OpenElement.h"
  #include "/usr/include/OpenSP/Options.h"
  #include "/usr/include/OpenSP/OutputByteStream.h"
  #include "/usr/include/OpenSP/OutputCharStream.h"
  #include "/usr/include/OpenSP/Owner.h"
  #include "/usr/include/OpenSP/OwnerTable.h"
  #include "/usr/include/OpenSP/ParserApp.h"
  #include "/usr/include/OpenSP/ParserEventGeneratorKit.h"
  #include "/usr/include/OpenSP/ParserOptions.h"
  #include "/usr/include/OpenSP/PointerTable.h"
  #include "/usr/include/OpenSP/PosixStorage.h"
  #include "/usr/include/OpenSP/Ptr.h"
  #include "/usr/include/OpenSP/RangeMap.h"
  #include "/usr/include/OpenSP/Resource.h"
  #include "/usr/include/OpenSP/RewindStorageObject.h"
  #include "/usr/include/OpenSP/SGMLApplication.h"
  #include "/usr/include/OpenSP/SJISCodingSystem.h"
  #include "/usr/include/OpenSP/SOEntityCatalog.h"
  #include "/usr/include/OpenSP/Sd.h"
  #include "/usr/include/OpenSP/SdText.h"
  #include "/usr/include/OpenSP/SearchResultMessageArg.h"
  #include "/usr/include/OpenSP/SgmlParser.h"
  #include "/usr/include/OpenSP/ShortReferenceMap.h"
  #include "/usr/include/OpenSP/StdioStorage.h"
  #include "/usr/include/OpenSP/StorageManager.h"
  #include "/usr/include/OpenSP/StringC.h"
  #include "/usr/include/OpenSP/StringOf.h"
  #include "/usr/include/OpenSP/StringResource.h"
  #include "/usr/include/OpenSP/SubstTable.h"
  #include "/usr/include/OpenSP/Syntax.h"
  #include "/usr/include/OpenSP/Text.h"
  #include "/usr/include/OpenSP/TranslateCodingSystem.h"
  #include "/usr/include/OpenSP/TypeId.h"
  #include "/usr/include/OpenSP/URLStorage.h"
  #include "/usr/include/OpenSP/UTF16CodingSystem.h"
  #include "/usr/include/OpenSP/UTF8CodingSystem.h"
  #include "/usr/include/OpenSP/UnicodeCodingSystem.h"
  #include "/usr/include/OpenSP/UnivCharsetDesc.h"
  #include "/usr/include/OpenSP/Vector.h"
  #include "/usr/include/OpenSP/XMLCodingSystem.h"
  #include "/usr/include/OpenSP/XcharMap.h"
  #include "/usr/include/OpenSP/config.h"
  #include "/usr/include/OpenSP/constant.h"
  #include "/usr/include/OpenSP/macros.h"
  #include "/usr/include/OpenSP/rtti.h"
  #include "/usr/include/OpenSP/sptchar.h"
  #include "/usr/include/OpenSP/types.h"
  #include "/usr/include/OpenSP/xnew.h"

  // add classes
  AndModelGroup* tmp_add_class_0;
  AppinfoEvent* tmp_add_class_1;
  AttlistDeclEvent* tmp_add_class_2;
  AttlistNotationDeclEvent* tmp_add_class_3;
  AttributeSemantics* tmp_add_class_4;
  BlockHeader* tmp_add_class_5;
  CdataAttributeValue* tmp_add_class_6;
  CdataDeclaredValue* tmp_add_class_7;
  CdataEntityEvent* tmp_add_class_8;
  CommentDeclEvent* tmp_add_class_9;
  ConrefAttributeDefinition* tmp_add_class_10;
  CurrentAttributeDefinition* tmp_add_class_11;
  DataDeclaredValue* tmp_add_class_12;
  DataEntityEvent* tmp_add_class_13;
  DataEvent* tmp_add_class_14;
  DataTagElementToken* tmp_add_class_15;
  DataTagGroup* tmp_add_class_16;
  DeclaredValue* tmp_add_class_17;
  DefaultAttributeDefinition* tmp_add_class_18;
  ElementDeclEvent* tmp_add_class_19;
  ElementToken* tmp_add_class_20;
  EndDtdEvent* tmp_add_class_21;
  EndElementEvent* tmp_add_class_22;
  EndLpdEvent* tmp_add_class_23;
  EndPrologEvent* tmp_add_class_24;
  EntityAttributeSemantics* tmp_add_class_25;
  EntityDeclEvent* tmp_add_class_26;
  EntityDeclaredValue* tmp_add_class_27;
  EntityDefaultedEvent* tmp_add_class_28;
  EntityEndEvent* tmp_add_class_29;
  EntityStartEvent* tmp_add_class_30;
  EventGenerator* tmp_add_class_31;
  EventsWanted* tmp_add_class_32;
  ExternalDataEntityEvent* tmp_add_class_33;
  ExternalEntityEvent* tmp_add_class_34;
  Fixed2CodingSystem* tmp_add_class_35;
  Fixed4CodingSystem* tmp_add_class_36;
  FixedAttributeDefinition* tmp_add_class_37;
  ForceAlign* tmp_add_class_38;
  GenericEventHandler* tmp_add_class_39;
  GroupDeclaredValue* tmp_add_class_40;
  IListIterBase* tmp_add_class_41;
  IQueueBase* tmp_add_class_42;
  IdDeclaredValue* tmp_add_class_43;
  IdLinkDeclEvent* tmp_add_class_44;
  IdStorageManager* tmp_add_class_45;
  IdentityCodingSystem* tmp_add_class_46;
  IdrefDeclaredValue* tmp_add_class_47;
  IgnoredCharsEvent* tmp_add_class_48;
  IgnoredMarkupEvent* tmp_add_class_49;
  IgnoredReEvent* tmp_add_class_50;
  IgnoredRsEvent* tmp_add_class_51;
  ImmediateDataEvent* tmp_add_class_52;
  ImmediatePiEvent* tmp_add_class_53;
  ImpliedAttributeDefinition* tmp_add_class_54;
  InitialPseudoToken* tmp_add_class_55;
  InputSource* tmp_add_class_56;
  InternalInputSource* tmp_add_class_57;
  LinkAttlistDeclEvent* tmp_add_class_58;
  LinkDeclEvent* tmp_add_class_59;
  LinkProcess* tmp_add_class_60;
  LinkProcessOpenElement* tmp_add_class_61;
  LiteralStorageManager* tmp_add_class_62;
  LocatedEvent* tmp_add_class_63;
  MarkedSectionEndEvent* tmp_add_class_64;
  MarkedSectionEvent* tmp_add_class_65;
  MarkedSectionStartEvent* tmp_add_class_66;
  MarkupEvent* tmp_add_class_67;
  MessageEventHandler* tmp_add_class_68;
  MessageModule* tmp_add_class_69;
  MessageTable* tmp_add_class_70;
  MsgGenericEventHandler* tmp_add_class_71;
  NameTokenGroupDeclaredValue* tmp_add_class_72;
  NamedResourceKeyFunction* tmp_add_class_73;
  NamedTableKeyFunction* tmp_add_class_74;
  NonSgmlCharEvent* tmp_add_class_75;
  NotationAttributeSemantics* tmp_add_class_76;
  NotationDeclEvent* tmp_add_class_77;
  NotationDeclaredValue* tmp_add_class_78;
  NotationStorageManager* tmp_add_class_79;
  OrModelGroup* tmp_add_class_80;
  Pair* tmp_add_class_81;
  ParserApp* tmp_add_class_82;
  ParserEventGeneratorKit* tmp_add_class_83;
  ParserOptions* tmp_add_class_84;
  PcdataToken* tmp_add_class_85;
  PiEntityEvent* tmp_add_class_86;
  PiEvent* tmp_add_class_87;
  PosixFdStorageManager* tmp_add_class_88;
  PosixStorageManager* tmp_add_class_89;
  ReEvent* tmp_add_class_90;
  ReOriginEvent* tmp_add_class_91;
  RequiredAttributeDefinition* tmp_add_class_92;
  RewindStorageObject* tmp_add_class_93;
  SGMLApplication* tmp_add_class_94;
  SJISCodingSystem* tmp_add_class_95;
  SSepEvent* tmp_add_class_96;
  SdataEntityEvent* tmp_add_class_97;
  SearchResultMessageArg* tmp_add_class_98;
  SeqModelGroup* tmp_add_class_99;
  SgmlDeclEntityEvent* tmp_add_class_100;
  SgmlDeclEvent* tmp_add_class_101;
  ShortrefDeclEvent* tmp_add_class_102;
  StartDtdEvent* tmp_add_class_103;
  StartElementEvent* tmp_add_class_104;
  StartLpdEvent* tmp_add_class_105;
  StartSubsetEvent* tmp_add_class_106;
  StdioStorageManager* tmp_add_class_107;
  StorageManager* tmp_add_class_108;
  StorageObject* tmp_add_class_109;
  SubdocEntityEvent* tmp_add_class_110;
  TokenizedAttributeValue* tmp_add_class_111;
  TokenizedDeclaredValue* tmp_add_class_112;
  TranslateCodingSystem* tmp_add_class_113;
  URLStorageManager* tmp_add_class_114;
  UTF16CodingSystem* tmp_add_class_115;
  UTF8CodingSystem* tmp_add_class_116;
  UnicodeCodingSystem* tmp_add_class_117;
  UselinkEvent* tmp_add_class_118;
  UsemapEvent* tmp_add_class_119;
  Warnings* tmp_add_class_120;
  XMLCodingSystem* tmp_add_class_121;
  _G_fpos64_t* tmp_add_class_122;
  _G_fpos_t* tmp_add_class_123;
  _IO_cookie_io_functions_t* tmp_add_class_124;
  ucontext_t* tmp_add_class_125;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/UEn0V_TxoO/dump1.h"

In file included from /tmp/UEn0V_TxoO/dump1.h:18:
/usr/include/OpenSP/Allocator.h:13:14: error: variable ‘SP_API Allocator’ has initializer but incomplete type
   13 | class SP_API Allocator {
      |              ^~~~~~~~~
/usr/include/OpenSP/Allocator.h:14:1: error: expected primary-expression before ‘public’
   14 | public:
      | ^~~~~~
/usr/include/OpenSP/Allocator.h:14:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Allocator.h:13:24: note: to match this ‘{’
   13 | class SP_API Allocator {
      |                        ^
/usr/include/OpenSP/Allocator.h:14:1: error: expected ‘,’ or ‘;’ before ‘public’
   14 | public:
      | ^~~~~~
/usr/include/OpenSP/Allocator.h:16:13: error: expected class-name before ‘(’ token
   16 |   ~Allocator();
      |             ^
/usr/include/OpenSP/Allocator.h:19:15: error: declaration of ‘void free(void*)’ has a different exception specifier
   19 |   static void free(void *);
      |               ^~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:17:
/usr/include/stdlib.h:568:13: note: from previous declaration ‘void free(void*) noexcept’
  568 | extern void free (void *__ptr) __THROW;
      |             ^~~~
/usr/include/OpenSP/Allocator.h:32:3: error: ‘friend’ used outside of class
   32 |   friend union BlockHeader;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/Allocator.h:38:3: error: ‘friend’ used outside of class
   38 |   friend struct Block;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/Allocator.h:39:17: error: variable ‘SP_API Block’ has initializer but incomplete type
   39 |   struct SP_API Block {
      |                 ^~~~~
/usr/include/OpenSP/Allocator.h:40:17: error: expected primary-expression before ‘header’
   40 |     BlockHeader header;
      |                 ^~~~~~
/usr/include/OpenSP/Allocator.h:40:17: error: expected ‘}’ before ‘header’
/usr/include/OpenSP/Allocator.h:39:23: note: to match this ‘{’
   39 |   struct SP_API Block {
      |                       ^
/usr/include/OpenSP/Allocator.h:40:17: error: expected ‘,’ or ‘;’ before ‘header’
   40 |     BlockHeader header;
      |                 ^~~~~~
/usr/include/OpenSP/Allocator.h:41:5: error: ‘Block’ does not name a type
   41 |     Block *next;
      |     ^~~~~
/usr/include/OpenSP/Allocator.h:42:3: error: expected declaration before ‘}’ token
   42 |   };
      |   ^
/usr/include/OpenSP/Allocator.h:43:3: error: ‘friend’ used outside of class
   43 |   friend struct SegmentHeader;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/Allocator.h:44:17: error: variable ‘SP_API SegmentHeader’ has initializer but incomplete type
   44 |   struct SP_API SegmentHeader {
      |                 ^~~~~~~~~~~~~
/usr/include/OpenSP/Allocator.h:45:5: error: expected primary-expression before ‘union’
   45 |     union {
      |     ^~~~~
/usr/include/OpenSP/Allocator.h:45:5: error: expected ‘}’ before ‘union’
/usr/include/OpenSP/Allocator.h:44:31: note: to match this ‘{’
   44 |   struct SP_API SegmentHeader {
      |                               ^
/usr/include/OpenSP/Allocator.h:45:5: error: expected ‘,’ or ‘;’ before ‘union’
   45 |     union {
      |     ^~~~~
/usr/include/OpenSP/Allocator.h:50:5: error: ‘SegmentHeader’ does not name a type
   50 |     SegmentHeader *next;
      |     ^~~~~~~~~~~~~
/usr/include/OpenSP/Allocator.h:51:3: error: expected declaration before ‘}’ token
   51 |   };
      |   ^
/usr/include/OpenSP/Allocator.h:52:1: error: expected unqualified-id before ‘private’
   52 | private:
      | ^~~~~~~
/usr/include/OpenSP/Allocator.h:54:3: error: ‘Allocator’ does not name a type; did you mean ‘alloca’?
   54 |   Allocator &operator=(const Allocator &); // undefined
      |   ^~~~~~~~~
      |   alloca
/usr/include/OpenSP/Allocator.h:55:3: error: ‘Block’ does not name a type
   55 |   Block *freeList_;
      |   ^~~~~
/usr/include/OpenSP/Allocator.h:58:3: error: ‘SegmentHeader’ does not name a type
   58 |   SegmentHeader *segments_;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/Allocator.h:61:1: error: expected declaration before ‘}’ token
   61 | };
      | ^
In file included from /usr/include/OpenSP/Event.h:10,
                 from /usr/include/OpenSP/ArcEngine.h:11,
                 from /tmp/UEn0V_TxoO/dump1.h:19:
/usr/include/OpenSP/Link.h:11:14: error: variable ‘SP_API Link’ has initializer but incomplete type
   11 | class SP_API Link {
      |              ^~~~
/usr/include/OpenSP/Link.h:12:1: error: expected primary-expression before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/Link.h:12:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Link.h:11:19: note: to match this ‘{’
   11 | class SP_API Link {
      |                   ^
/usr/include/OpenSP/Link.h:12:1: error: expected ‘,’ or ‘;’ before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/Link.h:14:7: error: expected constructor, destructor, or type conversion before ‘(’ token
   14 |   Link(Link *);
      |       ^
/usr/include/OpenSP/Link.h:15:16: error: expected class-name before ‘(’ token
   15 |   virtual ~Link();
      |                ^
/usr/include/OpenSP/Link.h:16:1: error: expected unqualified-id before ‘private’
   16 | private:
      | ^~~~~~~
/usr/include/OpenSP/Link.h:19:1: error: ‘friend’ used outside of class
   19 | friend class IListBase;
      | ^~~~~~
      | ------
/usr/include/OpenSP/Link.h:20:1: error: ‘friend’ used outside of class
   20 | friend class IListIterBase;
      | ^~~~~~
      | ------
/usr/include/OpenSP/Link.h:21:1: error: ‘friend’ used outside of class
   21 | friend class IQueueBase;
      | ^~~~~~
      | ------
/usr/include/OpenSP/Link.h:22:1: error: expected declaration before ‘}’ token
   22 | };
      | ^
/usr/include/OpenSP/Link.h:25:1: error: ‘Link’ does not name a type
   25 | Link::Link() : next_(0)
      | ^~~~
/usr/include/OpenSP/Link.h:30:1: error: ‘Link’ does not name a type
   30 | Link::Link(Link *next) : next_(next)
      | ^~~~
In file included from /usr/include/OpenSP/Location.h:11,
                 from /usr/include/OpenSP/Event.h:12:
/usr/include/OpenSP/Boolean.h:35:11: error: expected unqualified-id before ‘true’
   35 | const int true = 1;
      |           ^~~~
/usr/include/OpenSP/Boolean.h:36:11: error: expected unqualified-id before ‘false’
   36 | const int false = 0;
      |           ^~~~~
In file included from /usr/include/OpenSP/Location.h:13:
/usr/include/OpenSP/Resource.h:11:14: error: variable ‘SP_API Resource’ has initializer but incomplete type
   11 | class SP_API Resource {
      |              ^~~~~~~~
/usr/include/OpenSP/Resource.h:12:1: error: expected primary-expression before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/Resource.h:12:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Resource.h:11:23: note: to match this ‘{’
   11 | class SP_API Resource {
      |                       ^
/usr/include/OpenSP/Resource.h:12:1: error: expected ‘,’ or ‘;’ before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/Resource.h:14:18: error: ‘Resource’ does not name a type
   14 |   Resource(const Resource &);
      |                  ^~~~~~~~
/usr/include/OpenSP/Resource.h:14:29: error: expected constructor, destructor, or type conversion before ‘;’ token
   14 |   Resource(const Resource &);
      |                             ^
/usr/include/OpenSP/Resource.h:17:15: error: non-member function ‘int count()’ cannot have cv-qualifier
   17 |   int count() const;
      |               ^~~~~
/usr/include/OpenSP/Resource.h:18:1: error: expected unqualified-id before ‘private’
   18 | private:
      | ^~~~~~~
/usr/include/OpenSP/Resource.h:20:1: error: expected declaration before ‘}’ token
   20 | };
      | ^
/usr/include/OpenSP/Resource.h:23:1: error: ‘Resource’ does not name a type
   23 | Resource::Resource()
      | ^~~~~~~~
/usr/include/OpenSP/Resource.h:29:1: error: ‘Resource’ does not name a type
   29 | Resource::Resource(const Resource &)
      | ^~~~~~~~
/usr/include/OpenSP/Resource.h:35:5: error: ‘Resource’ is not a class, namespace, or enumeration
   35 | int Resource::count() const
      |     ^~~~~~~~
/usr/include/OpenSP/Resource.h:35:23: error: non-member function ‘int count()’ cannot have cv-qualifier
   35 | int Resource::count() const
      |                       ^~~~~
/usr/include/OpenSP/Resource.h: In function ‘int count()’:
/usr/include/OpenSP/Resource.h:37:10: error: ‘count_’ was not declared in this scope; did you mean ‘count’?
   37 |   return count_;
      |          ^~~~~~
      |          count
/usr/include/OpenSP/Resource.h: At global scope:
/usr/include/OpenSP/Resource.h:41:5: error: ‘Resource’ is not a class, namespace, or enumeration
   41 | int Resource::unref()
      |     ^~~~~~~~
/usr/include/OpenSP/Resource.h: In function ‘int unref()’:
/usr/include/OpenSP/Resource.h:43:12: error: ‘count_’ was not declared in this scope; did you mean ‘count’?
   43 |   return --count_ <= 0;
      |            ^~~~~~
      |            count
/usr/include/OpenSP/Resource.h: At global scope:
/usr/include/OpenSP/Resource.h:47:6: error: ‘Resource’ is not a class, namespace, or enumeration
   47 | void Resource::ref()
      |      ^~~~~~~~
/usr/include/OpenSP/Resource.h: In function ‘void ref()’:
/usr/include/OpenSP/Resource.h:49:5: error: ‘count_’ was not declared in this scope; did you mean ‘count’?
   49 |   ++count_;
      |     ^~~~~~
      |     count
In file included from /usr/include/OpenSP/rtti.h:21,
                 from /usr/include/OpenSP/Location.h:18:
/usr/include/OpenSP/TypeId.h: At global scope:
/usr/include/OpenSP/TypeId.h:11:14: error: variable ‘SP_API TypeId’ has initializer but incomplete type
   11 | class SP_API TypeId {
      |              ^~~~~~
/usr/include/OpenSP/TypeId.h:12:1: error: expected primary-expression before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/TypeId.h:12:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/TypeId.h:11:21: note: to match this ‘{’
   11 | class SP_API TypeId {
      |                     ^
/usr/include/OpenSP/TypeId.h:12:1: error: expected ‘,’ or ‘;’ before ‘public’
   12 | public:
      | ^~~~~~
/usr/include/OpenSP/TypeId.h:15:17: error: expected ‘)’ before ‘ti’
   15 |   int isA(TypeId ti) const;
      |          ~      ^~~
      |                 )
/usr/include/OpenSP/TypeId.h:18:21: error: expected ‘)’ before ‘to’
   18 |   int canCast(TypeId to, TypeId from) const;
      |              ~      ^~~
      |                     )
/usr/include/OpenSP/TypeId.h:18:32: error: expected ‘)’ before ‘from’
   18 |   int canCast(TypeId to, TypeId from) const;
      |              ~                 ^~~~~
      |                                )
/usr/include/OpenSP/TypeId.h:19:7: error: declaration of ‘operator==’ as non-function
   19 |   int operator==(TypeId ti) const { return bases_ == ti.bases_; }
      |       ^~~~~~~~
/usr/include/OpenSP/TypeId.h:19:24: error: expected ‘)’ before ‘ti’
   19 |   int operator==(TypeId ti) const { return bases_ == ti.bases_; }
      |                 ~      ^~~
      |                        )
/usr/include/OpenSP/TypeId.h:20:7: error: declaration of ‘operator!=’ as non-function
   20 |   int operator!=(TypeId ti) const { return bases_ != ti.bases_; }
      |       ^~~~~~~~
/usr/include/OpenSP/TypeId.h:20:24: error: expected ‘)’ before ‘ti’
   20 |   int operator!=(TypeId ti) const { return bases_ != ti.bases_; }
      |                 ~      ^~~
      |                        )
/usr/include/OpenSP/TypeId.h:21:1: error: expected unqualified-id before ‘private’
   21 | private:
      | ^~~~~~~
/usr/include/OpenSP/TypeId.h:23:1: error: expected declaration before ‘}’ token
   23 | };
      | ^
/usr/include/OpenSP/Location.h:34:21: error: expected initializer before ‘:’ token
   34 | class SP_API Origin : public Resource {
      |                     ^
/usr/include/OpenSP/Location.h:55:26: error: expected initializer before ‘:’ token
   55 | class SP_API ProxyOrigin : public Origin {
      |                          ^
/usr/include/OpenSP/Location.h:77:14: error: variable ‘SP_API Location’ has initializer but incomplete type
   77 | class SP_API Location {
      |              ^~~~~~~~
/usr/include/OpenSP/Location.h:78:1: error: expected primary-expression before ‘public’
   78 | public:
      | ^~~~~~
/usr/include/OpenSP/Location.h:78:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Location.h:77:23: note: to match this ‘{’
   77 | class SP_API Location {
      |                       ^
/usr/include/OpenSP/Location.h:78:1: error: expected ‘,’ or ‘;’ before ‘public’
   78 | public:
      | ^~~~~~
/usr/include/OpenSP/Location.h:80:18: error: ‘Location’ does not name a type
   80 |   Location(const Location&);
      |                  ^~~~~~~~
/usr/include/OpenSP/Location.h:80:28: error: expected constructor, destructor, or type conversion before ‘;’ token
   80 |   Location(const Location&);
      |                            ^
/usr/include/OpenSP/Location.h:81:11: error: expected constructor, destructor, or type conversion before ‘(’ token
   81 |   Location(Origin *, Index);
      |           ^
/usr/include/OpenSP/Location.h:82:21: error: ‘Origin’ was not declared in this scope
   82 |   Location(ConstPtr<Origin>, Index);
      |                     ^~~~~~
/usr/include/OpenSP/Location.h:82:27: error: template argument 1 is invalid
   82 |   Location(ConstPtr<Origin>, Index);
      |                           ^
/usr/include/OpenSP/Location.h:82:36: error: expected constructor, destructor, or type conversion before ‘;’ token
   82 |   Location(ConstPtr<Origin>, Index);
      |                                    ^
/usr/include/OpenSP/Location.h:83:8: error: ‘void operator+=(Index)’ must have an argument of class or enumerated type
   83 |   void operator+=(Index i) { index_ += i; }
      |        ^~~~~~~~
/usr/include/OpenSP/Location.h:84:8: error: ‘void operator-=(Index)’ must have an argument of class or enumerated type
   84 |   void operator-=(Index i) { index_ -= i; }
      |        ^~~~~~~~
/usr/include/OpenSP/Location.h:85:17: error: non-member function ‘Index index()’ cannot have cv-qualifier
   85 |   Index index() const { return index_; }
      |                 ^~~~~
/usr/include/OpenSP/Location.h: In function ‘Index index()’:
/usr/include/OpenSP/Location.h:85:32: error: ‘index_’ was not declared in this scope; did you mean ‘index’?
   85 |   Index index() const { return index_; }
      |                                ^~~~~~
      |                                index
/usr/include/OpenSP/Location.h: At global scope:
/usr/include/OpenSP/Location.h:86:18: error: ‘Origin’ was not declared in this scope
   86 |   const ConstPtr<Origin> &origin() const { return origin_; }
      |                  ^~~~~~
/usr/include/OpenSP/Location.h:86:24: error: template argument 1 is invalid
   86 |   const ConstPtr<Origin> &origin() const { return origin_; }
      |                        ^
/usr/include/OpenSP/Location.h:86:36: error: non-member function ‘const int& origin()’ cannot have cv-qualifier
   86 |   const ConstPtr<Origin> &origin() const { return origin_; }
      |                                    ^~~~~
/usr/include/OpenSP/Location.h: In function ‘const int& origin()’:
/usr/include/OpenSP/Location.h:86:51: error: ‘origin_’ was not declared in this scope; did you mean ‘origin’?
   86 |   const ConstPtr<Origin> &origin() const { return origin_; }
      |                                                   ^~~~~~~
      |                                                   origin
/usr/include/OpenSP/Location.h: In function ‘void clear()’:
/usr/include/OpenSP/Location.h:87:18: error: ‘origin_’ was not declared in this scope; did you mean ‘origin’?
   87 |   void clear() { origin_.clear(); }
      |                  ^~~~~~~
      |                  origin
/usr/include/OpenSP/Location.h: At global scope:
/usr/include/OpenSP/Location.h:88:8: error: variable or field ‘swap’ declared void
   88 |   void swap(Location &to) {
      |        ^~~~
/usr/include/OpenSP/Location.h:88:23: error: ‘to’ was not declared in this scope
   88 |   void swap(Location &to) {
      |                       ^~
/usr/include/OpenSP/Location.h:94:1: error: expected unqualified-id before ‘private’
   94 | private:
      | ^~~~~~~
/usr/include/OpenSP/Location.h:97:1: error: expected declaration before ‘}’ token
   97 | };
      | ^
/usr/include/OpenSP/Location.h:99:14: error: variable ‘SP_API ExternalInfo’ has initializer but incomplete type
   99 | class SP_API ExternalInfo {
      |              ^~~~~~~~~~~~
/usr/include/OpenSP/rtti.h:24:1: error: expected primary-expression before ‘public’
   24 | public: \
      | ^~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/rtti.h:24:1: error: expected ‘}’ before ‘public’
   24 | public: \
      | ^~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/Location.h:99:27: note: to match this ‘{’
   99 | class SP_API ExternalInfo {
      |                           ^
/usr/include/OpenSP/rtti.h:24:1: error: expected ‘,’ or ‘;’ before ‘public’
   24 | public: \
      | ^~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/rtti.h:26:17: error: ‘TypeId’ does not name a type
   26 |   static inline TypeId staticType() { return TypeId(RTTI_bases_); } \
      |                 ^~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/rtti.h:27:1: error: expected unqualified-id before ‘protected’
   27 | protected: \
      | ^~~~~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/rtti.h:29:1: error: expected unqualified-id before ‘private’
   29 | private:
      | ^~~~~~~
/usr/include/OpenSP/Location.h:100:3: note: in expansion of macro ‘RTTI_CLASS’
  100 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/Location.h:103:1: error: expected declaration before ‘}’ token
  103 | };
      | ^
/usr/include/OpenSP/Location.h:105:14: error: variable ‘SP_API NamedCharRef’ has initializer but incomplete type
  105 | class SP_API NamedCharRef {
      |              ^~~~~~~~~~~~
/usr/include/OpenSP/Location.h:106:1: error: expected primary-expression before ‘public’
  106 | public:
      | ^~~~~~
/usr/include/OpenSP/Location.h:106:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Location.h:105:27: note: to match this ‘{’
  105 | class SP_API NamedCharRef {
      |                           ^
/usr/include/OpenSP/Location.h:106:1: error: expected ‘,’ or ‘;’ before ‘public’
  106 | public:
      | ^~~~~~
/usr/include/OpenSP/Location.h:112:17: error: expected constructor, destructor, or type conversion before ‘;’ token
  112 |   NamedCharRef();
      |                 ^
/usr/include/OpenSP/Location.h:113:23: error: ‘RefEndType’ has not been declared
  113 |   NamedCharRef(Index, RefEndType, const StringC &);
      |                       ^~~~~~~~~~
/usr/include/OpenSP/Location.h:113:51: error: expected constructor, destructor, or type conversion before ‘;’ token
  113 |   NamedCharRef(Index, RefEndType, const StringC &);
      |                                                   ^
/usr/include/OpenSP/Location.h:114:25: error: non-member function ‘Index refStartIndex()’ cannot have cv-qualifier
  114 |   Index refStartIndex() const;
      |                         ^~~~~
/usr/include/OpenSP/Location.h:115:3: error: ‘RefEndType’ does not name a type
  115 |   RefEndType refEndType() const;
      |   ^~~~~~~~~~
/usr/include/OpenSP/Location.h:116:29: error: non-member function ‘const StringC& origName()’ cannot have cv-qualifier
  116 |   const StringC &origName() const;
      |                             ^~~~~
/usr/include/OpenSP/Location.h:117:19: error: ‘RefEndType’ has not been declared
  117 |   void set(Index, RefEndType, const Char *, size_t);
      |                   ^~~~~~~~~~
/usr/include/OpenSP/Location.h:118:1: error: expected unqualified-id before ‘private’
  118 | private:
      | ^~~~~~~
/usr/include/OpenSP/Location.h:120:3: error: ‘RefEndType’ does not name a type
  120 |   RefEndType refEndType_;
      |   ^~~~~~~~~~
/usr/include/OpenSP/Location.h:122:1: error: expected declaration before ‘}’ token
  122 | };
      | ^
/usr/include/OpenSP/Location.h:124:15: error: variable ‘SP_API InputSourceOriginNamedCharRef’ has initializer but incomplete type
  124 | struct SP_API InputSourceOriginNamedCharRef {
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:125:9: error: expected primary-expression before ‘replacementIndex’
  125 |   Index replacementIndex;
      |         ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:125:9: error: expected ‘}’ before ‘replacementIndex’
/usr/include/OpenSP/Location.h:124:45: note: to match this ‘{’
  124 | struct SP_API InputSourceOriginNamedCharRef {
      |                                             ^
/usr/include/OpenSP/Location.h:125:9: error: expected ‘,’ or ‘;’ before ‘replacementIndex’
  125 |   Index replacementIndex;
      |         ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:127:9: error: ‘Index refStartIndex’ redeclared as different kind of entity
  127 |   Index refStartIndex;
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:114:9: note: previous declaration ‘Index refStartIndex()’
  114 |   Index refStartIndex() const;
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:128:17: error: invalid use of incomplete type ‘class NamedCharRef’
  128 |   NamedCharRef::RefEndType refEndType;
      |                 ^~~~~~~~~~
/usr/include/OpenSP/Location.h:32:7: note: forward declaration of ‘class NamedCharRef’
   32 | class NamedCharRef;
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/Location.h:129:1: error: expected declaration before ‘}’ token
  129 | };
      | ^
/usr/include/OpenSP/Location.h:131:32: error: expected initializer before ‘:’ token
  131 | class SP_API InputSourceOrigin : public Origin {
      |                                ^
/usr/include/OpenSP/Location.h:143:28: error: expected initializer before ‘:’ token
  143 | class SP_API BracketOrigin : public Origin {
      |                            ^
/usr/include/OpenSP/Location.h:155:32: error: expected initializer before ‘:’ token
  155 | class SP_API ReplacementOrigin : public Origin {
      |                                ^
/usr/include/OpenSP/Location.h:165:37: error: expected initializer before ‘:’ token
  165 | class SP_API MultiReplacementOrigin : public Origin {
      |                                     ^
/usr/include/OpenSP/Location.h:176:37: error: invalid use of incomplete type ‘class NamedCharRef’
  176 | Index NamedCharRef::refStartIndex() const
      |                                     ^~~~~
/usr/include/OpenSP/Location.h:32:7: note: forward declaration of ‘class NamedCharRef’
   32 | class NamedCharRef;
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/Location.h:182:15: error: invalid use of incomplete type ‘class NamedCharRef’
  182 | NamedCharRef::RefEndType NamedCharRef::refEndType() const
      |               ^~~~~~~~~~
/usr/include/OpenSP/Location.h:32:7: note: forward declaration of ‘class NamedCharRef’
   32 | class NamedCharRef;
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/Location.h:188:41: error: invalid use of incomplete type ‘class NamedCharRef’
  188 | const StringC &NamedCharRef::origName() const
      |                                         ^~~~~
/usr/include/OpenSP/Location.h:32:7: note: forward declaration of ‘class NamedCharRef’
   32 | class NamedCharRef;
      |       ^~~~~~~~~~~~
In file included from /usr/include/OpenSP/NamedResource.h:7,
                 from /usr/include/OpenSP/Notation.h:12,
                 from /usr/include/OpenSP/Event.h:19:
/usr/include/OpenSP/Named.h:13:14: error: variable ‘SP_API Named’ has initializer but incomplete type
   13 | class SP_API Named {
      |              ^~~~~
/usr/include/OpenSP/Named.h:14:1: error: expected primary-expression before ‘public’
   14 | public:
      | ^~~~~~
/usr/include/OpenSP/Named.h:14:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Named.h:13:20: note: to match this ‘{’
   13 | class SP_API Named {
      |                    ^
/usr/include/OpenSP/Named.h:14:1: error: expected ‘,’ or ‘;’ before ‘public’
   14 | public:
      | ^~~~~~
/usr/include/OpenSP/Named.h:16:17: error: expected class-name before ‘(’ token
   16 |   virtual ~Named() { }
      |                 ^
/usr/include/OpenSP/Named.h:17:25: error: non-member function ‘const StringC& name()’ cannot have cv-qualifier
   17 |   const StringC &name() const { return name_; }
      |                         ^~~~~
/usr/include/OpenSP/Named.h: In function ‘const StringC& name()’:
/usr/include/OpenSP/Named.h:17:40: error: ‘name_’ was not declared in this scope; did you mean ‘name’?
   17 |   const StringC &name() const { return name_; }
      |                                        ^~~~~
      |                                        name
/usr/include/OpenSP/Named.h: At global scope:
/usr/include/OpenSP/Named.h:18:32: error: non-member function ‘const StringC* namePointer()’ cannot have cv-qualifier
   18 |   const StringC *namePointer() const { return &name_; }
      |                                ^~~~~
/usr/include/OpenSP/Named.h: In function ‘const StringC* namePointer()’:
/usr/include/OpenSP/Named.h:18:48: error: ‘name_’ was not declared in this scope; did you mean ‘name’?
   18 |   const StringC *namePointer() const { return &name_; }
      |                                                ^~~~~
      |                                                name
/usr/include/OpenSP/Named.h: In function ‘void setName(const StringC&)’:
/usr/include/OpenSP/Named.h:19:39: error: ‘name_’ was not declared in this scope; did you mean ‘name’?
   19 |   void setName(const StringC &name) { name_ = name; }
      |                                       ^~~~~
      |                                       name
/usr/include/OpenSP/Named.h: At global scope:
/usr/include/OpenSP/Named.h:20:8: error: variable or field ‘swap’ declared void
   20 |   void swap(Named &to) { name_.swap(to.name_); }
      |        ^~~~
/usr/include/OpenSP/Named.h:20:20: error: ‘to’ was not declared in this scope
   20 |   void swap(Named &to) { name_.swap(to.name_); }
      |                    ^~
/usr/include/OpenSP/Named.h:21:1: error: expected unqualified-id before ‘private’
   21 | private:
      | ^~~~~~~
/usr/include/OpenSP/Named.h:23:1: error: expected declaration before ‘}’ token
   23 | };
      | ^
/usr/include/OpenSP/NamedResource.h:14:28: error: expected initializer before ‘:’ token
   14 | class SP_API NamedResource : public Named, public Resource {
      |                            ^
In file included from /usr/include/OpenSP/Text.h:14,
                 from /usr/include/OpenSP/ExternalId.h:12,
                 from /usr/include/OpenSP/Notation.h:15:
/usr/include/OpenSP/SubstTable.h:15:14: error: variable ‘SP_API SubstTable’ has initializer but incomplete type
   15 | class SP_API SubstTable {
      |              ^~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:16:1: error: expected primary-expression before ‘public’
   16 | public:
      | ^~~~~~
/usr/include/OpenSP/SubstTable.h:16:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/SubstTable.h:15:25: note: to match this ‘{’
   15 | class SP_API SubstTable {
      |                         ^
/usr/include/OpenSP/SubstTable.h:16:1: error: expected ‘,’ or ‘;’ before ‘public’
   16 | public:
      | ^~~~~~
/usr/include/OpenSP/SubstTable.h:19:22: error: non-member function ‘void subst(Char&)’ cannot have cv-qualifier
   19 |   void subst(Char &) const;
      |                      ^~~~~
/usr/include/OpenSP/SubstTable.h:20:25: error: non-member function ‘void subst(StringC&)’ cannot have cv-qualifier
   20 |   void subst(StringC &) const;
      |                         ^~~~~
/usr/include/OpenSP/SubstTable.h:21:30: error: non-member function ‘Char operator[](Char)’ cannot have cv-qualifier
   21 |   Char operator[](Char from) const;
      |                              ^~~~~
/usr/include/OpenSP/SubstTable.h:21:8: error: ‘Char operator[](Char)’ must be a non-static member function
   21 |   Char operator[](Char from) const;
      |        ^~~~~~~~
/usr/include/OpenSP/SubstTable.h:22:15: error: non-member function ‘void sort()’ cannot have cv-qualifier
   22 |   void sort() const;
      |               ^~~~~
/usr/include/OpenSP/SubstTable.h:23:22: error: non-member function ‘Char at(Char)’ cannot have cv-qualifier
   23 |   Char at(Char from) const;
      |                      ^~~~~
/usr/include/OpenSP/SubstTable.h:24:28: error: non-member function ‘StringC inverse(Char)’ cannot have cv-qualifier
   24 |   StringC inverse(Char to) const;
      |                            ^~~~~
/usr/include/OpenSP/SubstTable.h:25:8: error: variable or field ‘inverseTable’ declared void
   25 |   void inverseTable(SubstTable &) const;
      |        ^~~~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:25:33: error: expected primary-expression before ‘)’ token
   25 |   void inverseTable(SubstTable &) const;
      |                                 ^
/usr/include/OpenSP/SubstTable.h:32:1: error: expected unqualified-id before ‘private’
   32 | private:
      | ^~~~~~~
/usr/include/OpenSP/SubstTable.h:34:3: error: non-member ‘map_’ cannot be declared ‘mutable’
   34 |   mutable Vector<Pair> map_;
      |   ^~~~~~~
/usr/include/OpenSP/SubstTable.h:35:3: error: non-member ‘isSorted_’ cannot be declared ‘mutable’
   35 |   mutable bool isSorted_;
      |   ^~~~~~~
/usr/include/OpenSP/SubstTable.h:36:1: error: expected declaration before ‘}’ token
   36 | };
      | ^
/usr/include/OpenSP/SubstTable.h:39:6: error: ‘SubstTable’ is not a class, namespace, or enumeration
   39 | void SubstTable::subst(StringC &str) const
      |      ^~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:39:38: error: non-member function ‘void subst(StringC&)’ cannot have cv-qualifier
   39 | void SubstTable::subst(StringC &str) const
      |                                      ^~~~~
/usr/include/OpenSP/SubstTable.h:46:6: error: ‘SubstTable’ is not a class, namespace, or enumeration
   46 | Char SubstTable::operator[](Char t) const
      |      ^~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:46:37: error: non-member function ‘Char operator[](Char)’ cannot have cv-qualifier
   46 | Char SubstTable::operator[](Char t) const
      |                                     ^~~~~
/usr/include/OpenSP/SubstTable.h:46:6: error: ‘Char operator[](Char)’ must be a non-static member function
   46 | Char SubstTable::operator[](Char t) const
      |      ^~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:55:6: error: ‘SubstTable’ is not a class, namespace, or enumeration
   55 | void SubstTable::subst(Char &c) const
      |      ^~~~~~~~~~
/usr/include/OpenSP/SubstTable.h:55:33: error: non-member function ‘void subst(Char&)’ cannot have cv-qualifier
   55 | void SubstTable::subst(Char &c) const
      |                                 ^~~~~
/usr/include/OpenSP/SubstTable.h: In function ‘void subst(Char&)’:
/usr/include/OpenSP/SubstTable.h:57:7: error: ‘operator[]’ not defined
   57 |   c = operator[](c);
      |       ^~~~~~~~~~
/usr/include/OpenSP/Text.h: At global scope:
/usr/include/OpenSP/Text.h:21:15: error: variable ‘SP_API TextItem’ has initializer but incomplete type
   21 | struct SP_API TextItem {
      |               ^~~~~~~~
/usr/include/OpenSP/Text.h:22:13: error: expected ‘}’ before ‘;’ token
   22 |   TextItem();
      |             ^
/usr/include/OpenSP/Text.h:21:24: note: to match this ‘{’
   21 | struct SP_API TextItem {
      |                        ^
/usr/include/OpenSP/Text.h:23:18: error: ‘TextItem’ does not name a type
   23 |   TextItem(const TextItem& x);
      |                  ^~~~~~~~
/usr/include/OpenSP/Text.h:23:30: error: expected constructor, destructor, or type conversion before ‘;’ token
   23 |   TextItem(const TextItem& x);
      |                              ^
/usr/include/OpenSP/Text.h:24:12: error: expected class-name before ‘(’ token
   24 |   ~TextItem();
      |            ^
/usr/include/OpenSP/Text.h:47:3: error: ‘Location’ does not name a type
   47 |   Location loc;
      |   ^~~~~~~~
/usr/include/OpenSP/Text.h:49:10: error: ‘size_t index’ redeclared as different kind of entity
   49 |   size_t index;
      |          ^~~~~
/usr/include/OpenSP/Location.h:85:9: note: previous declaration ‘Index index()’
   85 |   Index index() const { return index_; }
      |         ^~~~~
/usr/include/OpenSP/Text.h:50:3: error: ‘TextItem’ does not name a type
   50 |   TextItem& operator=(const TextItem& from);
      |   ^~~~~~~~
/usr/include/OpenSP/Text.h:51:1: error: expected declaration before ‘}’ token
   51 | };
      | ^
/usr/include/OpenSP/Text.h:55:14: error: variable ‘SP_API Text’ has initializer but incomplete type
   55 | class SP_API Text {
      |              ^~~~
/usr/include/OpenSP/Text.h:56:1: error: expected primary-expression before ‘public’
   56 | public:
      | ^~~~~~
/usr/include/OpenSP/Text.h:56:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Text.h:55:19: note: to match this ‘{’
   55 | class SP_API Text {
      |                   ^
/usr/include/OpenSP/Text.h:56:1: error: expected ‘,’ or ‘;’ before ‘public’
   56 | public:
      | ^~~~~~
/usr/include/OpenSP/Text.h:59:10: error: expected constructor, destructor, or type conversion before ‘;’ token
   59 |   ~Text();
      |          ^
/usr/include/OpenSP/Text.h:61:8: error: variable or field ‘swap’ declared void
   61 |   void swap(Text &to);
      |        ^~~~
/usr/include/OpenSP/Text.h:61:19: error: ‘to’ was not declared in this scope
   61 |   void swap(Text &to);
      |                   ^~
/usr/include/OpenSP/Text.h:62:30: error: ‘Location’ does not name a type
   62 |   void addChar(Char c, const Location &);
      |                              ^~~~~~~~
/usr/include/OpenSP/Text.h:63:40: error: ‘Location’ does not name a type
   63 |   void addChars(const StringC &, const Location &);
      |                                        ^~~~~~~~
/usr/include/OpenSP/Text.h:64:45: error: ‘Location’ does not name a type
   64 |   void addChars(const Char *, size_t, const Location &);
      |                                             ^~~~~~~~
/usr/include/OpenSP/Text.h:65:43: error: ‘Location’ does not name a type
   65 |   void insertChars(const StringC &, const Location &);
      |                                           ^~~~~~~~
/usr/include/OpenSP/Text.h:66:31: error: ‘Location’ does not name a type
   66 |   void ignoreChar(Char, const Location &);
      |                               ^~~~~~~~
/usr/include/OpenSP/Text.h:68:37: error: ‘Location’ does not name a type
   68 |   void addNonSgmlChar(Char c, const Location &);
      |                                     ^~~~~~~~
/usr/include/OpenSP/Text.h:69:29: error: ‘Location’ does not name a type
   69 |   void addEntityStart(const Location &);
      |                             ^~~~~~~~
/usr/include/OpenSP/Text.h:70:27: error: ‘Location’ does not name a type
   70 |   void addEntityEnd(const Location &);
      |                           ^~~~~~~~
/usr/include/OpenSP/Text.h:71:49: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
   71 |   void addCdata(const StringC &, const ConstPtr<Origin> &);
      |                                                 ^~~~~~
      |                                                 origin
/usr/include/OpenSP/Text.h:71:55: error: template argument 1 is invalid
   71 |   void addCdata(const StringC &, const ConstPtr<Origin> &);
      |                                                       ^
/usr/include/OpenSP/Text.h:72:49: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
   72 |   void addSdata(const StringC &, const ConstPtr<Origin> &);
      |                                                 ^~~~~~
      |                                                 origin
/usr/include/OpenSP/Text.h:72:55: error: template argument 1 is invalid
   72 |   void addSdata(const StringC &, const ConstPtr<Origin> &);
      |                                                       ^
/usr/include/OpenSP/Text.h:73:28: error: ‘Location’ does not name a type
   73 |   void addStartDelim(const Location &loc);
      |                            ^~~~~~~~
/usr/include/OpenSP/Text.h:74:26: error: ‘Location’ does not name a type
   74 |   void addEndDelim(const Location &loc, Boolean lita);
      |                          ^~~~~~~~
/usr/include/OpenSP/Text.h:75:20: error: ‘SubstTable’ does not name a type; did you mean ‘mutable’?
   75 |   void subst(const SubstTable &, Char space);
      |                    ^~~~~~~~~~
      |                    mutable
/usr/include/OpenSP/Text.h:76:53: error: ‘Location’ does not name a type
   76 |   void addCharsTokenize(const Char *, size_t, const Location &loc, Char space);
      |                                                     ^~~~~~~~
/usr/include/OpenSP/Text.h:77:48: error: ‘Location’ does not name a type
   77 |   void addCharsTokenize(const StringC &, const Location &loc, Char space);
      |                                                ^~~~~~~~
/usr/include/OpenSP/Text.h:78:29: error: ‘Text’ is not a type
   78 |   void tokenize(Char space, Text &text) const;
      |                             ^~~~
/usr/include/OpenSP/Text.h:78:41: error: non-member function ‘void tokenize(Char, int&)’ cannot have cv-qualifier
   78 |   void tokenize(Char space, Text &text) const;
      |                                         ^~~~~
/usr/include/OpenSP/Text.h:79:3: error: ‘Location’ does not name a type
   79 |   Location charLocation(size_t i) const;
      |   ^~~~~~~~
/usr/include/OpenSP/Text.h:80:38: error: ‘Origin’ does not name a type
   80 |   Boolean charLocation(size_t, const Origin *&, Index &) const;
      |                                      ^~~~~~
/usr/include/OpenSP/Text.h:80:58: error: non-member function ‘Boolean charLocation(size_t, const int*&, Index&)’ cannot have cv-qualifier
   80 |   Boolean charLocation(size_t, const Origin *&, Index &) const;
      |                                                          ^~~~~
/usr/include/OpenSP/Text.h:81:49: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
   81 |   Boolean charLocation(size_t i, const ConstPtr<Origin> *&, Index &) const;
      |                                                 ^~~~~~
      |                                                 origin
/usr/include/OpenSP/Text.h:81:55: error: template argument 1 is invalid
   81 |   Boolean charLocation(size_t i, const ConstPtr<Origin> *&, Index &) const;
      |                                                       ^
/usr/include/OpenSP/Text.h:81:70: error: non-member function ‘Boolean charLocation(size_t, const int*&, Index&)’ cannot have cv-qualifier
   81 |   Boolean charLocation(size_t i, const ConstPtr<Origin> *&, Index &) const;
      |                                                                      ^~~~~
/usr/include/OpenSP/Text.h:82:17: error: non-member function ‘size_t size()’ cannot have cv-qualifier
   82 |   size_t size() const;
      |                 ^~~~~
/usr/include/OpenSP/Text.h:83:19: error: non-member function ‘Char lastChar()’ cannot have cv-qualifier
   83 |   Char lastChar() const;
      |                   ^~~~~
/usr/include/OpenSP/Text.h:84:27: error: non-member function ‘const StringC& string()’ cannot have cv-qualifier
   84 |   const StringC &string() const;
      |                           ^~~~~
/usr/include/OpenSP/Text.h:85:43: error: non-member function ‘size_t normalizedLength(size_t)’ cannot have cv-qualifier
   85 |   size_t normalizedLength(size_t normsep) const;
      |                                           ^~~~~
/usr/include/OpenSP/Text.h:86:28: error: ‘Text’ does not name a type
   86 |   Boolean fixedEqual(const Text &) const;
      |                            ^~~~
/usr/include/OpenSP/Text.h:86:36: error: non-member function ‘Boolean fixedEqual(const int&)’ cannot have cv-qualifier
   86 |   Boolean fixedEqual(const Text &) const;
      |                                    ^~~~~
/usr/include/OpenSP/Text.h:88:40: error: expected primary-expression before ‘)’ token
   88 |   Boolean startDelimLocation(Location &) const;
      |                                        ^
/usr/include/OpenSP/Text.h:90:38: error: expected primary-expression before ‘)’ token
   90 |   Boolean endDelimLocation(Location &) const;
      |                                      ^
/usr/include/OpenSP/Text.h:92:36: error: non-member function ‘Boolean delimType(Boolean&)’ cannot have cv-qualifier
   92 |   Boolean delimType(Boolean &lita) const;
      |                                    ^~~~~
/usr/include/OpenSP/Text.h:93:1: error: expected unqualified-id before ‘private’
   93 | private:
      | ^~~~~~~
/usr/include/OpenSP/Text.h:97:3: error: ‘friend’ used outside of class
   97 |   friend class TextIter;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/Text.h:98:1: error: expected declaration before ‘}’ token
   98 | };
      | ^
/usr/include/OpenSP/Text.h:100:14: error: variable ‘SP_API TextIter’ has initializer but incomplete type
  100 | class SP_API TextIter {
      |              ^~~~~~~~
/usr/include/OpenSP/Text.h:101:1: error: expected primary-expression before ‘public’
  101 | public:
      | ^~~~~~
/usr/include/OpenSP/Text.h:101:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Text.h:100:23: note: to match this ‘{’
  100 | class SP_API TextIter {
      |                       ^
/usr/include/OpenSP/Text.h:101:1: error: expected ‘,’ or ‘;’ before ‘public’
  101 | public:
      | ^~~~~~
/usr/include/OpenSP/Text.h:104:16: error: ‘TextItem’ is not a class, namespace, or enumeration
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |                ^~~~~~~~
/usr/include/OpenSP/Text.h:104:32: error: expected primary-expression before ‘,’ token
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |                                ^
/usr/include/OpenSP/Text.h:104:34: error: expected primary-expression before ‘const’
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |                                  ^~~~~
/usr/include/OpenSP/Text.h:104:56: error: expected primary-expression before ‘&’ token
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |                                                        ^
/usr/include/OpenSP/Text.h:104:57: error: expected primary-expression before ‘,’ token
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |                                                         ^
/usr/include/OpenSP/Text.h:105:16: error: expected primary-expression before ‘const’
  105 |                const Location *&);
      |                ^~~~~
/usr/include/OpenSP/Text.h:107:19: error: non-member function ‘Boolean valid()’ cannot have cv-qualifier
  107 |   Boolean valid() const;
      |                   ^~~~~
/usr/include/OpenSP/Text.h:109:3: error: ‘TextItem’ does not name a type; did you mean ‘TextIter’?
  109 |   TextItem::Type type() const;
      |   ^~~~~~~~
      |   TextIter
/usr/include/OpenSP/Text.h:110:9: error: ‘Location’ does not name a type
  110 |   const Location &location() const;
      |         ^~~~~~~~
/usr/include/OpenSP/Text.h:111:37: error: non-member function ‘const Char* chars(size_t&)’ cannot have cv-qualifier
  111 |   const Char *chars(size_t &length) const;
      |                                     ^~~~~
/usr/include/OpenSP/Text.h:112:1: error: expected unqualified-id before ‘private’
  112 | private:
      | ^~~~~~~
/usr/include/OpenSP/Text.h:114:9: error: ‘Text’ does not name a type
  114 |   const Text *text_;
      |         ^~~~
/usr/include/OpenSP/Text.h:115:1: error: expected declaration before ‘}’ token
  115 | };
      | ^
/usr/include/OpenSP/Text.h:118:21: error: invalid use of incomplete type ‘class Text’
  118 | size_t Text::size() const
      |                     ^~~~~
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:124:23: error: invalid use of incomplete type ‘class Text’
  124 | Char Text::lastChar() const
      |                       ^~~~~
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:130:31: error: invalid use of incomplete type ‘class Text’
  130 | const StringC &Text::string() const
      |                               ^~~~~
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:136:33: error: ‘Location’ does not name a type
  136 | void Text::addEntityStart(const Location &loc)
      |                                 ^~~~~~~~
/usr/include/OpenSP/Text.h:136:46: error: invalid use of incomplete type ‘class Text’
  136 | void Text::addEntityStart(const Location &loc)
      |                                              ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:142:31: error: ‘Location’ does not name a type
  142 | void Text::addEntityEnd(const Location &loc)
      |                               ^~~~~~~~
/usr/include/OpenSP/Text.h:142:44: error: invalid use of incomplete type ‘class Text’
  142 | void Text::addEntityEnd(const Location &loc)
      |                                            ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:148:45: error: ‘Location’ does not name a type
  148 | void Text::addChars(const StringC &s, const Location &loc)
      |                                             ^~~~~~~~
/usr/include/OpenSP/Text.h:148:58: error: invalid use of incomplete type ‘class Text’
  148 | void Text::addChars(const StringC &s, const Location &loc)
      |                                                          ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:154:32: error: ‘Location’ does not name a type
  154 | void Text::addStartDelim(const Location &loc)
      |                                ^~~~~~~~
/usr/include/OpenSP/Text.h:154:45: error: invalid use of incomplete type ‘class Text’
  154 | void Text::addStartDelim(const Location &loc)
      |                                             ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:160:30: error: ‘Location’ does not name a type
  160 | void Text::addEndDelim(const Location &loc, Boolean lita)
      |                              ^~~~~~~~
/usr/include/OpenSP/Text.h:160:57: error: invalid use of incomplete type ‘class Text’
  160 | void Text::addEndDelim(const Location &loc, Boolean lita)
      |                                                         ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:167:55: error: ‘Location’ does not name a type
  167 | void Text::addCharsTokenize(const StringC &str, const Location &loc,
      |                                                       ^~~~~~~~
/usr/include/OpenSP/Text.h:168:39: error: invalid use of incomplete type ‘class Text’
  168 |                             Char space)
      |                                       ^
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:174:1: error: ‘Location’ does not name a type
  174 | Location Text::charLocation(size_t i) const
      | ^~~~~~~~
/usr/include/OpenSP/Text.h:185:44: error: ‘Origin’ does not name a type
  185 | Boolean Text::charLocation(size_t i, const Origin *&origin, Index &index) const
      |                                            ^~~~~~
/usr/include/OpenSP/Text.h:185:75: error: invalid use of incomplete type ‘class Text’
  185 | Boolean Text::charLocation(size_t i, const Origin *&origin, Index &index) const
      |                                                                           ^~~~~
/usr/include/OpenSP/Location.h:31:7: note: forward declaration of ‘class Text’
   31 | class Text;
      |       ^~~~
/usr/include/OpenSP/Text.h:197:23: error: invalid use of incomplete type ‘class TextIter’
  197 | void TextIter::rewind()
      |                       ^
/usr/include/OpenSP/Text.h:97:16: note: forward declaration of ‘class TextIter’
   97 |   friend class TextIter;
      |                ^~~~~~~~
/usr/include/OpenSP/Text.h:203:24: error: invalid use of incomplete type ‘class TextIter’
  203 | void TextIter::advance()
      |                        ^
/usr/include/OpenSP/Text.h:97:16: note: forward declaration of ‘class TextIter’
   97 |   friend class TextIter;
      |                ^~~~~~~~
/usr/include/OpenSP/Text.h:209:27: error: invalid use of incomplete type ‘class TextIter’
  209 | Boolean TextIter::valid() const
      |                           ^~~~~
/usr/include/OpenSP/Text.h:97:16: note: forward declaration of ‘class TextIter’
   97 |   friend class TextIter;
      |                ^~~~~~~~
/usr/include/OpenSP/Text.h:215:7: error: ‘Location’ does not name a type
  215 | const Location &TextIter::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/Text.h:221:1: error: ‘TextItem’ does not name a type; did you mean ‘TextIter’?
  221 | TextItem::Type TextIter::type() const
      | ^~~~~~~~
      | TextIter
In file included from /usr/include/OpenSP/Message.h:17,
                 from /usr/include/OpenSP/ExternalId.h:14:
/usr/include/OpenSP/MessageArg.h:20:14: error: variable ‘SP_API MessageArg’ has initializer but incomplete type
   20 | class SP_API MessageArg {
      |              ^~~~~~~~~~
/usr/include/OpenSP/MessageArg.h:21:1: error: expected primary-expression before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageArg.h:21:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/MessageArg.h:20:25: note: to match this ‘{’
   20 | class SP_API MessageArg {
      |                         ^
/usr/include/OpenSP/MessageArg.h:21:1: error: expected ‘,’ or ‘;’ before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageArg.h:23:22: error: expected class-name before ‘(’ token
   23 |   virtual ~MessageArg();
      |                      ^
/usr/include/OpenSP/MessageArg.h:24:11: error: ‘MessageArg’ does not name a type
   24 |   virtual MessageArg *copy() const = 0;
      |           ^~~~~~~~~~
/usr/include/OpenSP/MessageArg.h:25:3: error: ‘virtual’ outside class declaration
   25 |   virtual void append(MessageBuilder &) const = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageArg.h:25:41: error: non-member function ‘void append(MessageBuilder&)’ cannot have cv-qualifier
   25 |   virtual void append(MessageBuilder &) const = 0;
      |                                         ^~~~~
/usr/include/OpenSP/MessageArg.h:25:16: error: function ‘void append(MessageBuilder&)’ is initialized like a variable
   25 |   virtual void append(MessageBuilder &) const = 0;
      |                ^~~~~~
/usr/include/OpenSP/MessageArg.h:26:1: error: expected declaration before ‘}’ token
   26 | };
      | ^
/usr/include/OpenSP/MessageArg.h:28:31: error: expected initializer before ‘:’ token
   28 | class SP_API StringMessageArg : public MessageArg {
      |                               ^
/usr/include/OpenSP/MessageArg.h:37:31: error: expected initializer before ‘:’ token
   37 | class SP_API NumberMessageArg : public MessageArg {
      |                               ^
/usr/include/OpenSP/MessageArg.h:46:32: error: expected initializer before ‘:’ token
   46 | class SP_API OrdinalMessageArg : public MessageArg {
      |                                ^
/usr/include/OpenSP/MessageArg.h:55:30: error: expected initializer before ‘:’ token
   55 | class SP_API OtherMessageArg : public MessageArg {
      |                              ^
/usr/include/OpenSP/MessageArg.h:62:37: error: expected initializer before ‘:’ token
   62 | class SP_API StringVectorMessageArg : public MessageArg {
      |                                     ^
/usr/include/OpenSP/Message.h:33:14: error: variable ‘SP_API MessageFragment’ has initializer but incomplete type
   33 | class SP_API MessageFragment {
      |              ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:34:1: error: expected primary-expression before ‘public’
   34 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:34:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Message.h:33:30: note: to match this ‘{’
   33 | class SP_API MessageFragment {
      |                              ^
/usr/include/OpenSP/Message.h:34:1: error: expected ‘,’ or ‘;’ before ‘public’
   34 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:41:86: error: expected constructor, destructor, or type conversion before ‘;’ token
   41 |   MessageFragment(const MessageModule *module, unsigned number, const char *text = 0);
      |                                                                                      ^
/usr/include/OpenSP/Message.h:42:33: error: non-member function ‘const MessageModule* module()’ cannot have cv-qualifier
   42 |   const MessageModule *module() const;
      |                                 ^~~~~
/usr/include/OpenSP/Message.h:43:21: error: non-member function ‘unsigned int number()’ cannot have cv-qualifier
   43 |   unsigned number() const;
      |                     ^~~~~
/usr/include/OpenSP/Message.h:44:22: error: non-member function ‘const char* text()’ cannot have cv-qualifier
   44 |   const char *text() const;
      |                      ^~~~~
/usr/include/OpenSP/Message.h:45:1: error: expected unqualified-id before ‘private’
   45 | private:
      | ^~~~~~~
/usr/include/OpenSP/Message.h:48:1: error: expected unqualified-id before ‘protected’
   48 | protected:
      | ^~~~~~~~~
/usr/include/OpenSP/Message.h:50:1: error: expected unqualified-id before ‘private’
   50 | private:
      | ^~~~~~~
/usr/include/OpenSP/Message.h:54:1: error: expected declaration before ‘}’ token
   54 | };
      | ^
/usr/include/OpenSP/Message.h:56:26: error: expected initializer before ‘:’ token
   56 | class SP_API MessageType : public MessageFragment {
      |                          ^
/usr/include/OpenSP/Message.h:82:27: error: expected initializer before ‘:’ token
   82 | class SP_API MessageType0 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:90:27: error: expected initializer before ‘:’ token
   90 | class SP_API MessageType1 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:98:27: error: expected initializer before ‘:’ token
   98 | class SP_API MessageType2 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:106:27: error: expected initializer before ‘:’ token
  106 | class SP_API MessageType3 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:114:27: error: expected initializer before ‘:’ token
  114 | class SP_API MessageType4 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:122:27: error: expected initializer before ‘:’ token
  122 | class SP_API MessageType5 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:130:27: error: expected initializer before ‘:’ token
  130 | class SP_API MessageType6 : public MessageType {
      |                           ^
/usr/include/OpenSP/Message.h:138:28: error: expected initializer before ‘:’ token
  138 | class SP_API MessageType0L : public MessageType {
      |                            ^
/usr/include/OpenSP/Message.h:146:28: error: expected initializer before ‘:’ token
  146 | class SP_API MessageType1L : public MessageType {
      |                            ^
/usr/include/OpenSP/Message.h:154:14: error: variable ‘SP_API OpenElementInfo’ has initializer but incomplete type
  154 | class SP_API OpenElementInfo {
      |              ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:155:1: error: expected primary-expression before ‘public’
  155 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:155:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Message.h:154:30: note: to match this ‘{’
  154 | class SP_API OpenElementInfo {
      |                              ^
/usr/include/OpenSP/Message.h:155:1: error: expected ‘,’ or ‘;’ before ‘public’
  155 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:157:18: error: expected constructor, destructor, or type conversion before ‘(’ token
  157 |   OpenElementInfo(OpenElementInfo const&);
      |                  ^
/usr/include/OpenSP/Message.h:158:26: error: expected class-name before ‘(’ token
  158 |   inline ~OpenElementInfo() {};
      |                          ^
/usr/include/OpenSP/Message.h:163:1: error: expected declaration before ‘}’ token
  163 | };
      | ^
/usr/include/OpenSP/Message.h:165:14: error: variable ‘SP_API Message’ has initializer but incomplete type
  165 | class SP_API Message {
      |              ^~~~~~~
/usr/include/OpenSP/Message.h:166:1: error: expected primary-expression before ‘public’
  166 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:166:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Message.h:165:22: note: to match this ‘{’
  165 | class SP_API Message {
      |                      ^
/usr/include/OpenSP/Message.h:166:1: error: expected ‘,’ or ‘;’ before ‘public’
  166 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:168:21: error: expected constructor, destructor, or type conversion before ‘;’ token
  168 |   Message(int nArgs);
      |                     ^
/usr/include/OpenSP/Message.h:169:9: error: ‘MessageType’ does not name a type; did you mean ‘MessageModule’?
  169 |   const MessageType *type;
      |         ^~~~~~~~~~~
      |         MessageModule
/usr/include/OpenSP/Message.h:170:3: error: ‘Location’ does not name a type
  170 |   Location loc;
      |   ^~~~~~~~
/usr/include/OpenSP/Message.h:171:3: error: ‘Location’ does not name a type
  171 |   Location auxLoc;
      |   ^~~~~~~~
/usr/include/OpenSP/Message.h:172:32: error: template argument 1 is invalid
  172 |   Vector<CopyOwner<MessageArg> > args;
      |                                ^
/usr/include/OpenSP/Message.h:174:8: error: variable or field ‘swap’ declared void
  174 |   void swap(Message &);
      |        ^~~~
/usr/include/OpenSP/Message.h:174:22: error: expected primary-expression before ‘)’ token
  174 |   void swap(Message &);
      |                      ^
/usr/include/OpenSP/Message.h:175:21: error: non-member function ‘Boolean isError()’ cannot have cv-qualifier
  175 |   Boolean isError() const;
      |                     ^~~~~
/usr/include/OpenSP/Message.h:176:1: error: expected declaration before ‘}’ token
  176 | };
      | ^
/usr/include/OpenSP/Message.h:178:14: error: variable ‘SP_API Messenger’ has initializer but incomplete type
  178 | class SP_API Messenger {
      |              ^~~~~~~~~
/usr/include/OpenSP/Message.h:179:1: error: expected primary-expression before ‘public’
  179 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:179:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Message.h:178:24: note: to match this ‘{’
  178 | class SP_API Messenger {
      |                        ^
/usr/include/OpenSP/Message.h:179:1: error: expected ‘,’ or ‘;’ before ‘public’
  179 | public:
      | ^~~~~~
/usr/include/OpenSP/Message.h:181:21: error: expected class-name before ‘(’ token
  181 |   virtual ~Messenger();
      |                     ^
/usr/include/OpenSP/Message.h:182:22: error: ‘MessageType0’ does not name a type
  182 |   void message(const MessageType0 &);
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:183:22: error: ‘MessageType1’ does not name a type
  183 |   void message(const MessageType1 &, const MessageArg &);
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:183:44: error: ‘MessageArg’ does not name a type
  183 |   void message(const MessageType1 &, const MessageArg &);
      |                                            ^~~~~~~~~~
/usr/include/OpenSP/Message.h:184:22: error: ‘MessageType2’ does not name a type
  184 |   void message(const MessageType2 &,
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:185:22: error: ‘MessageArg’ does not name a type
  185 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:186:22: error: ‘MessageArg’ does not name a type
  186 |                const MessageArg &);
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:187:22: error: ‘MessageType3’ does not name a type
  187 |   void message(const MessageType3 &,
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:188:22: error: ‘MessageArg’ does not name a type
  188 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:189:22: error: ‘MessageArg’ does not name a type
  189 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:190:22: error: ‘MessageArg’ does not name a type
  190 |                const MessageArg &);
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:191:22: error: ‘MessageType4’ does not name a type
  191 |   void message(const MessageType4 &,
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:192:22: error: ‘MessageArg’ does not name a type
  192 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:193:22: error: ‘MessageArg’ does not name a type
  193 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:194:22: error: ‘MessageArg’ does not name a type
  194 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:195:22: error: ‘MessageArg’ does not name a type
  195 |                const MessageArg &);
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:196:22: error: ‘MessageType5’ does not name a type
  196 |   void message(const MessageType5 &,
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:197:22: error: ‘MessageArg’ does not name a type
  197 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:198:22: error: ‘MessageArg’ does not name a type
  198 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:199:22: error: ‘MessageArg’ does not name a type
  199 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:200:22: error: ‘MessageArg’ does not name a type
  200 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:201:22: error: ‘MessageArg’ does not name a type
  201 |                const MessageArg &);
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:202:22: error: ‘MessageType6’ does not name a type
  202 |   void message(const MessageType6 &,
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/Message.h:203:22: error: ‘MessageArg’ does not name a type
  203 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:204:22: error: ‘MessageArg’ does not name a type
  204 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:205:22: error: ‘MessageArg’ does not name a type
  205 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:206:22: error: ‘MessageArg’ does not name a type
  206 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:207:22: error: ‘MessageArg’ does not name a type
  207 |                const MessageArg &,
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:208:22: error: ‘MessageArg’ does not name a type
  208 |                const MessageArg &);
      |                      ^~~~~~~~~~
/usr/include/OpenSP/Message.h:209:22: error: ‘MessageType0L’ does not name a type
  209 |   void message(const MessageType0L &, const Location &);
      |                      ^~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:209:45: error: ‘Location’ does not name a type
  209 |   void message(const MessageType0L &, const Location &);
      |                                             ^~~~~~~~
/usr/include/OpenSP/Message.h:210:22: error: ‘MessageType1L’ does not name a type
  210 |   void message(const MessageType1L &, const MessageArg &, const Location &);
      |                      ^~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:210:45: error: ‘MessageArg’ does not name a type
  210 |   void message(const MessageType1L &, const MessageArg &, const Location &);
      |                                             ^~~~~~~~~~
/usr/include/OpenSP/Message.h:210:65: error: ‘Location’ does not name a type
  210 |   void message(const MessageType1L &, const MessageArg &, const Location &);
      |                                                                 ^~~~~~~~
/usr/include/OpenSP/Message.h:211:30: error: ‘Location’ does not name a type
  211 |   void setNextLocation(const Location &);
      |                              ^~~~~~~~
/usr/include/OpenSP/Message.h:212:3: error: ‘virtual’ outside class declaration
  212 |   virtual void initMessage(Message &);
      |   ^~~~~~~
/usr/include/OpenSP/Message.h:212:16: error: variable or field ‘initMessage’ declared void
  212 |   virtual void initMessage(Message &);
      |                ^~~~~~~~~~~
/usr/include/OpenSP/Message.h:212:37: error: expected primary-expression before ‘)’ token
  212 |   virtual void initMessage(Message &);
      |                                     ^
/usr/include/OpenSP/Message.h:213:38: error: ‘Message’ does not name a type
  213 |   virtual void dispatchMessage(const Message &) = 0;
      |                                      ^~~~~~~
/usr/include/OpenSP/Message.h:213:3: error: ‘virtual’ outside class declaration
  213 |   virtual void dispatchMessage(const Message &) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/Message.h:213:16: error: function ‘void dispatchMessage(const int&)’ is initialized like a variable
  213 |   virtual void dispatchMessage(const Message &) = 0;
      |                ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:214:3: error: ‘virtual’ outside class declaration
  214 |   virtual void dispatchMessage(Message &);
      |   ^~~~~~~
/usr/include/OpenSP/Message.h:214:16: error: variable or field ‘dispatchMessage’ declared void
  214 |   virtual void dispatchMessage(Message &);
      |                ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:214:41: error: expected primary-expression before ‘)’ token
  214 |   virtual void dispatchMessage(Message &);
      |                                         ^
/usr/include/OpenSP/Message.h:215:1: error: expected unqualified-id before ‘private’
  215 | private:
      | ^~~~~~~
/usr/include/OpenSP/Message.h:218:3: error: ‘Location’ does not name a type
  218 |   Location nextLocation_;
      |   ^~~~~~~~
/usr/include/OpenSP/Message.h:219:1: error: expected declaration before ‘}’ token
  219 | };
      | ^
/usr/include/OpenSP/Message.h:221:34: error: expected initializer before ‘:’ token
  221 | class SP_API ForwardingMessenger : public Messenger {
      |                                  ^
/usr/include/OpenSP/Message.h:231:38: error: expected initializer before ‘:’ token
  231 | class SP_API ParentLocationMessenger : public ForwardingMessenger {
      |                                      ^
/usr/include/OpenSP/Message.h:237:28: error: expected initializer before ‘:’ token
  237 | class SP_API NullMessenger : public Messenger {
      |                            ^
/usr/include/OpenSP/Message.h:244:22: error: ‘MessageFragment’ is not a class, namespace, or enumeration
  244 | const MessageModule *MessageFragment::module() const
      |                      ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:244:48: error: non-member function ‘const MessageModule* module()’ cannot have cv-qualifier
  244 | const MessageModule *MessageFragment::module() const
      |                                                ^~~~~
/usr/include/OpenSP/Message.h:250:10: error: ‘MessageFragment’ is not a class, namespace, or enumeration
  250 | unsigned MessageFragment::number() const
      |          ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:250:36: error: non-member function ‘unsigned int number()’ cannot have cv-qualifier
  250 | unsigned MessageFragment::number() const
      |                                    ^~~~~
/usr/include/OpenSP/Message.h: In function ‘unsigned int number()’:
/usr/include/OpenSP/Message.h:252:10: error: ‘number_’ was not declared in this scope; did you mean ‘number’?
  252 |   return number_;
      |          ^~~~~~~
      |          number
/usr/include/OpenSP/Message.h: At global scope:
/usr/include/OpenSP/Message.h:256:13: error: ‘MessageFragment’ is not a class, namespace, or enumeration
  256 | const char *MessageFragment::text() const
      |             ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:256:37: error: non-member function ‘const char* text()’ cannot have cv-qualifier
  256 | const char *MessageFragment::text() const
      |                                     ^~~~~
/usr/include/OpenSP/Message.h: In function ‘const char* text()’:
/usr/include/OpenSP/Message.h:261:10: error: ‘text_’ was not declared in this scope; did you mean ‘text’?
  261 |   return text_;
      |          ^~~~~
      |          text
/usr/include/OpenSP/Message.h: At global scope:
/usr/include/OpenSP/Message.h:266:1: error: ‘MessageType’ does not name a type; did you mean ‘MessageModule’?
  266 | MessageType::Severity MessageType::severity() const
      | ^~~~~~~~~~~
      | MessageModule
/usr/include/OpenSP/Message.h:272:1: error: ‘MessageFragment’ does not name a type
  272 | MessageFragment MessageType::auxFragment() const
      | ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Message.h:285:9: error: ‘MessageType’ has not been declared
  285 | Boolean MessageType::isError() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/Message.h:285:32: error: non-member function ‘Boolean isError()’ cannot have cv-qualifier
  285 | Boolean MessageType::isError() const
      |                                ^~~~~
/usr/include/OpenSP/Message.h: In function ‘Boolean isError()’:
/usr/include/OpenSP/Message.h:287:10: error: ‘severity’ was not declared in this scope
  287 |   return severity() != info && severity() != warning;
      |          ^~~~~~~~
/usr/include/OpenSP/Message.h:287:24: error: ‘info’ was not declared in this scope
  287 |   return severity() != info && severity() != warning;
      |                        ^~~~
/usr/include/OpenSP/Message.h:287:46: error: ‘warning’ was not declared in this scope
  287 |   return severity() != info && severity() != warning;
      |                                              ^~~~~~~
/usr/include/OpenSP/Message.h: At global scope:
/usr/include/OpenSP/Message.h:291:13: error: ‘MessageType’ has not been declared
  291 | const char *MessageType::clauses() const
      |             ^~~~~~~~~~~
/usr/include/OpenSP/Message.h:291:36: error: non-member function ‘const char* clauses()’ cannot have cv-qualifier
  291 | const char *MessageType::clauses() const
      |                                    ^~~~~
/usr/include/OpenSP/Message.h: In function ‘const char* clauses()’:
/usr/include/OpenSP/Message.h:296:10: error: ‘clauses_’ was not declared in this scope; did you mean ‘clauses’?
  296 |   return clauses_;
      |          ^~~~~~~~
      |          clauses
/usr/include/OpenSP/Message.h: At global scope:
/usr/include/OpenSP/Message.h:301:9: error: ‘Message’ is not a class, namespace, or enumeration
  301 | Boolean Message::isError() const
      |         ^~~~~~~
/usr/include/OpenSP/Message.h:301:28: error: non-member function ‘Boolean isError()’ cannot have cv-qualifier
  301 | Boolean Message::isError() const
      |                            ^~~~~
/usr/include/OpenSP/Message.h:301:9: error: redefinition of ‘Boolean isError()’
  301 | Boolean Message::isError() const
      |         ^~~~~~~
/usr/include/OpenSP/Message.h:285:9: note: ‘Boolean isError()’ previously defined here
  285 | Boolean MessageType::isError() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/Message.h: In function ‘Boolean isError()’:
/usr/include/OpenSP/Message.h:303:14: error: base operand of ‘->’ is not a pointer
  303 |   return type->isError();
      |              ^~
/usr/include/OpenSP/ExternalId.h: At global scope:
/usr/include/OpenSP/ExternalId.h:22:14: error: variable ‘SP_API PublicId’ has initializer but incomplete type
   22 | class SP_API PublicId {
      |              ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:23:1: error: expected primary-expression before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/ExternalId.h:23:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ExternalId.h:22:23: note: to match this ‘{’
   22 | class SP_API PublicId {
      |                       ^
/usr/include/OpenSP/ExternalId.h:23:1: error: expected ‘,’ or ‘;’ before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/ExternalId.h:50:13: error: expected constructor, destructor, or type conversion before ‘;’ token
   50 |   PublicId();
      |             ^
/usr/include/OpenSP/ExternalId.h:52:37: error: non-member function ‘Boolean getOwnerType(OwnerType&)’ cannot have cv-qualifier
   52 |   Boolean getOwnerType(OwnerType &) const;
      |                                     ^~~~~
/usr/include/OpenSP/ExternalId.h:53:31: error: non-member function ‘Boolean getOwner(StringC&)’ cannot have cv-qualifier
   53 |   Boolean getOwner(StringC &) const;
      |                               ^~~~~
/usr/include/OpenSP/ExternalId.h:54:37: error: non-member function ‘Boolean getTextClass(TextClass&)’ cannot have cv-qualifier
   54 |   Boolean getTextClass(TextClass &) const;
      |                                     ^~~~~
/usr/include/OpenSP/ExternalId.h:55:37: error: non-member function ‘Boolean getUnavailable(Boolean&)’ cannot have cv-qualifier
   55 |   Boolean getUnavailable(Boolean &) const;
      |                                     ^~~~~
/usr/include/OpenSP/ExternalId.h:56:37: error: non-member function ‘Boolean getDescription(StringC&)’ cannot have cv-qualifier
   56 |   Boolean getDescription(StringC &) const;
      |                                     ^~~~~
/usr/include/OpenSP/ExternalId.h:57:34: error: non-member function ‘Boolean getLanguage(StringC&)’ cannot have cv-qualifier
   57 |   Boolean getLanguage(StringC &) const;
      |                                  ^~~~~
/usr/include/OpenSP/ExternalId.h:58:45: error: non-member function ‘Boolean getDesignatingSequence(StringC&)’ cannot have cv-qualifier
   58 |   Boolean getDesignatingSequence(StringC &) const;
      |                                             ^~~~~
/usr/include/OpenSP/ExternalId.h:59:40: error: non-member function ‘Boolean getDisplayVersion(StringC&)’ cannot have cv-qualifier
   59 |   Boolean getDisplayVersion(StringC &) const;
      |                                        ^~~~~
/usr/include/OpenSP/ExternalId.h:61:45: error: non-member function ‘Boolean getNamespaceIdentifier(StringC&)’ cannot have cv-qualifier
   61 |   Boolean getNamespaceIdentifier(StringC &) const;
      |                                             ^~~~~
/usr/include/OpenSP/ExternalId.h:62:49: error: non-member function ‘Boolean getNamespaceSpecificString(StringC&)’ cannot have cv-qualifier
   62 |   Boolean getNamespaceSpecificString(StringC &) const;
      |                                                 ^~~~~
/usr/include/OpenSP/ExternalId.h:66:19: error: expected primary-expression before ‘,’ token
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |                   ^
/usr/include/OpenSP/ExternalId.h:66:21: error: expected primary-expression before ‘const’
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |                     ^~~~~
/usr/include/OpenSP/ExternalId.h:66:47: error: expected primary-expression before ‘space’
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |                                               ^~~~~
/usr/include/OpenSP/ExternalId.h:67:16: error: expected primary-expression before ‘const’
   67 |                const MessageType1 *&fpierror,
      |                ^~~~~
/usr/include/OpenSP/ExternalId.h:68:16: error: expected primary-expression before ‘const’
   68 |                const MessageType1 *&urnerror);
      |                ^~~~~
/usr/include/OpenSP/ExternalId.h:69:27: error: non-member function ‘const StringC& string()’ cannot have cv-qualifier
   69 |   const StringC &string() const;
      |                           ^~~~~
/usr/include/OpenSP/ExternalId.h:70:9: error: ‘Text’ does not name a type
   70 |   const Text &text() const;
      |         ^~~~
/usr/include/OpenSP/ExternalId.h:71:21: error: non-member function ‘const Type type()’ cannot have cv-qualifier
   71 |   const Type type() const { return type_; }
      |                     ^~~~~
/usr/include/OpenSP/ExternalId.h:71:21: error: ‘const Type type()’ redeclared as different kind of entity
/usr/include/OpenSP/Text.h:37:8: note: previous declaration ‘Type type’
   37 |   Type type;
      |        ^~~~
/usr/include/OpenSP/ExternalId.h: In function ‘const Type type()’:
/usr/include/OpenSP/ExternalId.h:71:36: error: ‘type_’ was not declared in this scope; did you mean ‘type’?
   71 |   const Type type() const { return type_; }
      |                                    ^~~~~
      |                                    type
/usr/include/OpenSP/ExternalId.h: At global scope:
/usr/include/OpenSP/ExternalId.h:72:1: error: expected unqualified-id before ‘private’
   72 | private:
      | ^~~~~~~
/usr/include/OpenSP/ExternalId.h:76:22: error: ‘MessageType1’ does not name a type
   76 |                const MessageType1 *&);
      |                      ^~~~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:85:28: error: storage size of ‘textClasses’ isn’t known
   85 |   static const char *const textClasses[];
      |                            ^~~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:96:3: error: ‘Text’ does not name a type
   96 |   Text text_;
      |   ^~~~
/usr/include/OpenSP/ExternalId.h:99:1: error: expected declaration before ‘}’ token
   99 | };
      | ^
/usr/include/OpenSP/ExternalId.h:101:14: error: variable ‘SP_API ExternalId’ has initializer but incomplete type
  101 | class SP_API ExternalId {
      |              ^~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:102:1: error: expected primary-expression before ‘public’
  102 | public:
      | ^~~~~~
/usr/include/OpenSP/ExternalId.h:102:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ExternalId.h:101:25: note: to match this ‘{’
  101 | class SP_API ExternalId {
      |                         ^
/usr/include/OpenSP/ExternalId.h:102:1: error: expected ‘,’ or ‘;’ before ‘public’
  102 | public:
      | ^~~~~~
/usr/include/OpenSP/ExternalId.h:104:35: error: non-member function ‘const StringC* systemIdString()’ cannot have cv-qualifier
  104 |   const StringC *systemIdString() const;
      |                                   ^~~~~
/usr/include/OpenSP/ExternalId.h:105:35: error: non-member function ‘const StringC* publicIdString()’ cannot have cv-qualifier
  105 |   const StringC *publicIdString() const;
      |                                   ^~~~~
/usr/include/OpenSP/ExternalId.h:106:38: error: non-member function ‘const StringC& effectiveSystemId()’ cannot have cv-qualifier
  106 |   const StringC &effectiveSystemId() const;
      |                                      ^~~~~
/usr/include/OpenSP/ExternalId.h:107:9: error: ‘Text’ does not name a type
  107 |   const Text *systemIdText() const;
      |         ^~~~
/usr/include/OpenSP/ExternalId.h:108:9: error: ‘Text’ does not name a type
  108 |   const Text *publicIdText() const;
      |         ^~~~
/usr/include/OpenSP/ExternalId.h:109:9: error: ‘PublicId’ does not name a type
  109 |   const PublicId *publicId() const;
      |         ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:110:8: error: variable or field ‘setSystem’ declared void
  110 |   void setSystem(Text &);
      |        ^~~~~~~~~
/usr/include/OpenSP/ExternalId.h:110:24: error: expected primary-expression before ‘)’ token
  110 |   void setSystem(Text &);
      |                        ^
/usr/include/OpenSP/ExternalId.h:115:3: error: ‘PublicId’ does not name a type
  115 |   PublicId::Type setPublic(Text &, const CharsetInfo &, Char space,
      |   ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:118:26: error: ‘Location’ does not name a type
  118 |   void setLocation(const Location &);
      |                          ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:120:9: error: ‘Location’ does not name a type
  120 |   const Location &location() const;
      |         ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:121:1: error: expected unqualified-id before ‘private’
  121 | private:
      | ^~~~~~~
/usr/include/OpenSP/ExternalId.h:124:3: error: ‘Text’ does not name a type
  124 |   Text system_;
      |   ^~~~
/usr/include/OpenSP/ExternalId.h:125:3: error: ‘PublicId’ does not name a type
  125 |   PublicId public_;
      |   ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:126:3: error: ‘Location’ does not name a type
  126 |   Location loc_;
      |   ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:128:1: error: expected declaration before ‘}’ token
  128 | };
      | ^
/usr/include/OpenSP/ExternalId.h:131:16: error: ‘PublicId’ is not a class, namespace, or enumeration
  131 | const StringC &PublicId::string() const
      |                ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:131:35: error: non-member function ‘const StringC& string()’ cannot have cv-qualifier
  131 | const StringC &PublicId::string() const
      |                                   ^~~~~
/usr/include/OpenSP/ExternalId.h: In function ‘const StringC& string()’:
/usr/include/OpenSP/ExternalId.h:133:10: error: ‘text_’ was not declared in this scope; did you mean ‘text’?
  133 |   return text_.string();
      |          ^~~~~
      |          text
/usr/include/OpenSP/ExternalId.h: At global scope:
/usr/include/OpenSP/ExternalId.h:137:7: error: ‘Text’ does not name a type
  137 | const Text &PublicId::text() const
      |       ^~~~
/usr/include/OpenSP/ExternalId.h:143:16: error: ‘ExternalId’ is not a class, namespace, or enumeration
  143 | const StringC *ExternalId::systemIdString() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:143:45: error: non-member function ‘const StringC* systemIdString()’ cannot have cv-qualifier
  143 | const StringC *ExternalId::systemIdString() const
      |                                             ^~~~~
/usr/include/OpenSP/ExternalId.h: In function ‘const StringC* systemIdString()’:
/usr/include/OpenSP/ExternalId.h:145:10: error: ‘haveSystem_’ was not declared in this scope
  145 |   return haveSystem_ ? &system_.string() : 0;
      |          ^~~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:145:25: error: ‘system_’ was not declared in this scope; did you mean ‘system’?
  145 |   return haveSystem_ ? &system_.string() : 0;
      |                         ^~~~~~~
      |                         system
/usr/include/OpenSP/ExternalId.h: At global scope:
/usr/include/OpenSP/ExternalId.h:149:16: error: ‘ExternalId’ is not a class, namespace, or enumeration
  149 | const StringC *ExternalId::publicIdString() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:149:45: error: non-member function ‘const StringC* publicIdString()’ cannot have cv-qualifier
  149 | const StringC *ExternalId::publicIdString() const
      |                                             ^~~~~
/usr/include/OpenSP/ExternalId.h: In function ‘const StringC* publicIdString()’:
/usr/include/OpenSP/ExternalId.h:151:25: error: ‘public_’ was not declared in this scope
  151 |   return havePublic_ ? &public_.string() : 0;
      |                         ^~~~~~~
/usr/include/OpenSP/ExternalId.h: At global scope:
/usr/include/OpenSP/ExternalId.h:155:7: error: ‘Text’ does not name a type
  155 | const Text *ExternalId::systemIdText() const
      |       ^~~~
/usr/include/OpenSP/ExternalId.h:161:7: error: ‘Text’ does not name a type
  161 | const Text *ExternalId::publicIdText() const
      |       ^~~~
/usr/include/OpenSP/ExternalId.h:167:7: error: ‘PublicId’ does not name a type
  167 | const PublicId *ExternalId::publicId() const
      |       ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:173:7: error: ‘Location’ does not name a type
  173 | const Location &ExternalId::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/ExternalId.h:179:16: error: ‘ExternalId’ is not a class, namespace, or enumeration
  179 | const StringC &ExternalId::effectiveSystemId() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/ExternalId.h:179:48: error: non-member function ‘const StringC& effectiveSystemId()’ cannot have cv-qualifier
  179 | const StringC &ExternalId::effectiveSystemId() const
      |                                                ^~~~~
/usr/include/OpenSP/ExternalId.h:185:6: error: ‘ExternalId’ is not a class, namespace, or enumeration
  185 | void ExternalId::setEffectiveSystem(StringC &str)
      |      ^~~~~~~~~~
In file included from /usr/include/OpenSP/Attributed.h:8,
                 from /usr/include/OpenSP/Notation.h:17:
/usr/include/OpenSP/Attribute.h:34:30: error: expected initializer before ‘:’ token
   34 |  class SP_API AttributeValue : public Resource {
      |                              ^
/usr/include/OpenSP/Attribute.h:55:14: error: variable ‘SP_API AttributeDefinitionDesc’ has initializer but incomplete type
   55 | class SP_API AttributeDefinitionDesc {
      |              ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:56:1: error: expected primary-expression before ‘public’
   56 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:56:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Attribute.h:55:38: note: to match this ‘{’
   55 | class SP_API AttributeDefinitionDesc {
      |                                      ^
/usr/include/OpenSP/Attribute.h:56:1: error: expected ‘,’ or ‘;’ before ‘public’
   56 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:58:8: error: ‘DeclaredValue’ referred to as enum
   58 |   enum DeclaredValue {
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:27:7: note: ‘DeclaredValue’ has a previous declaration here
   27 | class DeclaredValue;
      |       ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:59:5: error: ‘cdata’ conflicts with a previous declaration
   59 |     cdata,
      |     ^~~~~
/usr/include/OpenSP/Text.h:27:5: note: previous declaration ‘Type cdata’
   27 |     cdata,
      |     ^~~~~
/usr/include/OpenSP/Attribute.h:60:5: error: ‘name’ redeclared as different kind of entity
   60 |     name,
      |     ^~~~
/usr/include/OpenSP/Named.h:17:18: note: previous declaration ‘const StringC& name()’
   17 |   const StringC &name() const { return name_; }
      |                  ^~~~
/usr/include/OpenSP/Attribute.h:61:5: error: ‘number’ redeclared as different kind of entity
   61 |     number,
      |     ^~~~~~
/usr/include/OpenSP/Message.h:250:10: note: previous declaration ‘unsigned int number()’
  250 | unsigned MessageFragment::number() const
      |          ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:76:17: error: aggregate ‘DeclaredValue declaredValue’ has incomplete type and cannot be defined
   76 |   DeclaredValue declaredValue;
      |                 ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:92:1: error: expected unqualified-id before ‘private’
   92 | private:
      | ^~~~~~~
/usr/include/OpenSP/Attribute.h:94:24: error: ‘AttributeDefinitionDesc’ does not name a type
   94 |   void operator=(const AttributeDefinitionDesc &);          // undefined
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:94:8: error: ‘void operator=(const int&)’ must be a non-static member function
   94 |   void operator=(const AttributeDefinitionDesc &);          // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/Attribute.h:95:1: error: expected declaration before ‘}’ token
   95 | };
      | ^
/usr/include/OpenSP/Attribute.h:102:37: error: ‘Text’ is not a type
  102 |   virtual AttributeValue *makeValue(Text &, AttributeContext &,
      |                                     ^~~~
/usr/include/OpenSP/Attribute.h:107:46: error: ‘Text’ is not a type
  107 |   virtual AttributeValue *makeValueFromToken(Text &,
      |                                              ^~~~
/usr/include/OpenSP/Attribute.h:125:26: error: ‘AttributeDefinitionDesc’ is not a type
  125 |   virtual void buildDesc(AttributeDefinitionDesc &) const = 0;
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:133:29: error: ‘Text’ is not a type
  133 |   AttributeValue *makeValue(Text &, AttributeContext &, const StringC &,
      |                             ^~~~
/usr/include/OpenSP/Attribute.h:135:18: error: ‘AttributeDefinitionDesc’ is not a type
  135 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:138:30: error: ‘Text’ is not a type
  138 |   void checkNormalizedLength(Text &, AttributeContext &, unsigned &) const;
      |                              ^~~~
/usr/include/OpenSP/Attribute.h:153:29: error: ‘Text’ is not a type
  153 |   AttributeValue *makeValue(Text &, AttributeContext &, const StringC &,
      |                             ^~~~
/usr/include/OpenSP/Attribute.h:155:47: error: ‘Text’ is not a type
  155 |   TokenizedAttributeValue *makeTokenizedValue(Text &, AttributeContext &,
      |                                               ^~~~
/usr/include/OpenSP/Attribute.h:158:18: error: ‘AttributeDefinitionDesc’ is not a type
  158 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:171:29: error: ‘Text’ is not a type
  171 |   AttributeValue *makeValue(Text &, AttributeContext &, const StringC &,
      |                             ^~~~
/usr/include/OpenSP/Attribute.h:173:38: error: ‘Text’ is not a type
  173 |   AttributeValue *makeValueFromToken(Text &,
      |                                      ^~~~
/usr/include/OpenSP/Attribute.h:179:18: error: ‘AttributeDefinitionDesc’ is not a type
  179 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:191:18: error: ‘AttributeDefinitionDesc’ is not a type
  191 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:204:18: error: ‘AttributeDefinitionDesc’ is not a type
  204 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:229:18: error: ‘AttributeDefinitionDesc’ is not a type
  229 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:242:18: error: ‘AttributeDefinitionDesc’ is not a type
  242 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:246:14: error: variable ‘SP_API AttributeDefinition’ has initializer but incomplete type
  246 | class SP_API AttributeDefinition {
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:247:1: error: expected primary-expression before ‘public’
  247 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:247:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Attribute.h:246:34: note: to match this ‘{’
  246 | class SP_API AttributeDefinition {
      |                                  ^
/usr/include/OpenSP/Attribute.h:247:1: error: expected ‘,’ or ‘;’ before ‘public’
  247 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:249:31: error: expected class-name before ‘(’ token
  249 |   virtual ~AttributeDefinition();
      |                               ^
/usr/include/OpenSP/Attribute.h:250:3: error: ‘virtual’ outside class declaration
  250 |   virtual ConstPtr<AttributeValue>
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:251:42: error: non-member function ‘ConstPtr<AttributeValue> makeMissingValue(AttributeContext&)’ cannot have cv-qualifier
  251 |     makeMissingValue(AttributeContext &) const = 0;
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:251:5: error: function ‘ConstPtr<AttributeValue> makeMissingValue(AttributeContext&)’ is initialized like a variable
  251 |     makeMissingValue(AttributeContext &) const = 0;
      |     ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:252:48: error: ‘Text’ does not name a type
  252 |   virtual Boolean missingValueWouldMatch(const Text &,
      |                                                ^~~~
/usr/include/OpenSP/Attribute.h:252:3: error: ‘virtual’ outside class declaration
  252 |   virtual Boolean missingValueWouldMatch(const Text &,
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:253:68: error: non-member function ‘Boolean missingValueWouldMatch(const int&, const AttributeContext&)’ cannot have cv-qualifier
  253 |                                          const AttributeContext &) const;
      |                                                                    ^~~~~
/usr/include/OpenSP/Attribute.h:254:3: error: ‘virtual’ outside class declaration
  254 |   virtual const AttributeValue *
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:255:54: error: non-member function ‘const AttributeValue* defaultValue(const AttributeValue*)’ cannot have cv-qualifier
  255 |     defaultValue(const AttributeValue *impliedValue) const;
      |                                                      ^~~~~
/usr/include/OpenSP/Attribute.h:255:54: error: ‘const AttributeValue* defaultValue(const AttributeValue*)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:86:28: note: previous declaration ‘ConstPtr<AttributeValue> defaultValue’
   86 |   ConstPtr<AttributeValue> defaultValue;
      |                            ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:256:35: error: expected primary-expression before ‘,’ token
  256 |   AttributeValue *makeValue(Text &, AttributeContext &, unsigned &) const;
      |                                   ^
/usr/include/OpenSP/Attribute.h:256:54: error: expected primary-expression before ‘&’ token
  256 |   AttributeValue *makeValue(Text &, AttributeContext &, unsigned &) const;
      |                                                      ^
/usr/include/OpenSP/Attribute.h:256:55: error: expected primary-expression before ‘,’ token
  256 |   AttributeValue *makeValue(Text &, AttributeContext &, unsigned &) const;
      |                                                       ^
/usr/include/OpenSP/Attribute.h:256:57: error: expected primary-expression before ‘unsigned’
  256 |   AttributeValue *makeValue(Text &, AttributeContext &, unsigned &) const;
      |                                                         ^~~~~~~~
/usr/include/OpenSP/Attribute.h:257:44: error: expected primary-expression before ‘,’ token
  257 |   AttributeValue *makeValueFromToken(Text &,
      |                                            ^
/usr/include/OpenSP/Attribute.h:258:55: error: expected primary-expression before ‘&’ token
  258 |                                      AttributeContext &,
      |                                                       ^
/usr/include/OpenSP/Attribute.h:258:56: error: expected primary-expression before ‘,’ token
  258 |                                      AttributeContext &,
      |                                                        ^
/usr/include/OpenSP/Attribute.h:259:38: error: expected primary-expression before ‘unsigned’
  259 |                                      unsigned &) const;
      |                                      ^~~~~~~~
/usr/include/OpenSP/Attribute.h:261:3: error: ‘virtual’ outside class declaration
  261 |   virtual Boolean isConref() const;
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:261:30: error: non-member function ‘Boolean isConref()’ cannot have cv-qualifier
  261 |   virtual Boolean isConref() const;
      |                              ^~~~~
/usr/include/OpenSP/Attribute.h:262:3: error: ‘virtual’ outside class declaration
  262 |   virtual Boolean isCurrent() const;
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:262:31: error: non-member function ‘Boolean isCurrent()’ cannot have cv-qualifier
  262 |   virtual Boolean isCurrent() const;
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h:263:3: error: ‘virtual’ outside class declaration
  263 |   virtual Boolean isFixed() const;
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:263:29: error: non-member function ‘Boolean isFixed()’ cannot have cv-qualifier
  263 |   virtual Boolean isFixed() const;
      |                             ^~~~~
/usr/include/OpenSP/Attribute.h:267:61: error: non-member function ‘AttributeSemantics* makeSemantics(const AttributeValue*, AttributeContext&, unsigned int&, unsigned int&)’ cannot have cv-qualifier
  267 |                                     unsigned &nEntityNames) const;
      |                                                             ^~~~~
/usr/include/OpenSP/Attribute.h:268:23: error: non-member function ‘Boolean tokenized()’ cannot have cv-qualifier
  268 |   Boolean tokenized() const;
      |                       ^~~~~
/usr/include/OpenSP/Attribute.h:269:25: error: non-member function ‘const StringC& name()’ cannot have cv-qualifier
  269 |   const StringC &name() const;
      |                         ^~~~~
/usr/include/OpenSP/Attribute.h:270:29: error: non-member function ‘const StringC& origName()’ cannot have cv-qualifier
  270 |   const StringC &origName() const;
      |                             ^~~~~
/usr/include/OpenSP/Attribute.h:271:42: error: non-member function ‘Boolean containsToken(const StringC&)’ cannot have cv-qualifier
  271 |   Boolean containsToken(const StringC &) const;
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:272:24: error: non-member function ‘Boolean isNotation()’ cannot have cv-qualifier
  272 |   Boolean isNotation() const;
      |                        ^~~~~
/usr/include/OpenSP/Attribute.h:273:22: error: non-member function ‘Boolean isEntity()’ cannot have cv-qualifier
  273 |   Boolean isEntity() const;
      |                      ^~~~~
/usr/include/OpenSP/Attribute.h:274:18: error: non-member function ‘Boolean isId()’ cannot have cv-qualifier
  274 |   Boolean isId() const;
      |                  ^~~~~
/usr/include/OpenSP/Attribute.h:275:21: error: non-member function ‘Boolean isIdref()’ cannot have cv-qualifier
  275 |   Boolean isIdref() const;
      |                     ^~~~~
/usr/include/OpenSP/Attribute.h:276:8: error: variable or field ‘getDesc’ declared void
  276 |   void getDesc(AttributeDefinitionDesc &) const;
      |        ^~~~~~~
/usr/include/OpenSP/Attribute.h:276:41: error: expected primary-expression before ‘)’ token
  276 |   void getDesc(AttributeDefinitionDesc &) const;
      |                                         ^
/usr/include/OpenSP/Attribute.h:277:38: error: non-member function ‘const Vector<String<unsigned char> >* getTokens()’ cannot have cv-qualifier
  277 |   const Vector<StringC> *getTokens() const;
      |                                      ^~~~~
/usr/include/OpenSP/Attribute.h:278:42: error: non-member function ‘const Vector<String<unsigned char> >* getOrigTokens()’ cannot have cv-qualifier
  278 |   const Vector<StringC> *getOrigTokens() const;
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:279:11: error: ‘AttributeDefinition’ does not name a type; did you mean ‘AttributeSemantics’?
  279 |   virtual AttributeDefinition *copy() const = 0;
      |           ^~~~~~~~~~~~~~~~~~~
      |           AttributeSemantics
/usr/include/OpenSP/Attribute.h:284:1: error: expected unqualified-id before ‘private’
  284 | private:
      | ^~~~~~~
/usr/include/OpenSP/Attribute.h:286:3: error: ‘virtual’ outside class declaration
  286 |   virtual AttributeValue *checkValue(AttributeValue *, AttributeContext &) const;
      |   ^~~~~~~
/usr/include/OpenSP/Attribute.h:286:76: error: non-member function ‘AttributeValue* checkValue(AttributeValue*, AttributeContext&)’ cannot have cv-qualifier
  286 |   virtual AttributeValue *checkValue(AttributeValue *, AttributeContext &) const;
      |                                                                            ^~~~~
/usr/include/OpenSP/Attribute.h:290:11: error: redefinition of ‘StringC origName_’
  290 |   StringC origName_;
      |           ^~~~~~~~~
/usr/include/OpenSP/Location.h:121:11: note: ‘StringC origName_’ previously declared here
  121 |   StringC origName_;
      |           ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:292:1: error: expected declaration before ‘}’ token
  292 | };
      | ^
/usr/include/OpenSP/Attribute.h:294:64: error: expected class-name before ‘{’ token
  294 | class RequiredAttributeDefinition : public AttributeDefinition {
      |                                                                ^
/usr/include/OpenSP/Attribute.h:298:18: error: ‘AttributeDefinitionDesc’ is not a type
  298 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:299:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘AttributeSemantics’?
  299 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   AttributeSemantics
/usr/include/OpenSP/Attribute.h:302:63: error: expected class-name before ‘{’ token
  302 | class CurrentAttributeDefinition : public AttributeDefinition {
      |                                                               ^
/usr/include/OpenSP/Attribute.h:306:40: error: ‘Text’ does not name a type
  306 |   Boolean missingValueWouldMatch(const Text &, const AttributeContext &) const;
      |                                        ^~~~
/usr/include/OpenSP/Attribute.h:308:18: error: ‘AttributeDefinitionDesc’ is not a type
  308 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:310:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘AttributeSemantics’?
  310 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   AttributeSemantics
/usr/include/OpenSP/Attribute.h:315:63: error: expected class-name before ‘{’ token
  315 | class ImpliedAttributeDefinition : public AttributeDefinition {
      |                                                               ^
/usr/include/OpenSP/Attribute.h:320:18: error: ‘AttributeDefinitionDesc’ is not a type
  320 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:321:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘AttributeSemantics’?
  321 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   AttributeSemantics
/usr/include/OpenSP/Attribute.h:328:18: error: ‘AttributeDefinitionDesc’ is not a type
  328 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:329:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘ConrefAttributeDefinition’?
  329 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   ConrefAttributeDefinition
/usr/include/OpenSP/Attribute.h:332:63: error: expected class-name before ‘{’ token
  332 | class DefaultAttributeDefinition : public AttributeDefinition {
      |                                                               ^
/usr/include/OpenSP/Attribute.h:337:40: error: ‘Text’ does not name a type
  337 |   Boolean missingValueWouldMatch(const Text &, const AttributeContext &) const;
      |                                        ^~~~
/usr/include/OpenSP/Attribute.h:338:18: error: ‘AttributeDefinitionDesc’ is not a type
  338 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:339:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘ConrefAttributeDefinition’?
  339 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   ConrefAttributeDefinition
/usr/include/OpenSP/Attribute.h:351:18: error: ‘AttributeDefinitionDesc’ is not a type
  351 |   void buildDesc(AttributeDefinitionDesc &) const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:353:3: error: ‘AttributeDefinition’ does not name a type; did you mean ‘FixedAttributeDefinition’?
  353 |   AttributeDefinition *copy() const;
      |   ^~~~~~~~~~~~~~~~~~~
      |   FixedAttributeDefinition
/usr/include/OpenSP/Attribute.h:356:38: error: expected initializer before ‘:’ token
  356 | class SP_API AttributeDefinitionList : public Resource {
      |                                      ^
/usr/include/OpenSP/Attribute.h:415:36: error: expected initializer before ‘:’ token
  415 | class SP_API ImpliedAttributeValue : public AttributeValue {
      |                                    ^
/usr/include/OpenSP/Attribute.h:421:36: error: invalid use of incomplete type ‘class AttributeValue’
  421 | class CdataAttributeValue : public AttributeValue {
      |                                    ^~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:28:7: note: forward declaration of ‘class AttributeValue’
   28 | class AttributeValue;
      |       ^~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:423:27: error: expected ‘)’ before ‘&’ token
  423 |   CdataAttributeValue(Text &);
      |                      ~    ^~
      |                           )
/usr/include/OpenSP/Attribute.h:424:19: error: ‘Text’ does not name a type
  424 |   Type info(const Text *&, const StringC *&) const;
      |                   ^~~~
/usr/include/OpenSP/Attribute.h:425:9: error: ‘Text’ does not name a type
  425 |   const Text *text() const;
      |         ^~~~
/usr/include/OpenSP/Attribute.h:426:50: error: ‘Location’ does not name a type
  426 |   Boolean recoverUnquoted(const StringC &, const Location &,
      |                                                  ^~~~~~~~
/usr/include/OpenSP/Attribute.h:430:3: error: ‘Text’ does not name a type
  430 |   Text text_;
      |   ^~~~
/usr/include/OpenSP/Attribute.h:434:40: error: invalid use of incomplete type ‘class AttributeValue’
  434 | class TokenizedAttributeValue : public AttributeValue {
      |                                        ^~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:28:7: note: forward declaration of ‘class AttributeValue’
   28 | class AttributeValue;
      |       ^~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:436:31: error: expected ‘)’ before ‘&’ token
  436 |   TokenizedAttributeValue(Text &, const Vector<size_t> &);
      |                          ~    ^~
      |                               )
/usr/include/OpenSP/Attribute.h:443:19: error: ‘Text’ does not name a type
  443 |   Type info(const Text *&, const StringC *&) const;
      |                   ^~~~
/usr/include/OpenSP/Attribute.h:444:9: error: ‘Text’ does not name a type
  444 |   const Text *text() const;
      |         ^~~~
/usr/include/OpenSP/Attribute.h:448:3: error: ‘Location’ does not name a type
  448 |   Location tokenLocation(size_t) const;
      |   ^~~~~~~~
/usr/include/OpenSP/Attribute.h:449:48: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  449 |   Boolean tokenLocation(size_t, const ConstPtr<Origin> *&, Index &) const;
      |                                                ^~~~~~
      |                                                origin
/usr/include/OpenSP/Attribute.h:449:54: error: template argument 1 is invalid
  449 |   Boolean tokenLocation(size_t, const ConstPtr<Origin> *&, Index &) const;
      |                                                      ^
/usr/include/OpenSP/Attribute.h:450:50: error: ‘Location’ does not name a type
  450 |   Boolean recoverUnquoted(const StringC &, const Location &,
      |                                                  ^~~~~~~~
/usr/include/OpenSP/Attribute.h:455:3: error: ‘Text’ does not name a type
  455 |   Text text_;
      |   ^~~~
/usr/include/OpenSP/Attribute.h:461:14: error: variable ‘SP_API Attribute’ has initializer but incomplete type
  461 | class SP_API Attribute {
      |              ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:462:1: error: expected primary-expression before ‘public’
  462 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:462:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Attribute.h:461:24: note: to match this ‘{’
  461 | class SP_API Attribute {
      |                        ^
/usr/include/OpenSP/Attribute.h:462:1: error: expected ‘,’ or ‘;’ before ‘public’
  462 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:464:19: error: ‘Attribute’ does not name a type; did you mean ‘AttributeValue’?
  464 |   Attribute(const Attribute&);
      |                   ^~~~~~~~~
      |                   AttributeValue
/usr/include/OpenSP/Attribute.h:464:30: error: expected constructor, destructor, or type conversion before ‘;’ token
  464 |   Attribute(const Attribute&);
      |                              ^
/usr/include/OpenSP/Attribute.h:465:13: error: expected class-name before ‘(’ token
  465 |   ~Attribute();
      |             ^
/usr/include/OpenSP/Attribute.h:466:3: error: ‘Attribute’ does not name a type; did you mean ‘AttributeValue’?
  466 |   Attribute& operator=(const Attribute&);
      |   ^~~~~~~~~
      |   AttributeValue
/usr/include/OpenSP/Attribute.h:467:23: error: non-member function ‘Boolean specified()’ cannot have cv-qualifier
  467 |   Boolean specified() const;
      |                       ^~~~~
/usr/include/OpenSP/Attribute.h:468:22: error: non-member function ‘size_t specIndex()’ cannot have cv-qualifier
  468 |   size_t specIndex() const;
      |                      ^~~~~
/usr/include/OpenSP/Attribute.h:469:33: error: non-member function ‘const AttributeValue* value()’ cannot have cv-qualifier
  469 |   const AttributeValue *value() const;
      |                                 ^~~~~
/usr/include/OpenSP/Attribute.h:470:50: error: non-member function ‘const ConstPtr<AttributeValue>& valuePointer()’ cannot have cv-qualifier
  470 |   const ConstPtr<AttributeValue> &valuePointer() const;
      |                                                  ^~~~~
/usr/include/OpenSP/Attribute.h:471:41: error: non-member function ‘const AttributeSemantics* semantics()’ cannot have cv-qualifier
  471 |   const AttributeSemantics *semantics() const;
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:476:1: error: expected unqualified-id before ‘private’
  476 | private:
      | ^~~~~~~
/usr/include/OpenSP/Attribute.h:480:1: error: expected declaration before ‘}’ token
  480 | };
      | ^
/usr/include/OpenSP/Attribute.h:482:14: error: variable ‘SP_API AttributeList’ has initializer but incomplete type
  482 | class SP_API AttributeList  {
      |              ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:483:1: error: expected primary-expression before ‘public’
  483 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:483:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Attribute.h:482:29: note: to match this ‘{’
  482 | class SP_API AttributeList  {
      |                             ^
/usr/include/OpenSP/Attribute.h:483:1: error: expected ‘,’ or ‘;’ before ‘public’
  483 | public:
      | ^~~~~~
/usr/include/OpenSP/Attribute.h:485:32: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  485 |   AttributeList(const ConstPtr<AttributeDefinitionList> &);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
      |                                AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:485:55: error: template argument 1 is invalid
  485 |   AttributeList(const ConstPtr<AttributeDefinitionList> &);
      |                                                       ^
/usr/include/OpenSP/Attribute.h:485:59: error: expected constructor, destructor, or type conversion before ‘;’ token
  485 |   AttributeList(const ConstPtr<AttributeDefinitionList> &);
      |                                                           ^
/usr/include/OpenSP/Attribute.h:486:24: error: expected class-name before ‘(’ token
  486 |   inline ~AttributeList() {}
      |                        ^
/usr/include/OpenSP/Attribute.h:487:28: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  487 |   void init(const ConstPtr<AttributeDefinitionList> &);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
      |                            AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:487:51: error: template argument 1 is invalid
  487 |   void init(const ConstPtr<AttributeDefinitionList> &);
      |                                                   ^
/usr/include/OpenSP/Attribute.h:487:54: error: ‘void init(const int&)’ redeclared as different kind of entity
  487 |   void init(const ConstPtr<AttributeDefinitionList> &);
      |                                                      ^
/usr/include/OpenSP/ExternalId.h:66:8: note: previous declaration ‘Type init’
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |        ^~~~
/usr/include/OpenSP/Attribute.h:489:20: error: non-member function ‘Boolean conref()’ cannot have cv-qualifier
  489 |   Boolean conref() const;
      |                    ^~~~~
/usr/include/OpenSP/Attribute.h:489:20: error: ‘Boolean conref()’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:81:5: note: previous declaration ‘DefaultValueType conref’
   81 |     conref,
      |     ^~~~~~
/usr/include/OpenSP/Attribute.h:490:17: error: non-member function ‘size_t size()’ cannot have cv-qualifier
  490 |   size_t size() const;
      |                 ^~~~~
/usr/include/OpenSP/Attribute.h:491:33: error: non-member function ‘const StringC& name(unsigned int)’ cannot have cv-qualifier
  491 |   const StringC &name(unsigned) const;
      |                                 ^~~~~
/usr/include/OpenSP/Attribute.h:492:41: error: non-member function ‘const AttributeValue* value(unsigned int)’ cannot have cv-qualifier
  492 |   const AttributeValue *value(unsigned) const;
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:493:28: error: non-member function ‘size_t specIndex(size_t)’ cannot have cv-qualifier
  493 |   size_t specIndex(size_t) const;
      |                            ^~~~~
/usr/include/OpenSP/Attribute.h:494:58: error: non-member function ‘const ConstPtr<AttributeValue>& valuePointer(unsigned int)’ cannot have cv-qualifier
  494 |   const ConstPtr<AttributeValue> &valuePointer(unsigned) const;
      |                                                          ^~~~~
/usr/include/OpenSP/Attribute.h:495:49: error: non-member function ‘const AttributeSemantics* semantics(unsigned int)’ cannot have cv-qualifier
  495 |   const AttributeSemantics *semantics(unsigned) const;
      |                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:496:37: error: non-member function ‘Boolean tokenized(unsigned int)’ cannot have cv-qualifier
  496 |   Boolean tokenized(unsigned index) const;
      |                                     ^~~~~
/usr/include/OpenSP/Attribute.h:497:51: error: non-member function ‘Boolean tokenIndex(const StringC&, unsigned int&)’ cannot have cv-qualifier
  497 |   Boolean tokenIndex(const StringC &, unsigned &) const;
      |                                                   ^~~~~
/usr/include/OpenSP/Attribute.h:498:55: error: non-member function ‘Boolean tokenIndexUnique(const StringC&, unsigned int)’ cannot have cv-qualifier
  498 |   Boolean tokenIndexUnique(const StringC &, unsigned) const;
      |                                                       ^~~~~
/usr/include/OpenSP/Attribute.h:499:55: error: non-member function ‘Boolean attributeIndex(const StringC&, unsigned int&)’ cannot have cv-qualifier
  499 |   Boolean attributeIndex(const StringC &, unsigned &) const;
      |                                                       ^~~~~
/usr/include/OpenSP/Attribute.h:501:36: error: ‘Text’ is not a type
  501 |   Boolean setValue(unsigned index, Text &, AttributeContext &,
      |                                    ^~~~
/usr/include/OpenSP/Attribute.h:503:38: error: ‘Text’ is not a type
  503 |   void setValueToken(unsigned index, Text &, AttributeContext &,
      |                                      ^~~~
/usr/include/OpenSP/Attribute.h:506:50: error: ‘Location’ does not name a type
  506 |   Boolean recoverUnquoted(const StringC &, const Location &,
      |                                                  ^~~~~~~~
/usr/include/OpenSP/Attribute.h:509:8: error: variable or field ‘swap’ declared void
  509 |   void swap(AttributeList &);
      |        ^~~~
/usr/include/OpenSP/Attribute.h:509:28: error: expected primary-expression before ‘)’ token
  509 |   void swap(AttributeList &);
      |                            ^
/usr/include/OpenSP/Attribute.h:510:18: error: non-member function ‘size_t nSpec()’ cannot have cv-qualifier
  510 |   size_t nSpec() const;
      |                  ^~~~~
/usr/include/OpenSP/Attribute.h:511:21: error: non-member function ‘size_t defIndex()’ cannot have cv-qualifier
  511 |   size_t defIndex() const;
      |                     ^~~~~
/usr/include/OpenSP/Attribute.h:513:29: error: non-member function ‘Boolean current(unsigned int)’ cannot have cv-qualifier
  513 |   Boolean current(unsigned) const;
      |                             ^~~~~
/usr/include/OpenSP/Attribute.h:513:29: error: ‘Boolean current(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:79:5: note: previous declaration ‘DefaultValueType current’
   79 |     current,
      |     ^~~~~~~
/usr/include/OpenSP/Attribute.h:514:24: error: non-member function ‘Boolean anyCurrent()’ cannot have cv-qualifier
  514 |   Boolean anyCurrent() const;
      |                        ^~~~~
/usr/include/OpenSP/Attribute.h:515:31: error: non-member function ‘Boolean specified(unsigned int)’ cannot have cv-qualifier
  515 |   Boolean specified(unsigned) const;
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h:516:24: error: non-member function ‘Boolean id(unsigned int)’ cannot have cv-qualifier
  516 |   Boolean id(unsigned) const;
      |                        ^~~~~
/usr/include/OpenSP/Attribute.h:516:24: error: ‘Boolean id(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:72:5: note: previous declaration ‘<unnamed enum> id’
   72 |     id,
      |     ^~
/usr/include/OpenSP/Attribute.h:517:27: error: non-member function ‘Boolean idref(unsigned int)’ cannot have cv-qualifier
  517 |   Boolean idref(unsigned) const;
      |                           ^~~~~
/usr/include/OpenSP/Attribute.h:517:27: error: ‘Boolean idref(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:65:5: note: previous declaration ‘<unnamed enum> idref’
   65 |     idref,
      |     ^~~~~
/usr/include/OpenSP/Attribute.h:518:53: error: non-member function ‘const Vector<String<unsigned char> >* getAllowedTokens(unsigned int)’ cannot have cv-qualifier
  518 |   const Vector<StringC> *getAllowedTokens(unsigned) const;
      |                                                     ^~~~~
/usr/include/OpenSP/Attribute.h:519:26: error: non-member function ‘const StringC* getId()’ cannot have cv-qualifier
  519 |   const StringC *getId() const; // null if none
      |                          ^~~~~
/usr/include/OpenSP/Attribute.h:520:31: error: non-member function ‘Boolean idIndex(unsigned int&)’ cannot have cv-qualifier
  520 |   Boolean idIndex(unsigned &) const;
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h:522:33: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  522 |   void changeDef(const ConstPtr<AttributeDefinitionList> &);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                                 AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:522:56: error: template argument 1 is invalid
  522 |   void changeDef(const ConstPtr<AttributeDefinitionList> &);
      |                                                        ^
/usr/include/OpenSP/Attribute.h:523:18: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  523 |   const ConstPtr<AttributeDefinitionList> &def() const;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
      |                  AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:523:41: error: template argument 1 is invalid
  523 |   const ConstPtr<AttributeDefinitionList> &def() const;
      |                                         ^
/usr/include/OpenSP/Attribute.h:523:50: error: non-member function ‘const int& def()’ cannot have cv-qualifier
  523 |   const ConstPtr<AttributeDefinitionList> &def() const;
      |                                                  ^~~~~
/usr/include/OpenSP/Attribute.h:524:1: error: expected unqualified-id before ‘private’
  524 | private:
      | ^~~~~~~
/usr/include/OpenSP/Attribute.h:531:12: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  531 |   ConstPtr<AttributeDefinitionList> def_;
      |            ^~~~~~~~~~~~~~~~~~~~~~~
      |            AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:531:35: error: template argument 1 is invalid
  531 |   ConstPtr<AttributeDefinitionList> def_;
      |                                   ^
/usr/include/OpenSP/Attribute.h:532:1: error: expected declaration before ‘}’ token
  532 | };
      | ^
/usr/include/OpenSP/Attribute.h:536:49: error: ‘AttributeList’ is not a type
  536 |   DataDeclaredValue(const ConstPtr<Notation> &, AttributeList &);
      |                                                 ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:537:29: error: ‘Text’ is not a type
  537 |   AttributeValue *makeValue(Text &, AttributeContext &, const StringC &,
      |                             ^~~~
/usr/include/OpenSP/Attribute.h:542:3: error: ‘AttributeList’ does not name a type
  542 |   AttributeList attributes_;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:545:33: error: expected initializer before ‘:’ token
  545 | class SP_API DataAttributeValue : public CdataAttributeValue {
      |                                 ^
/usr/include/OpenSP/Attribute.h:555:31: error: expected initializer before ‘:’ token
  555 | class SP_API AttributeContext : public Messenger {
      |                               ^
/usr/include/OpenSP/Attribute.h:580:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  580 | Boolean AttributeDefinition::tokenized() const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:580:42: error: non-member function ‘Boolean tokenized()’ cannot have cv-qualifier
  580 | Boolean AttributeDefinition::tokenized() const
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:586:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  586 | Boolean AttributeDefinition::isNotation() const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:586:43: error: non-member function ‘Boolean isNotation()’ cannot have cv-qualifier
  586 | Boolean AttributeDefinition::isNotation() const
      |                                           ^~~~~
/usr/include/OpenSP/Attribute.h:592:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  592 | Boolean AttributeDefinition::isEntity() const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:592:41: error: non-member function ‘Boolean isEntity()’ cannot have cv-qualifier
  592 | Boolean AttributeDefinition::isEntity() const
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:598:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  598 | Boolean AttributeDefinition::isId() const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:598:37: error: non-member function ‘Boolean isId()’ cannot have cv-qualifier
  598 | Boolean AttributeDefinition::isId() const
      |                                     ^~~~~
/usr/include/OpenSP/Attribute.h:604:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  604 | Boolean AttributeDefinition::isIdref() const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:604:40: error: non-member function ‘Boolean isIdref()’ cannot have cv-qualifier
  604 | Boolean AttributeDefinition::isIdref() const
      |                                        ^~~~~
/usr/include/OpenSP/Attribute.h:610:24: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  610 | const Vector<StringC> *AttributeDefinition::getTokens() const
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:610:57: error: non-member function ‘const Vector<String<unsigned char> >* getTokens()’ cannot have cv-qualifier
  610 | const Vector<StringC> *AttributeDefinition::getTokens() const
      |                                                         ^~~~~
/usr/include/OpenSP/Attribute.h:616:24: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  616 | const Vector<StringC> *AttributeDefinition::getOrigTokens() const
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:616:61: error: non-member function ‘const Vector<String<unsigned char> >* getOrigTokens()’ cannot have cv-qualifier
  616 | const Vector<StringC> *AttributeDefinition::getOrigTokens() const
      |                                                             ^~~~~
/usr/include/OpenSP/Attribute.h:623:1: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  623 | AttributeDefinition::makeSemantics(const AttributeValue *value,
      | ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:626:60: error: non-member function ‘AttributeSemantics* makeSemantics(const AttributeValue*, AttributeContext&, unsigned int&, unsigned int&)’ cannot have cv-qualifier
  626 |                                    unsigned &nEntityNames) const
      |                                                            ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘AttributeSemantics* makeSemantics(const AttributeValue*, AttributeContext&, unsigned int&, unsigned int&)’:
/usr/include/OpenSP/Attribute.h:628:15: error: invalid use of incomplete type ‘const class AttributeValue’
  628 |   return value->makeSemantics(declaredValue_.pointer(), context, name_,
      |               ^~
/usr/include/OpenSP/Attribute.h:28:7: note: forward declaration of ‘class AttributeValue’
   28 | class AttributeValue;
      |       ^~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:633:17: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  633 | AttributeValue *AttributeDefinition::makeValue(Text &text,
      |                 ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:633:17: error: redefinition of ‘AttributeValue* makeValue’
/usr/include/OpenSP/Attribute.h:256:19: note: ‘AttributeValue* makeValue’ previously defined here
  256 |   AttributeValue *makeValue(Text &, AttributeContext &, unsigned &) const;
      |                   ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:634:65: error: expected primary-expression before ‘&’ token
  634 |                                                AttributeContext &context,
      |                                                                 ^
/usr/include/OpenSP/Attribute.h:634:66: error: ‘context’ was not declared in this scope; did you mean ‘text’?
  634 |                                                AttributeContext &context,
      |                                                                  ^~~~~~~
      |                                                                  text
/usr/include/OpenSP/Attribute.h:635:48: error: expected primary-expression before ‘unsigned’
  635 |                                                unsigned &specLength) const
      |                                                ^~~~~~~~
/usr/include/OpenSP/Attribute.h:644:1: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  644 | AttributeDefinition::makeValueFromToken(Text &text,
      | ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:644:1: error: redefinition of ‘AttributeValue* makeValueFromToken’
/usr/include/OpenSP/Attribute.h:257:19: note: ‘AttributeValue* makeValueFromToken’ previously defined here
  257 |   AttributeValue *makeValueFromToken(Text &,
      |                   ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:645:58: error: expected primary-expression before ‘&’ token
  645 |                                         AttributeContext &context,
      |                                                          ^
/usr/include/OpenSP/Attribute.h:645:59: error: ‘context’ was not declared in this scope; did you mean ‘text’?
  645 |                                         AttributeContext &context,
      |                                                           ^~~~~~~
      |                                                           text
/usr/include/OpenSP/Attribute.h:646:41: error: expected primary-expression before ‘unsigned’
  646 |                                         unsigned &specLength) const
      |                                         ^~~~~~~~
/usr/include/OpenSP/Attribute.h:654:9: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  654 | Boolean AttributeDefinition::containsToken(const StringC &token) const
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:654:66: error: non-member function ‘Boolean containsToken(const StringC&)’ cannot have cv-qualifier
  654 | Boolean AttributeDefinition::containsToken(const StringC &token) const
      |                                                                  ^~~~~
/usr/include/OpenSP/Attribute.h:660:16: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  660 | const StringC &AttributeDefinition::name() const
      |                ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:660:44: error: non-member function ‘const StringC& name()’ cannot have cv-qualifier
  660 | const StringC &AttributeDefinition::name() const
      |                                            ^~~~~
/usr/include/OpenSP/Attribute.h:660:16: error: redefinition of ‘const StringC& name()’
  660 | const StringC &AttributeDefinition::name() const
      |                ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Named.h:17:18: note: ‘const StringC& name()’ previously defined here
   17 |   const StringC &name() const { return name_; }
      |                  ^~~~
/usr/include/OpenSP/Attribute.h:666:16: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  666 | const StringC &AttributeDefinition::origName() const
      |                ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:666:48: error: non-member function ‘const StringC& origName()’ cannot have cv-qualifier
  666 | const StringC &AttributeDefinition::origName() const
      |                                                ^~~~~
/usr/include/OpenSP/Attribute.h:672:6: error: ‘AttributeDefinition’ is not a class, namespace, or enumeration
  672 | void AttributeDefinition::setDeclaredValue(DeclaredValue *declaredValue)
      |      ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:678:8: error: ‘AttributeDefinitionList’ has not been declared
  678 | size_t AttributeDefinitionList::size() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:678:40: error: non-member function ‘size_t size()’ cannot have cv-qualifier
  678 | size_t AttributeDefinitionList::size() const
      |                                        ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t size()’:
/usr/include/OpenSP/Attribute.h:680:10: error: ‘defs_’ was not declared in this scope; did you mean ‘def_’?
  680 |   return defs_.size();
      |          ^~~~~
      |          def_
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:684:8: error: ‘AttributeDefinitionList’ has not been declared
  684 | size_t AttributeDefinitionList::index() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:684:41: error: non-member function ‘size_t index()’ cannot have cv-qualifier
  684 | size_t AttributeDefinitionList::index() const
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:684:8: error: redefinition of ‘size_t index()’
  684 | size_t AttributeDefinitionList::index() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Location.h:85:9: note: ‘Index index()’ previously defined here
   85 |   Index index() const { return index_; }
      |         ^~~~~
/usr/include/OpenSP/Attribute.h:690:6: error: ‘AttributeDefinitionList’ has not been declared
  690 | void AttributeDefinitionList::setIndex(size_t index)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:696:8: error: ‘AttributeDefinitionList’ has not been declared
  696 | size_t AttributeDefinitionList::idIndex() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:696:43: error: non-member function ‘size_t idIndex()’ cannot have cv-qualifier
  696 | size_t AttributeDefinitionList::idIndex() const
      |                                           ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t idIndex()’:
/usr/include/OpenSP/Attribute.h:698:10: error: ‘idIndex_’ was not declared in this scope; did you mean ‘idIndex’?
  698 |   return idIndex_;
      |          ^~~~~~~~
      |          idIndex
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:702:8: error: ‘AttributeDefinitionList’ has not been declared
  702 | size_t AttributeDefinitionList::notationIndex() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:702:49: error: non-member function ‘size_t notationIndex()’ cannot have cv-qualifier
  702 | size_t AttributeDefinitionList::notationIndex() const
      |                                                 ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t notationIndex()’:
/usr/include/OpenSP/Attribute.h:704:10: error: ‘notationIndex_’ was not declared in this scope; did you mean ‘notationIndex’?
  704 |   return notationIndex_;
      |          ^~~~~~~~~~~~~~
      |          notationIndex
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:708:9: error: ‘AttributeDefinitionList’ has not been declared
  708 | Boolean AttributeDefinitionList::anyCurrent() const
      |         ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:708:47: error: non-member function ‘Boolean anyCurrent()’ cannot have cv-qualifier
  708 | Boolean AttributeDefinitionList::anyCurrent() const
      |                                               ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean anyCurrent()’:
/usr/include/OpenSP/Attribute.h:710:10: error: ‘anyCurrent_’ was not declared in this scope; did you mean ‘anyCurrent’?
  710 |   return anyCurrent_;
      |          ^~~~~~~~~~~
      |          anyCurrent
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:714:1: error: ‘AttributeDefinition’ does not name a type; did you mean ‘FixedAttributeDefinition’?
  714 | AttributeDefinition *AttributeDefinitionList::def(size_t i)
      | ^~~~~~~~~~~~~~~~~~~
      | FixedAttributeDefinition
/usr/include/OpenSP/Attribute.h:720:7: error: ‘AttributeDefinition’ does not name a type; did you mean ‘FixedAttributeDefinition’?
  720 | const AttributeDefinition *AttributeDefinitionList::def(size_t i) const
      |       ^~~~~~~~~~~~~~~~~~~
      |       FixedAttributeDefinition
/usr/include/OpenSP/Attribute.h: In member function ‘const StringC& TokenizedAttributeValue::string() const’:
/usr/include/OpenSP/Attribute.h:734:10: error: ‘text_’ was not declared in this scope; did you mean ‘text’?
  734 |   return text_.string();
      |          ^~~~~
      |          text
/usr/include/OpenSP/Attribute.h: In member function ‘void TokenizedAttributeValue::token(size_t, const Char*&, size_t&) const’:
/usr/include/OpenSP/Attribute.h:742:9: error: ‘text_’ was not declared in this scope; did you mean ‘text’?
  742 |   ptr = text_.string().data() + startIndex;
      |         ^~~~~
      |         text
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:757:1: error: ‘Location’ does not name a type
  757 | Location TokenizedAttributeValue::tokenLocation(size_t i) const
      | ^~~~~~~~
/usr/include/OpenSP/Attribute.h:764:63: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  764 |                                                const ConstPtr<Origin> *&origin,
      |                                                               ^~~~~~
      |                                                               origin
/usr/include/OpenSP/Attribute.h:764:69: error: template argument 1 is invalid
  764 |                                                const ConstPtr<Origin> *&origin,
      |                                                                     ^
/usr/include/OpenSP/Attribute.h: In member function ‘Boolean TokenizedAttributeValue::tokenLocation(size_t, const int*&, Index&) const’:
/usr/include/OpenSP/Attribute.h:767:10: error: ‘text_’ was not declared in this scope; did you mean ‘text’?
  767 |   return text_.charLocation(i == 0 ? 0 : spaceIndex_[i - 1] + 1, origin, index);
      |          ^~~~~
      |          text
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:771:8: error: ‘Attribute’ is not a class, namespace, or enumeration
  771 | size_t Attribute::specIndex() const
      |        ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:771:31: error: non-member function ‘size_t specIndex()’ cannot have cv-qualifier
  771 | size_t Attribute::specIndex() const
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t specIndex()’:
/usr/include/OpenSP/Attribute.h:773:10: error: ‘specIndexPlus_’ was not declared in this scope; did you mean ‘specIndex’?
  773 |   return specIndexPlus_ - 1;
      |          ^~~~~~~~~~~~~~
      |          specIndex
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:777:9: error: ‘Attribute’ is not a class, namespace, or enumeration
  777 | Boolean Attribute::specified() const
      |         ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:777:32: error: non-member function ‘Boolean specified()’ cannot have cv-qualifier
  777 | Boolean Attribute::specified() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean specified()’:
/usr/include/OpenSP/Attribute.h:779:10: error: ‘specIndexPlus_’ was not declared in this scope; did you mean ‘specIndex’?
  779 |   return specIndexPlus_ != 0;
      |          ^~~~~~~~~~~~~~
      |          specIndex
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:783:23: error: ‘Attribute’ is not a class, namespace, or enumeration
  783 | const AttributeValue *Attribute::value() const
      |                       ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:783:42: error: non-member function ‘const AttributeValue* value()’ cannot have cv-qualifier
  783 | const AttributeValue *Attribute::value() const
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:789:33: error: ‘Attribute’ is not a class, namespace, or enumeration
  789 | const ConstPtr<AttributeValue> &Attribute::valuePointer() const
      |                                 ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:789:59: error: non-member function ‘const ConstPtr<AttributeValue>& valuePointer()’ cannot have cv-qualifier
  789 | const ConstPtr<AttributeValue> &Attribute::valuePointer() const
      |                                                           ^~~~~
/usr/include/OpenSP/Attribute.h:795:27: error: ‘Attribute’ is not a class, namespace, or enumeration
  795 | const AttributeSemantics *Attribute::semantics() const
      |                           ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:795:50: error: non-member function ‘const AttributeSemantics* semantics()’ cannot have cv-qualifier
  795 | const AttributeSemantics *Attribute::semantics() const
      |                                                  ^~~~~
/usr/include/OpenSP/Attribute.h:801:6: error: ‘Attribute’ is not a class, namespace, or enumeration
  801 | void Attribute::setSpec(size_t index)
      |      ^~~~~~~~~
/usr/include/OpenSP/Attribute.h: In function ‘void setSpec(size_t)’:
/usr/include/OpenSP/Attribute.h:803:3: error: ‘specIndexPlus_’ was not declared in this scope; did you mean ‘specIndex’?
  803 |   specIndexPlus_ = index + 1;
      |   ^~~~~~~~~~~~~~
      |   specIndex
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:807:6: error: ‘Attribute’ is not a class, namespace, or enumeration
  807 | void Attribute::setValue(const ConstPtr<AttributeValue> &value)
      |      ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:813:6: error: ‘Attribute’ is not a class, namespace, or enumeration
  813 | void Attribute::setSemantics(AttributeSemantics *semantics)
      |      ^~~~~~~~~
/usr/include/OpenSP/Attribute.h:819:8: error: ‘AttributeList’ is not a class, namespace, or enumeration
  819 | size_t AttributeList::size() const
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:819:30: error: non-member function ‘size_t size()’ cannot have cv-qualifier
  819 | size_t AttributeList::size() const
      |                              ^~~~~
/usr/include/OpenSP/Attribute.h:819:8: error: redefinition of ‘size_t size()’
  819 | size_t AttributeList::size() const
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:678:8: note: ‘size_t size()’ previously defined here
  678 | size_t AttributeDefinitionList::size() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t size()’:
/usr/include/OpenSP/Attribute.h:821:15: error: request for member ‘size’ in ‘vec_’, which is of non-class type ‘int’
  821 |   return vec_.size();
      |               ^~~~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:825:7: error: ‘AttributeDefinition’ does not name a type; did you mean ‘FixedAttributeDefinition’?
  825 | const AttributeDefinition *AttributeList::def(size_t i) const
      |       ^~~~~~~~~~~~~~~~~~~
      |       FixedAttributeDefinition
/usr/include/OpenSP/Attribute.h:831:16: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                ^~~~~~~~~~~~~~~~~~~~~~~
      |                AttributeDefinitionDesc
/usr/include/OpenSP/Attribute.h:831:39: error: template argument 1 is invalid
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                       ^
/usr/include/OpenSP/Attribute.h:831:42: error: ‘AttributeList’ is not a class, namespace, or enumeration
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:831:63: error: non-member function ‘const int& def()’ cannot have cv-qualifier
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                                               ^~~~~
/usr/include/OpenSP/Attribute.h:837:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  837 | Boolean AttributeList::tokenized(unsigned i) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:837:46: error: non-member function ‘Boolean tokenized(unsigned int)’ cannot have cv-qualifier
  837 | Boolean AttributeList::tokenized(unsigned i) const
      |                                              ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean tokenized(unsigned int)’:
/usr/include/OpenSP/Attribute.h:839:13: error: too many arguments to function ‘const int& def()’
  839 |   return def(i)->tokenized();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:839:16: error: base operand of ‘->’ is not a pointer
  839 |   return def(i)->tokenized();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:843:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  843 | Boolean AttributeList::tokenIndex(const StringC &name, unsigned &index) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:843:73: error: non-member function ‘Boolean tokenIndex(const StringC&, unsigned int&)’ cannot have cv-qualifier
  843 | Boolean AttributeList::tokenIndex(const StringC &name, unsigned &index) const
      |                                                                         ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean tokenIndex(const StringC&, unsigned int&)’:
/usr/include/OpenSP/Attribute.h:845:16: error: request for member ‘isNull’ in ‘def_’, which is of non-class type ‘int’
  845 |   return !def_.isNull() && def_->tokenIndex(name, index);
      |                ^~~~~~
/usr/include/OpenSP/Attribute.h:845:32: error: base operand of ‘->’ is not a pointer
  845 |   return !def_.isNull() && def_->tokenIndex(name, index);
      |                                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:849:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  849 | Boolean AttributeList::tokenIndexUnique(const StringC &name, unsigned index) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:849:78: error: non-member function ‘Boolean tokenIndexUnique(const StringC&, unsigned int)’ cannot have cv-qualifier
  849 | Boolean AttributeList::tokenIndexUnique(const StringC &name, unsigned index) const
      |                                                                              ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean tokenIndexUnique(const StringC&, unsigned int)’:
/usr/include/OpenSP/Attribute.h:851:14: error: base operand of ‘->’ is not a pointer
  851 |   return def_->tokenIndexUnique(name, index);
      |              ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:855:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  855 | Boolean AttributeList::attributeIndex(const StringC &name, unsigned &index) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:855:77: error: non-member function ‘Boolean attributeIndex(const StringC&, unsigned int&)’ cannot have cv-qualifier
  855 | Boolean AttributeList::attributeIndex(const StringC &name, unsigned &index) const
      |                                                                             ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean attributeIndex(const StringC&, unsigned int&)’:
/usr/include/OpenSP/Attribute.h:857:16: error: request for member ‘isNull’ in ‘def_’, which is of non-class type ‘int’
  857 |   return !def_.isNull() && def_->attributeIndex(name, index);
      |                ^~~~~~
/usr/include/OpenSP/Attribute.h:857:32: error: base operand of ‘->’ is not a pointer
  857 |   return !def_.isNull() && def_->attributeIndex(name, index);
      |                                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:861:16: error: ‘AttributeList’ is not a class, namespace, or enumeration
  861 | const StringC &AttributeList::name(unsigned i) const
      |                ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:861:48: error: non-member function ‘const StringC& name(unsigned int)’ cannot have cv-qualifier
  861 | const StringC &AttributeList::name(unsigned i) const
      |                                                ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘const StringC& name(unsigned int)’:
/usr/include/OpenSP/Attribute.h:863:13: error: too many arguments to function ‘const int& def()’
  863 |   return def(i)->name();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:863:16: error: base operand of ‘->’ is not a pointer
  863 |   return def(i)->name();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:867:24: error: ‘AttributeList’ is not a class, namespace, or enumeration
  867 | const Vector<StringC> *AttributeList::getAllowedTokens(unsigned i) const
      |                        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:867:68: error: non-member function ‘const Vector<String<unsigned char> >* getAllowedTokens(unsigned int)’ cannot have cv-qualifier
  867 | const Vector<StringC> *AttributeList::getAllowedTokens(unsigned i) const
      |                                                                    ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘const Vector<String<unsigned char> >* getAllowedTokens(unsigned int)’:
/usr/include/OpenSP/Attribute.h:869:13: error: too many arguments to function ‘const int& def()’
  869 |   return def(i)->getTokens();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:869:16: error: base operand of ‘->’ is not a pointer
  869 |   return def(i)->getTokens();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:873:23: error: ‘AttributeList’ is not a class, namespace, or enumeration
  873 | const AttributeValue *AttributeList::value(unsigned i) const
      |                       ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:873:56: error: non-member function ‘const AttributeValue* value(unsigned int)’ cannot have cv-qualifier
  873 | const AttributeValue *AttributeList::value(unsigned i) const
      |                                                        ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘const AttributeValue* value(unsigned int)’:
/usr/include/OpenSP/Attribute.h:875:14: error: invalid types ‘int[unsigned int]’ for array subscript
  875 |   return vec_[i].value();
      |              ^
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:879:33: error: ‘AttributeList’ is not a class, namespace, or enumeration
  879 | const ConstPtr<AttributeValue> &AttributeList::valuePointer(unsigned i)
      |                                 ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:880:6: error: non-member function ‘const ConstPtr<AttributeValue>& valuePointer(unsigned int)’ cannot have cv-qualifier
  880 |      const
      |      ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘const ConstPtr<AttributeValue>& valuePointer(unsigned int)’:
/usr/include/OpenSP/Attribute.h:882:14: error: invalid types ‘int[unsigned int]’ for array subscript
  882 |   return vec_[i].valuePointer();
      |              ^
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:886:27: error: ‘AttributeList’ is not a class, namespace, or enumeration
  886 | const AttributeSemantics *AttributeList::semantics(unsigned i) const
      |                           ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:886:64: error: non-member function ‘const AttributeSemantics* semantics(unsigned int)’ cannot have cv-qualifier
  886 | const AttributeSemantics *AttributeList::semantics(unsigned i) const
      |                                                                ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘const AttributeSemantics* semantics(unsigned int)’:
/usr/include/OpenSP/Attribute.h:888:14: error: invalid types ‘int[unsigned int]’ for array subscript
  888 |   return vec_[i].semantics();
      |              ^
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:892:8: error: ‘AttributeList’ is not a class, namespace, or enumeration
  892 | size_t AttributeList::specIndex(size_t i) const
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:892:43: error: non-member function ‘size_t specIndex(size_t)’ cannot have cv-qualifier
  892 | size_t AttributeList::specIndex(size_t i) const
      |                                           ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t specIndex(size_t)’:
/usr/include/OpenSP/Attribute.h:894:14: error: invalid types ‘int[size_t {aka unsigned int}]’ for array subscript
  894 |   return vec_[i].specIndex();
      |              ^
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:898:8: error: ‘AttributeList’ is not a class, namespace, or enumeration
  898 | size_t AttributeList::nSpec() const
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:898:31: error: non-member function ‘size_t nSpec()’ cannot have cv-qualifier
  898 | size_t AttributeList::nSpec() const
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h:904:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  904 | Boolean AttributeList::conref() const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:904:33: error: non-member function ‘Boolean conref()’ cannot have cv-qualifier
  904 | Boolean AttributeList::conref() const
      |                                 ^~~~~
/usr/include/OpenSP/Attribute.h:904:33: error: ‘Boolean conref()’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:81:5: note: previous declaration ‘DefaultValueType conref’
   81 |     conref,
      |     ^~~~~~
/usr/include/OpenSP/Attribute.h:910:8: error: ‘AttributeList’ is not a class, namespace, or enumeration
  910 | size_t AttributeList::defIndex() const
      |        ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:910:34: error: non-member function ‘size_t defIndex()’ cannot have cv-qualifier
  910 | size_t AttributeList::defIndex() const
      |                                  ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘size_t defIndex()’:
/usr/include/OpenSP/Attribute.h:912:15: error: request for member ‘isNull’ in ‘def_’, which is of non-class type ‘int’
  912 |   return def_.isNull() ? size_t(-1) : def_->index();
      |               ^~~~~~
/usr/include/OpenSP/Attribute.h:912:43: error: base operand of ‘->’ is not a pointer
  912 |   return def_.isNull() ? size_t(-1) : def_->index();
      |                                           ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:916:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  916 | Boolean AttributeList::current(unsigned i) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:916:44: error: non-member function ‘Boolean current(unsigned int)’ cannot have cv-qualifier
  916 | Boolean AttributeList::current(unsigned i) const
      |                                            ^~~~~
/usr/include/OpenSP/Attribute.h:916:44: error: ‘Boolean current(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:79:5: note: previous declaration ‘DefaultValueType current’
   79 |     current,
      |     ^~~~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean current(unsigned int)’:
/usr/include/OpenSP/Attribute.h:918:13: error: too many arguments to function ‘const int& def()’
  918 |   return def(i)->isCurrent();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:918:16: error: base operand of ‘->’ is not a pointer
  918 |   return def(i)->isCurrent();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:922:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  922 | Boolean AttributeList::anyCurrent() const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:922:37: error: non-member function ‘Boolean anyCurrent()’ cannot have cv-qualifier
  922 | Boolean AttributeList::anyCurrent() const
      |                                     ^~~~~
/usr/include/OpenSP/Attribute.h:922:9: error: redefinition of ‘Boolean anyCurrent()’
  922 | Boolean AttributeList::anyCurrent() const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:708:9: note: ‘Boolean anyCurrent()’ previously defined here
  708 | Boolean AttributeDefinitionList::anyCurrent() const
      |         ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean anyCurrent()’:
/usr/include/OpenSP/Attribute.h:924:16: error: request for member ‘isNull’ in ‘def_’, which is of non-class type ‘int’
  924 |   return !def_.isNull() && def_->anyCurrent();
      |                ^~~~~~
/usr/include/OpenSP/Attribute.h:924:32: error: base operand of ‘->’ is not a pointer
  924 |   return !def_.isNull() && def_->anyCurrent();
      |                                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:936:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  936 | Boolean AttributeList::idIndex(unsigned &ind) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:936:47: error: non-member function ‘Boolean idIndex(unsigned int&)’ cannot have cv-qualifier
  936 | Boolean AttributeList::idIndex(unsigned &ind) const
      |                                               ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean idIndex(unsigned int&)’:
/usr/include/OpenSP/Attribute.h:938:12: error: request for member ‘isNull’ in ‘def_’, which is of non-class type ‘int’
  938 |   if (def_.isNull() || def_->idIndex() == size_t(-1))
      |            ^~~~~~
/usr/include/OpenSP/Attribute.h:938:28: error: base operand of ‘->’ is not a pointer
  938 |   if (def_.isNull() || def_->idIndex() == size_t(-1))
      |                            ^~
/usr/include/OpenSP/Attribute.h:941:15: error: base operand of ‘->’ is not a pointer
  941 |     ind = def_->idIndex();
      |               ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:947:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  947 | Boolean AttributeList::id(unsigned i) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:947:39: error: non-member function ‘Boolean id(unsigned int)’ cannot have cv-qualifier
  947 | Boolean AttributeList::id(unsigned i) const
      |                                       ^~~~~
/usr/include/OpenSP/Attribute.h:947:39: error: ‘Boolean id(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:72:5: note: previous declaration ‘<unnamed enum> id’
   72 |     id,
      |     ^~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean id(unsigned int)’:
/usr/include/OpenSP/Attribute.h:949:13: error: too many arguments to function ‘const int& def()’
  949 |   return def(i)->isId();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:949:16: error: base operand of ‘->’ is not a pointer
  949 |   return def(i)->isId();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:953:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  953 | Boolean AttributeList::idref(unsigned i) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:953:42: error: non-member function ‘Boolean idref(unsigned int)’ cannot have cv-qualifier
  953 | Boolean AttributeList::idref(unsigned i) const
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:953:42: error: ‘Boolean idref(unsigned int)’ redeclared as different kind of entity
/usr/include/OpenSP/Attribute.h:65:5: note: previous declaration ‘<unnamed enum> idref’
   65 |     idref,
      |     ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean idref(unsigned int)’:
/usr/include/OpenSP/Attribute.h:955:13: error: too many arguments to function ‘const int& def()’
  955 |   return def(i)->isIdref();
      |          ~~~^~~
/usr/include/OpenSP/Attribute.h:831:42: note: declared here
  831 | const ConstPtr<AttributeDefinitionList> &AttributeList::def() const
      |                                          ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:955:16: error: base operand of ‘->’ is not a pointer
  955 |   return def(i)->isIdref();
      |                ^~
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:959:9: error: ‘AttributeList’ is not a class, namespace, or enumeration
  959 | Boolean AttributeList::specified(unsigned i) const
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:959:46: error: non-member function ‘Boolean specified(unsigned int)’ cannot have cv-qualifier
  959 | Boolean AttributeList::specified(unsigned i) const
      |                                              ^~~~~
/usr/include/OpenSP/Attribute.h: In function ‘Boolean specified(unsigned int)’:
/usr/include/OpenSP/Attribute.h:961:14: error: invalid types ‘int[unsigned int]’ for array subscript
  961 |   return vec_[i].specified();
      |              ^
/usr/include/OpenSP/Attribute.h: At global scope:
/usr/include/OpenSP/Attribute.h:965:49: error: invalid use of incomplete type ‘class AttributeContext’
  965 | Boolean AttributeContext::mayDefaultAttribute() const
      |                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:31:7: note: forward declaration of ‘class AttributeContext’
   31 | class AttributeContext;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:971:38: error: invalid use of incomplete type ‘class AttributeContext’
  971 | Boolean AttributeContext::validate() const
      |                                      ^~~~~
/usr/include/OpenSP/Attribute.h:31:7: note: forward declaration of ‘class AttributeContext’
   31 | class AttributeContext;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attributed.h:17:14: error: variable ‘SP_API Attributed’ has initializer but incomplete type
   17 | class SP_API Attributed {
      |              ^~~~~~~~~~
/usr/include/OpenSP/Attributed.h:18:1: error: expected primary-expression before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/Attributed.h:18:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Attributed.h:17:25: note: to match this ‘{’
   17 | class SP_API Attributed {
      |                         ^
/usr/include/OpenSP/Attributed.h:18:1: error: expected ‘,’ or ‘;’ before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/Attributed.h:20:12: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   20 |   ConstPtr<AttributeDefinitionList> attributeDef() const;
      |            ^~~~~~~~~~~~~~~~~~~~~~~
      |            AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:20:35: error: template argument 1 is invalid
   20 |   ConstPtr<AttributeDefinitionList> attributeDef() const;
      |                                   ^
/usr/include/OpenSP/Attributed.h:20:52: error: non-member function ‘int attributeDef()’ cannot have cv-qualifier
   20 |   ConstPtr<AttributeDefinitionList> attributeDef() const;
      |                                                    ^~~~~
/usr/include/OpenSP/Attributed.h:21:9: error: ‘AttributeDefinitionList’ does not name a type
   21 |   const AttributeDefinitionList *attributeDefTemp() const;
      |         ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attributed.h:22:7: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   22 |   Ptr<AttributeDefinitionList> attributeDef();
      |       ^~~~~~~~~~~~~~~~~~~~~~~
      |       AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:22:30: error: template argument 1 is invalid
   22 |   Ptr<AttributeDefinitionList> attributeDef();
      |                              ^
/usr/include/OpenSP/Attributed.h:23:34: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   23 |   void setAttributeDef(const Ptr<AttributeDefinitionList> &);
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~
      |                                  AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:23:57: error: template argument 1 is invalid
   23 |   void setAttributeDef(const Ptr<AttributeDefinitionList> &);
      |                                                         ^
/usr/include/OpenSP/Attributed.h:24:1: error: expected unqualified-id before ‘private’
   24 | private:
      | ^~~~~~~
/usr/include/OpenSP/Attributed.h:27:1: error: expected declaration before ‘}’ token
   27 | };
      | ^
/usr/include/OpenSP/Attributed.h:30:10: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   30 | ConstPtr<AttributeDefinitionList> Attributed::attributeDef() const
      |          ^~~~~~~~~~~~~~~~~~~~~~~
      |          AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:30:33: error: template argument 1 is invalid
   30 | ConstPtr<AttributeDefinitionList> Attributed::attributeDef() const
      |                                 ^
/usr/include/OpenSP/Attributed.h:30:35: error: ‘Attributed’ is not a class, namespace, or enumeration
   30 | ConstPtr<AttributeDefinitionList> Attributed::attributeDef() const
      |                                   ^~~~~~~~~~
/usr/include/OpenSP/Attributed.h:30:62: error: non-member function ‘int attributeDef()’ cannot have cv-qualifier
   30 | ConstPtr<AttributeDefinitionList> Attributed::attributeDef() const
      |                                                              ^~~~~
/usr/include/OpenSP/Attributed.h: In function ‘int attributeDef()’:
/usr/include/OpenSP/Attributed.h:32:10: error: ‘attributeDef_’ was not declared in this scope; did you mean ‘attributeDef’?
   32 |   return attributeDef_;
      |          ^~~~~~~~~~~~~
      |          attributeDef
/usr/include/OpenSP/Attributed.h: At global scope:
/usr/include/OpenSP/Attributed.h:36:7: error: ‘AttributeDefinitionList’ does not name a type
   36 | const AttributeDefinitionList *Attributed::attributeDefTemp() const
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Attributed.h:42:5: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   42 | Ptr<AttributeDefinitionList> Attributed::attributeDef()
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:42:28: error: template argument 1 is invalid
   42 | Ptr<AttributeDefinitionList> Attributed::attributeDef()
      |                            ^
/usr/include/OpenSP/Attributed.h:42:30: error: ‘Attributed’ is not a class, namespace, or enumeration
   42 | Ptr<AttributeDefinitionList> Attributed::attributeDef()
      |                              ^~~~~~~~~~
/usr/include/OpenSP/Attributed.h:42:30: error: redefinition of ‘int attributeDef()’
/usr/include/OpenSP/Attributed.h:30:35: note: ‘int attributeDef()’ previously defined here
   30 | ConstPtr<AttributeDefinitionList> Attributed::attributeDef() const
      |                                   ^~~~~~~~~~
/usr/include/OpenSP/Attributed.h: In function ‘int attributeDef()’:
/usr/include/OpenSP/Attributed.h:44:10: error: ‘attributeDef_’ was not declared in this scope; did you mean ‘attributeDef’?
   44 |   return attributeDef_;
      |          ^~~~~~~~~~~~~
      |          attributeDef
/usr/include/OpenSP/Attributed.h: At global scope:
/usr/include/OpenSP/Attributed.h:48:6: error: ‘Attributed’ is not a class, namespace, or enumeration
   48 | void Attributed::setAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |      ^~~~~~~~~~
/usr/include/OpenSP/Attributed.h:48:44: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
   48 | void Attributed::setAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
      |                                            AttributeDefinitionDesc
/usr/include/OpenSP/Attributed.h:48:67: error: template argument 1 is invalid
   48 | void Attributed::setAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                                                   ^
/usr/include/OpenSP/Attributed.h: In function ‘void setAttributeDef(const int&)’:
/usr/include/OpenSP/Attributed.h:50:3: error: ‘attributeDef_’ was not declared in this scope; did you mean ‘attributeDef’?
   50 |   attributeDef_ = def;
      |   ^~~~~~~~~~~~~
      |   attributeDef
In file included from /usr/include/OpenSP/Notation.h:18:
/usr/include/OpenSP/StringResource.h: At global scope:
/usr/include/OpenSP/StringResource.h:15:58: error: expected class-name before ‘{’ token
   15 | class StringResource : public String<T>, public Resource {
      |                                                          ^
In file included from /usr/include/OpenSP/Notation.h:19:
/usr/include/OpenSP/EntityDecl.h:21:25: error: expected initializer before ‘:’ token
   21 | class SP_API EntityDecl : public NamedResource {
      |                         ^
/usr/include/OpenSP/EntityDecl.h:56:7: error: ‘Location’ does not name a type
   56 | const Location &EntityDecl::defLocation() const
      |       ^~~~~~~~
/usr/include/OpenSP/EntityDecl.h:62:13: error: invalid use of incomplete type ‘class EntityDecl’
   62 | EntityDecl::DeclType EntityDecl::declType() const
      |             ^~~~~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:68:13: error: invalid use of incomplete type ‘class EntityDecl’
   68 | EntityDecl::DataType EntityDecl::dataType() const
      |             ^~~~~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:74:51: error: invalid use of incomplete type ‘class EntityDecl’
   74 | const StringC *EntityDecl::declInDtdNamePointer() const
      |                                                   ^~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:80:51: error: invalid use of incomplete type ‘class EntityDecl’
   80 | const StringC *EntityDecl::declInLpdNamePointer() const
      |                                                   ^~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:86:39: error: invalid use of incomplete type ‘class EntityDecl’
   86 | Boolean EntityDecl::declInDtdIsBase() const
      |                                       ^~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:92:39: error: invalid use of incomplete type ‘class EntityDecl’
   92 | Boolean EntityDecl::declInActiveLpd() const
      |                                       ^~~~~
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/EntityDecl.h:98:39: error: ‘Location’ does not name a type
   98 | void EntityDecl::setDefLocation(const Location &loc)
      |                                       ^~~~~~~~
/usr/include/OpenSP/EntityDecl.h:98:52: error: invalid use of incomplete type ‘class EntityDecl’
   98 | void EntityDecl::setDefLocation(const Location &loc)
      |                                                    ^
/usr/include/OpenSP/Location.h:28:7: note: forward declaration of ‘class EntityDecl’
   28 | class EntityDecl;
      |       ^~~~~~~~~~
/usr/include/OpenSP/Notation.h:27:23: error: expected initializer before ‘:’ token
   27 | class SP_API Notation : public EntityDecl, public Attributed {
      |                       ^
/usr/include/OpenSP/Notation.h:47:7: error: ‘ExternalId’ does not name a type; did you mean ‘ExternalInfo’?
   47 | const ExternalId &Notation::externalId() const
      |       ^~~~~~~~~~
      |       ExternalInfo
/usr/include/OpenSP/Notation.h:53:29: error: invalid use of incomplete type ‘class Notation’
   53 | Boolean Notation::defined() const
      |                             ^~~~~
/usr/include/OpenSP/Attribute.h:26:7: note: forward declaration of ‘class Notation’
   26 | class Notation;
      |       ^~~~~~~~
In file included from /usr/include/OpenSP/UnivCharsetDesc.h:13,
                 from /usr/include/OpenSP/CharsetInfo.h:11,
                 from /usr/include/OpenSP/Sd.h:13,
                 from /usr/include/OpenSP/Event.h:20:
/usr/include/OpenSP/CharMap.h:131:60: error: expected class-name before ‘{’ token
  131 | class CharMapResource : public CharMap<T>, public Resource {
      |                                                            ^
/usr/include/OpenSP/UnivCharsetDesc.h:22:14: error: variable ‘SP_API UnivCharsetDesc’ has initializer but incomplete type
   22 | class SP_API UnivCharsetDesc {
      |              ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:23:1: error: expected primary-expression before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:23:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/UnivCharsetDesc.h:22:30: note: to match this ‘{’
   22 | class SP_API UnivCharsetDesc {
      |                              ^
/usr/include/OpenSP/UnivCharsetDesc.h:23:1: error: expected ‘,’ or ‘;’ before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:43:20: error: expected constructor, destructor, or type conversion before ‘;’ token
   43 |   UnivCharsetDesc();
      |                    ^
/usr/include/OpenSP/UnivCharsetDesc.h:44:25: error: ‘Range’ does not name a type
   44 |   UnivCharsetDesc(const Range *, size_t);
      |                         ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:44:41: error: expected constructor, destructor, or type conversion before ‘;’ token
   44 |   UnivCharsetDesc(const Range *, size_t);
      |                                         ^
/usr/include/OpenSP/UnivCharsetDesc.h:45:32: error: ‘UnivCharsetDesc’ does not name a type
   45 |   inline UnivCharsetDesc(const UnivCharsetDesc& x) :
      |                                ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: In function ‘int UnivCharsetDesc(const int&)’:
/usr/include/OpenSP/UnivCharsetDesc.h:46:11: error: only constructors take member initializers
   46 |           charMap_(x.charMap_), rangeMap_(x.rangeMap_) {}
      |           ^~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:46:22: error: request for member ‘charMap_’ in ‘x’, which is of non-class type ‘const int’
   46 |           charMap_(x.charMap_), rangeMap_(x.rangeMap_) {}
      |                      ^~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:46:45: error: request for member ‘rangeMap_’ in ‘x’, which is of non-class type ‘const int’
   46 |           charMap_(x.charMap_), rangeMap_(x.rangeMap_) {}
      |                                             ^~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: At global scope:
/usr/include/OpenSP/UnivCharsetDesc.h:47:26: error: expected class-name before ‘(’ token
   47 |   inline ~UnivCharsetDesc() {}
      |                          ^
/usr/include/OpenSP/UnivCharsetDesc.h:48:18: error: ‘Range’ does not name a type
   48 |   void set(const Range *, size_t);
      |                  ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:49:51: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&)’ cannot have cv-qualifier
   49 |   Boolean descToUniv(WideChar from, UnivChar &to) const;
      |                                                   ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:50:70: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&, WideChar&)’ cannot have cv-qualifier
   50 |   Boolean descToUniv(WideChar from, UnivChar &to, WideChar &alsoMax) const;
      |                                                                      ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:53:8: error: non-member function ‘unsigned int univToDesc(UnivChar, WideChar&, ISet<unsigned int>&)’ cannot have cv-qualifier
   53 |        const;
      |        ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:56:8: error: non-member function ‘unsigned int univToDesc(UnivChar, WideChar&, ISet<unsigned int>&, WideChar&)’ cannot have cv-qualifier
   56 |        const;
      |        ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:58:27: error: ‘UnivCharsetDesc’ does not name a type
   58 |   void addBaseRange(const UnivCharsetDesc &baseSet,
      |                           ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:63:1: error: expected unqualified-id before ‘private’
   63 | private:
      | ^~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:77:3: error: ‘friend’ used outside of class
   77 |   friend class UnivCharsetDescIter;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/UnivCharsetDesc.h:78:1: error: expected declaration before ‘}’ token
   78 | };
      | ^
/usr/include/OpenSP/UnivCharsetDesc.h:80:14: error: variable ‘SP_API UnivCharsetDescIter’ has initializer but incomplete type
   80 | class SP_API UnivCharsetDescIter {
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:81:1: error: expected primary-expression before ‘public’
   81 | public:
      | ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:81:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/UnivCharsetDesc.h:80:34: note: to match this ‘{’
   80 | class SP_API UnivCharsetDescIter {
      |                                  ^
/usr/include/OpenSP/UnivCharsetDesc.h:81:1: error: expected ‘,’ or ‘;’ before ‘public’
   81 | public:
      | ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:83:71: error: ‘Boolean next(WideChar&, WideChar&, UnivChar&)’ redeclared as different kind of entity
   83 |   Boolean next(WideChar &descMin, WideChar &descMax, UnivChar &univMin);
      |                                                                       ^
/usr/include/OpenSP/Text.h:104:11: note: previous declaration ‘Boolean next’
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |           ^~~~
/usr/include/OpenSP/UnivCharsetDesc.h:85:1: error: expected unqualified-id before ‘private’
   85 | private:
      | ^~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:89:35: error: no matching function for call to ‘RangeMapIter<unsigned int, unsigned int>::RangeMapIter()’
   89 |   RangeMapIter<WideChar,UnivChar> rangeMapIter_;
      |                                   ^~~~~~~~~~~~~
In file included from /usr/include/OpenSP/UnivCharsetDesc.h:14:
/usr/include/OpenSP/RangeMap.h:42:3: note: candidate: ‘RangeMapIter<From, To>::RangeMapIter(const RangeMap<From, To>&) [with From = unsigned int; To = unsigned int]’
   42 |   RangeMapIter(const RangeMap<From,To> &map);
      |   ^~~~~~~~~~~~
/usr/include/OpenSP/RangeMap.h:42:3: note:   candidate expects 1 argument, 0 provided
/usr/include/OpenSP/RangeMap.h:40:7: note: candidate: ‘constexpr RangeMapIter<unsigned int, unsigned int>::RangeMapIter(const RangeMapIter<unsigned int, unsigned int>&)’
   40 | class RangeMapIter {
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/RangeMap.h:40:7: note:   candidate expects 1 argument, 0 provided
/usr/include/OpenSP/RangeMap.h:40:7: note: candidate: ‘constexpr RangeMapIter<unsigned int, unsigned int>::RangeMapIter(RangeMapIter<unsigned int, unsigned int>&&)’
/usr/include/OpenSP/RangeMap.h:40:7: note:   candidate expects 1 argument, 0 provided
/usr/include/OpenSP/UnivCharsetDesc.h:90:1: error: expected declaration before ‘}’ token
   90 | };
      | ^
/usr/include/OpenSP/UnivCharsetDesc.h:93:9: error: ‘UnivCharsetDesc’ is not a class, namespace, or enumeration
   93 | Boolean UnivCharsetDesc::descToUniv(WideChar from, UnivChar &to) const
      |         ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:93:66: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&)’ cannot have cv-qualifier
   93 | Boolean UnivCharsetDesc::descToUniv(WideChar from, UnivChar &to) const
      |                                                                  ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: In function ‘Boolean descToUniv(WideChar, UnivChar&)’:
/usr/include/OpenSP/UnivCharsetDesc.h:101:9: error: ‘noDesc’ was not declared in this scope
  101 |     if (noDesc(tem))
      |         ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: At global scope:
/usr/include/OpenSP/UnivCharsetDesc.h:111:9: error: ‘UnivCharsetDesc’ is not a class, namespace, or enumeration
  111 | Boolean UnivCharsetDesc::descToUniv(WideChar from, UnivChar &to,
      |         ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:112:56: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&, WideChar&)’ cannot have cv-qualifier
  112 |                                     WideChar &alsoMax) const
      |                                                        ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: In function ‘Boolean descToUniv(WideChar, UnivChar&, WideChar&)’:
/usr/include/OpenSP/UnivCharsetDesc.h:120:9: error: ‘noDesc’ was not declared in this scope
  120 |     if (noDesc(tem))
      |         ^~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h: At global scope:
/usr/include/OpenSP/UnivCharsetDesc.h:130:10: error: ‘UnivCharsetDesc’ is not a class, namespace, or enumeration
  130 | unsigned UnivCharsetDesc::univToDesc(UnivChar from, WideChar &to,
      |          ^~~~~~~~~~~~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:131:61: error: non-member function ‘unsigned int univToDesc(UnivChar, WideChar&, ISet<unsigned int>&)’ cannot have cv-qualifier
  131 |                                      ISet<WideChar> &toSet) const
      |                                                             ^~~~~
/usr/include/OpenSP/UnivCharsetDesc.h:138:45: error: invalid use of incomplete type ‘class UnivCharsetDescIter’
  138 | void UnivCharsetDescIter::skipTo(WideChar ch)
      |                                             ^
/usr/include/OpenSP/UnivCharsetDesc.h:77:16: note: forward declaration of ‘class UnivCharsetDescIter’
   77 |   friend class UnivCharsetDescIter;
      |                ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:22:14: error: variable ‘SP_API CharsetInfo’ has initializer but incomplete type
   22 | class SP_API CharsetInfo {
      |              ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:23:1: error: expected primary-expression before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetInfo.h:23:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CharsetInfo.h:22:26: note: to match this ‘{’
   22 | class SP_API CharsetInfo {
      |                          ^
/usr/include/OpenSP/CharsetInfo.h:23:1: error: expected ‘,’ or ‘;’ before ‘public’
   23 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetInfo.h:25:21: error: ‘UnivCharsetDesc’ does not name a type; did you mean ‘UnivCharsetDescIter’?
   25 |   CharsetInfo(const UnivCharsetDesc &);
      |                     ^~~~~~~~~~~~~~~
      |                     UnivCharsetDescIter
/usr/include/OpenSP/CharsetInfo.h:25:39: error: expected constructor, destructor, or type conversion before ‘;’ token
   25 |   CharsetInfo(const UnivCharsetDesc &);
      |                                       ^
/usr/include/OpenSP/CharsetInfo.h:26:10: error: declaration of ‘~ CharsetInfo’ as non-member
   26 |   inline ~CharsetInfo() {}
      |          ^~~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:27:18: error: ‘UnivCharsetDesc’ does not name a type; did you mean ‘UnivCharsetDescIter’?
   27 |   void set(const UnivCharsetDesc &);
      |                  ^~~~~~~~~~~~~~~
      |                  UnivCharsetDescIter
/usr/include/OpenSP/CharsetInfo.h:31:25: error: non-member function ‘Char execToDesc(char)’ cannot have cv-qualifier
   31 |   Char execToDesc(char) const;
      |                         ^~~~~
/usr/include/OpenSP/CharsetInfo.h:32:37: error: non-member function ‘StringC execToDesc(const char*)’ cannot have cv-qualifier
   32 |   StringC execToDesc(const char *s) const;
      |                                     ^~~~~
/usr/include/OpenSP/CharsetInfo.h:33:51: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&)’ cannot have cv-qualifier
   33 |   Boolean descToUniv(WideChar from, UnivChar &to) const;
      |                                                   ^~~~~
/usr/include/OpenSP/CharsetInfo.h:34:70: error: non-member function ‘Boolean descToUniv(WideChar, UnivChar&, WideChar&)’ cannot have cv-qualifier
   34 |   Boolean descToUniv(WideChar from, UnivChar &to, WideChar &alsoMax) const;
      |                                                                      ^~~~~
/usr/include/OpenSP/CharsetInfo.h:39:8: error: non-member function ‘unsigned int univToDesc(UnivChar, WideChar&, ISet<unsigned int>&)’ cannot have cv-qualifier
   39 |        const;
      |        ^~~~~
/usr/include/OpenSP/CharsetInfo.h:42:8: error: non-member function ‘unsigned int univToDesc(UnivChar, WideChar&, ISet<unsigned int>&, WideChar&)’ cannot have cv-qualifier
   42 |        const;
      |        ^~~~~
/usr/include/OpenSP/CharsetInfo.h:43:33: error: non-member function ‘void getDescSet(ISet<unsigned char>&)’ cannot have cv-qualifier
   43 |   void getDescSet(ISet<Char> &) const;
      |                                 ^~~~~
/usr/include/OpenSP/CharsetInfo.h:44:25: error: non-member function ‘int digitWeight(Char)’ cannot have cv-qualifier
   44 |   int digitWeight(Char) const;
      |                         ^~~~~
/usr/include/OpenSP/CharsetInfo.h:45:28: error: non-member function ‘int hexDigitWeight(Char)’ cannot have cv-qualifier
   45 |   int hexDigitWeight(Char) const;
      |                            ^~~~~
/usr/include/OpenSP/CharsetInfo.h:46:9: error: ‘UnivCharsetDesc’ does not name a type; did you mean ‘UnivCharsetDescIter’?
   46 |   const UnivCharsetDesc &desc() const;
      |         ^~~~~~~~~~~~~~~
      |         UnivCharsetDescIter
/usr/include/OpenSP/CharsetInfo.h:47:1: error: expected unqualified-id before ‘private’
   47 | private:
      | ^~~~~~~
/usr/include/OpenSP/CharsetInfo.h:49:3: error: ‘UnivCharsetDesc’ does not name a type; did you mean ‘UnivCharsetDescIter’?
   49 |   UnivCharsetDesc desc_;
      |   ^~~~~~~~~~~~~~~
      |   UnivCharsetDescIter
/usr/include/OpenSP/CharsetInfo.h:52:1: error: expected declaration before ‘}’ token
   52 | };
      | ^
/usr/include/OpenSP/CharsetInfo.h:57:6: error: invalid use of incomplete type ‘class CharsetInfo’
   57 |      const
      |      ^~~~~
/usr/include/OpenSP/ExternalId.h:20:7: note: forward declaration of ‘class CharsetInfo’
   20 | class CharsetInfo;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:74:6: error: invalid use of incomplete type ‘class CharsetInfo’
   74 |      const
      |      ^~~~~
/usr/include/OpenSP/ExternalId.h:20:7: note: forward declaration of ‘class CharsetInfo’
   20 | class CharsetInfo;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:93:62: error: invalid use of incomplete type ‘class CharsetInfo’
   93 | Boolean CharsetInfo::descToUniv(UnivChar from, WideChar &to) const
      |                                                              ^~~~~
/usr/include/OpenSP/ExternalId.h:20:7: note: forward declaration of ‘class CharsetInfo’
   20 | class CharsetInfo;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:99:38: error: invalid use of incomplete type ‘class CharsetInfo’
   99 | Char CharsetInfo::execToDesc(char c) const
      |                                      ^~~~~
/usr/include/OpenSP/ExternalId.h:20:7: note: forward declaration of ‘class CharsetInfo’
   20 | class CharsetInfo;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:106:52: error: invalid use of incomplete type ‘class CharsetInfo’
  106 |                                 WideChar &alsoMax) const
      |                                                    ^~~~~
/usr/include/OpenSP/ExternalId.h:20:7: note: forward declaration of ‘class CharsetInfo’
   20 | class CharsetInfo;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CharsetInfo.h:112:7: error: ‘UnivCharsetDesc’ does not name a type; did you mean ‘UnivCharsetDescIter’?
  112 | const UnivCharsetDesc &CharsetInfo::desc() const
      |       ^~~~~~~~~~~~~~~
      |       UnivCharsetDescIter
In file included from /usr/include/OpenSP/HashTable.h:9,
                 from /usr/include/OpenSP/Syntax.h:15,
                 from /usr/include/OpenSP/Sd.h:16:
/usr/include/OpenSP/Hash.h:16:14: error: variable ‘SP_API Hash’ has initializer but incomplete type
   16 | class SP_API Hash {
      |              ^~~~
/usr/include/OpenSP/Hash.h:17:1: error: expected primary-expression before ‘public’
   17 | public:
      | ^~~~~~
/usr/include/OpenSP/Hash.h:17:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Hash.h:16:19: note: to match this ‘{’
   16 | class SP_API Hash {
      |                   ^
/usr/include/OpenSP/Hash.h:17:1: error: expected ‘,’ or ‘;’ before ‘public’
   17 | public:
      | ^~~~~~
/usr/include/OpenSP/Hash.h:19:1: error: expected declaration before ‘}’ token
   19 | };
      | ^
/usr/include/OpenSP/HashTable.h: In member function ‘const V* HashTable<K, V>::lookup(const K&) const’:
/usr/include/OpenSP/HashTable.h:33:62: error: request for member ‘lookup’ in ‘((const HashTable<K, V>*)this)->HashTable<K, V>::table_’, which is of non-class type ‘const int’
   33 |     HashTableItem<K, V> *tem = (HashTableItem<K, V> *)table_.lookup(key);
      |                                                              ^~~~~~
/usr/include/OpenSP/HashTable.h: In member function ‘size_t HashTable<K, V>::count() const’:
/usr/include/OpenSP/HashTable.h:36:40: error: request for member ‘count’ in ‘((const HashTable<K, V>*)this)->HashTable<K, V>::table_’, which is of non-class type ‘const int’
   36 |   size_t count() const { return table_.count(); }
      |                                        ^~~~~
/usr/include/OpenSP/HashTable.h: In member function ‘Boolean HashTableIter<K, V>::next(const K*&, const V*&)’:
/usr/include/OpenSP/HashTable.h:47:59: error: request for member ‘next’ in ‘((HashTableIter<K, V>*)this)->HashTableIter<K, V>::iter_’, which is of non-class type ‘int’
   47 |     HashTableItem<K, V> *p = (HashTableItem<K, V> *)iter_.next();
      |                                                           ^~~~
In file included from /usr/include/OpenSP/Syntax.h:18:
/usr/include/OpenSP/XcharMap.h: At global scope:
/usr/include/OpenSP/XcharMap.h:18:40: error: expected class-name before ‘{’ token
   18 | class SharedXcharMap : public Resource {
      |                                        ^
In file included from /usr/include/OpenSP/Syntax.h:19:
/usr/include/OpenSP/EntityCatalog.h:21:28: error: expected initializer before ‘:’ token
   21 | class SP_API EntityCatalog : public Resource {
      |                            ^
/usr/include/OpenSP/Syntax.h:28:21: error: expected initializer before ‘:’ token
   28 | class SP_API Syntax : public Resource, public EntityCatalog::Syntax {
      |                     ^
/usr/include/OpenSP/Syntax.h:294:32: error: invalid use of incomplete type ‘class Syntax’
  294 | inline Number Syntax::quantity(Quantity q) const
      |                                ^~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:294:32: error: ‘Quantity’ was not declared in this scope
  294 | inline Number Syntax::quantity(Quantity q) const
      |                                ^~~~~~~~
/usr/include/OpenSP/Syntax.h:299:48: error: invalid use of incomplete type ‘class Syntax’
  299 | inline void Syntax::setQuantity(int i, Number n)
      |                                                ^
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:304:14: error: ‘SubstTable’ does not name a type
  304 | inline const SubstTable *Syntax::generalSubstTable() const
      |              ^~~~~~~~~~
/usr/include/OpenSP/Syntax.h:309:14: error: ‘SubstTable’ does not name a type
  309 | inline const SubstTable *Syntax::entitySubstTable() const
      |              ^~~~~~~~~~
/usr/include/OpenSP/Syntax.h:314:44: error: invalid use of incomplete type ‘class Syntax’
  314 | inline int Syntax::nDelimShortrefComplex() const
      |                                            ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:319:51: error: invalid use of incomplete type ‘class Syntax’
  319 | inline const StringC &Syntax::delimGeneral(int i) const
      |                                                   ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:324:62: error: invalid use of incomplete type ‘class Syntax’
  324 | inline const StringC &Syntax::delimShortrefComplex(size_t i) const
      |                                                              ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:329:56: error: invalid use of incomplete type ‘class Syntax’
  329 | inline const ISet<Char> &Syntax::delimShortrefSimple() const
      |                                                        ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:334:39: error: invalid use of incomplete type ‘class Syntax’
  334 | inline Boolean Syntax::hasShortrefs() const
      |                                       ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:339:45: error: invalid use of incomplete type ‘class Syntax’
  339 | inline Char Syntax::standardFunction(int i) const
      |                                             ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:344:65: error: invalid use of incomplete type ‘class Syntax’
  344 | inline Boolean Syntax::getStandardFunction(int i, Char &result) const
      |                                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:354:49: error: invalid use of incomplete type ‘class Syntax’
  354 | inline const ISet<Char> *Syntax::charSet(int i) const
      |                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:359:49: error: invalid use of incomplete type ‘class Syntax’
  359 | inline Boolean Syntax::isNameCharacter(Xchar c) const
      |                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:364:54: error: invalid use of incomplete type ‘class Syntax’
  364 | inline Boolean Syntax::isNameStartCharacter(Xchar c) const
      |                                                      ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:369:41: error: invalid use of incomplete type ‘class Syntax’
  369 | inline Boolean Syntax::isDigit(Xchar c) const
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:374:37: error: invalid use of incomplete type ‘class Syntax’
  374 | inline Boolean Syntax::isS(Xchar c) const
      |                                     ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:379:37: error: invalid use of incomplete type ‘class Syntax’
  379 | inline Boolean Syntax::isB(Xchar c) const
      |                                     ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:386:16: error: invalid use of incomplete type ‘class Syntax’
  386 | inline Syntax::Category Syntax::charCategory(Xchar c) const
      |                ^~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:391:44: error: invalid use of incomplete type ‘class Syntax’
  391 | inline Boolean Syntax::isSgmlChar(Xchar c) const
      |                                            ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:396:44: error: invalid use of incomplete type ‘class Syntax’
  396 | inline const StringC &Syntax::reservedName(ReservedName i) const
      |                                            ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:396:44: error: ‘ReservedName’ was not declared in this scope
  396 | inline const StringC &Syntax::reservedName(ReservedName i) const
      |                                            ^~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:401:32: error: invalid use of incomplete type ‘class Syntax’
  401 | inline size_t Syntax::attcnt() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:406:34: error: invalid use of incomplete type ‘class Syntax’
  406 | inline size_t Syntax::attsplen() const
      |                                  ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:411:33: error: invalid use of incomplete type ‘class Syntax’
  411 | inline size_t Syntax::namelen() const
      |                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:416:35: error: invalid use of incomplete type ‘class Syntax’
  416 | inline size_t Syntax::penamelen() const
      |                                   ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:421:32: error: invalid use of incomplete type ‘class Syntax’
  421 | inline size_t Syntax::litlen() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:426:33: error: invalid use of incomplete type ‘class Syntax’
  426 | inline size_t Syntax::normsep() const
      |                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:431:34: error: invalid use of incomplete type ‘class Syntax’
  431 | inline size_t Syntax::dtemplen() const
      |                                  ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:436:32: error: invalid use of incomplete type ‘class Syntax’
  436 | inline size_t Syntax::grpcnt() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:441:34: error: invalid use of incomplete type ‘class Syntax’
  441 | inline size_t Syntax::grpgtcnt() const
      |                                  ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:446:32: error: invalid use of incomplete type ‘class Syntax’
  446 | inline size_t Syntax::grplvl() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:451:32: error: invalid use of incomplete type ‘class Syntax’
  451 | inline size_t Syntax::taglvl() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:456:32: error: invalid use of incomplete type ‘class Syntax’
  456 | inline size_t Syntax::taglen() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:461:32: error: invalid use of incomplete type ‘class Syntax’
  461 | inline size_t Syntax::entlvl() const
      |                                ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:466:31: error: invalid use of incomplete type ‘class Syntax’
  466 | inline size_t Syntax::pilen() const
      |                               ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:471:29: error: invalid use of incomplete type ‘class Syntax’
  471 | inline Char Syntax::space() const
      |                             ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:476:54: error: invalid use of incomplete type ‘class Syntax’
  476 | inline void Syntax::setSgmlChar(const ISet<Char> &set)
      |                                                      ^
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:481:38: error: invalid use of incomplete type ‘class Syntax’
  481 | inline int Syntax::referenceQuantity(Quantity i)
      |                                      ^~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:481:38: error: ‘Quantity’ was not declared in this scope
  481 | inline int Syntax::referenceQuantity(Quantity i)
      |                                      ^~~~~~~~
/usr/include/OpenSP/Syntax.h:486:41: error: invalid use of incomplete type ‘class Syntax’
  486 | inline void Syntax::setShuncharControls()
      |                                         ^
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:491:65: error: invalid use of incomplete type ‘class Syntax’
  491 | inline const XcharMap<unsigned char> &Syntax::markupScanTable() const
      |                                                                 ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:496:36: error: invalid use of incomplete type ‘class Syntax’
  496 | inline Boolean Syntax::multicode() const
      |                                    ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:501:42: error: invalid use of incomplete type ‘class Syntax’
  501 | inline Boolean Syntax::namecaseGeneral() const
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:506:41: error: invalid use of incomplete type ‘class Syntax’
  506 | inline Boolean Syntax::namecaseEntity() const
      |                                         ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:511:35: error: invalid use of incomplete type ‘class Syntax’
  511 | inline size_t Syntax::nEntities() const
      |                                   ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:516:52: error: invalid use of incomplete type ‘class Syntax’
  516 | inline const StringC &Syntax::entityName(size_t i) const
      |                                                    ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Syntax.h:521:42: error: invalid use of incomplete type ‘class Syntax’
  521 | inline Char Syntax::entityChar(size_t i) const
      |                                          ^~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
In file included from /usr/include/OpenSP/Sd.h:17:
/usr/include/OpenSP/CharsetDecl.h:20:14: error: variable ‘SP_API CharsetDeclRange’ has initializer but incomplete type
   20 | class SP_API CharsetDeclRange {
      |              ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:21:1: error: expected primary-expression before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:21:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CharsetDecl.h:20:31: note: to match this ‘{’
   20 | class SP_API CharsetDeclRange {
      |                               ^
/usr/include/OpenSP/CharsetDecl.h:21:1: error: expected ‘,’ or ‘;’ before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:27:21: error: expected constructor, destructor, or type conversion before ‘;’ token
   27 |   CharsetDeclRange();
      |                     ^
/usr/include/OpenSP/CharsetDecl.h:28:20: error: expected class-name before ‘(’ token
   28 |   ~CharsetDeclRange();
      |                    ^
/usr/include/OpenSP/CharsetDecl.h:29:47: error: expected constructor, destructor, or type conversion before ‘;’ token
   29 |   CharsetDeclRange(WideChar, Number, WideChar);
      |                                               ^
/usr/include/OpenSP/CharsetDecl.h:30:37: error: expected constructor, destructor, or type conversion before ‘;’ token
   30 |   CharsetDeclRange(WideChar, Number);
      |                                     ^
/usr/include/OpenSP/CharsetDecl.h:31:54: error: expected constructor, destructor, or type conversion before ‘;’ token
   31 |   CharsetDeclRange(WideChar, Number, const StringC &);
      |                                                      ^
/usr/include/OpenSP/CharsetDecl.h:33:48: error: non-member function ‘void rangeDeclared(WideChar, Number, ISet<unsigned int>&)’ cannot have cv-qualifier
   33 |                      ISet<WideChar> &declared) const;
      |                                                ^~~~~
/usr/include/OpenSP/CharsetDecl.h:34:30: error: non-member function ‘void usedSet(ISet<unsigned char>&)’ cannot have cv-qualifier
   34 |   void usedSet(ISet<Char> &) const;
      |                              ^~~~~
/usr/include/OpenSP/CharsetDecl.h:36:23: error: ‘CharsetDeclRange’ is not a class, namespace, or enumeration
   36 |                       CharsetDeclRange::Type &type,
      |                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:36:46: error: expected ‘,’ or ‘...’ before ‘&’ token
   36 |                       CharsetDeclRange::Type &type,
      |                                              ^
/usr/include/OpenSP/CharsetDecl.h:39:38: error: non-member function ‘Boolean getCharInfo(WideChar, int)’ cannot have cv-qualifier
   39 |                       Number &count) const;
      |                                      ^~~~~
/usr/include/OpenSP/CharsetDecl.h:40:61: error: non-member function ‘void stringToChar(const StringC&, ISet<unsigned int>&)’ cannot have cv-qualifier
   40 |   void stringToChar(const StringC &str, ISet<WideChar> &to) const;
      |                                                             ^~~~~
/usr/include/OpenSP/CharsetDecl.h:41:66: error: non-member function ‘void numberToChar(Number, ISet<unsigned int>&, Number&)’ cannot have cv-qualifier
   41 |   void numberToChar(Number n, ISet<WideChar> &to, Number &count) const;
      |                                                                  ^~~~~
/usr/include/OpenSP/CharsetDecl.h:42:1: error: expected unqualified-id before ‘private’
   42 | private:
      | ^~~~~~~
/usr/include/OpenSP/CharsetDecl.h:46:8: error: redefinition of ‘Type type_’
   46 |   Type type_;
      |        ^~~~~
/usr/include/OpenSP/ExternalId.h:87:8: note: ‘Type type_’ previously declared here
   87 |   Type type_;
      |        ^~~~~
/usr/include/OpenSP/CharsetDecl.h:48:1: error: expected declaration before ‘}’ token
   48 | };
      | ^
/usr/include/OpenSP/CharsetDecl.h:50:14: error: variable ‘SP_API CharsetDeclSection’ has initializer but incomplete type
   50 | class SP_API CharsetDeclSection {
      |              ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:51:1: error: expected primary-expression before ‘public’
   51 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:51:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CharsetDecl.h:50:33: note: to match this ‘{’
   50 | class SP_API CharsetDeclSection {
      |                                 ^
/usr/include/OpenSP/CharsetDecl.h:51:1: error: expected ‘,’ or ‘;’ before ‘public’
   51 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:53:22: error: expected class-name before ‘(’ token
   53 |   ~CharsetDeclSection() {}
      |                      ^
/usr/include/OpenSP/CharsetDecl.h:54:26: error: ‘PublicId’ does not name a type
   54 |   void setPublicId(const PublicId &);
      |                          ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:55:23: error: ‘CharsetDeclRange’ does not name a type
   55 |   void addRange(const CharsetDeclRange &);
      |                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:57:48: error: non-member function ‘void rangeDeclared(WideChar, Number, ISet<unsigned int>&)’ cannot have cv-qualifier
   57 |                      ISet<WideChar> &declared) const;
      |                                                ^~~~~
/usr/include/OpenSP/CharsetDecl.h:58:30: error: non-member function ‘void usedSet(ISet<unsigned char>&)’ cannot have cv-qualifier
   58 |   void usedSet(ISet<Char> &) const;
      |                              ^~~~~
/usr/include/OpenSP/CharsetDecl.h:60:29: error: ‘PublicId’ does not name a type
   60 |                       const PublicId *&id,
      |                             ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:61:23: error: ‘CharsetDeclRange’ is not a class, namespace, or enumeration
   61 |                       CharsetDeclRange::Type &type,
      |                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:61:46: error: expected ‘,’ or ‘...’ before ‘&’ token
   61 |                       CharsetDeclRange::Type &type,
      |                                              ^
/usr/include/OpenSP/CharsetDecl.h:64:37: error: non-member function ‘Boolean getCharInfo(WideChar, const int*&, int)’ cannot have cv-qualifier
   64 |                       Number &cout) const;
      |                                     ^~~~~
/usr/include/OpenSP/CharsetDecl.h:65:61: error: non-member function ‘void stringToChar(const StringC&, ISet<unsigned int>&)’ cannot have cv-qualifier
   65 |   void stringToChar(const StringC &str, ISet<WideChar> &to) const;
      |                                                             ^~~~~
/usr/include/OpenSP/CharsetDecl.h:66:27: error: ‘PublicId’ does not name a type
   66 |   void numberToChar(const PublicId *id, Number n,
      |                           ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:67:56: error: non-member function ‘void numberToChar(const int*, Number, ISet<unsigned int>&, Number&)’ cannot have cv-qualifier
   67 |                     ISet<WideChar> &to, Number &count) const;
      |                                                        ^~~~~
/usr/include/OpenSP/CharsetDecl.h:68:1: error: expected unqualified-id before ‘private’
   68 | private:
      | ^~~~~~~
/usr/include/OpenSP/CharsetDecl.h:71:1: error: expected declaration before ‘}’ token
   71 | };
      | ^
/usr/include/OpenSP/CharsetDecl.h:73:14: error: variable ‘SP_API CharsetDecl’ has initializer but incomplete type
   73 | class SP_API CharsetDecl {
      |              ^~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:74:1: error: expected primary-expression before ‘public’
   74 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:74:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CharsetDecl.h:73:26: note: to match this ‘{’
   73 | class SP_API CharsetDecl {
      |                          ^
/usr/include/OpenSP/CharsetDecl.h:74:1: error: expected ‘,’ or ‘;’ before ‘public’
   74 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetDecl.h:76:25: error: ‘PublicId’ does not name a type
   76 |   void addSection(const PublicId &);
      |                         ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:77:8: error: variable or field ‘swap’ declared void
   77 |   void swap(CharsetDecl &);
      |        ^~~~
/usr/include/OpenSP/CharsetDecl.h:77:26: error: expected primary-expression before ‘)’ token
   77 |   void swap(CharsetDecl &);
      |                          ^
/usr/include/OpenSP/CharsetDecl.h:79:30: error: non-member function ‘void usedSet(ISet<unsigned char>&)’ cannot have cv-qualifier
   79 |   void usedSet(ISet<Char> &) const;
      |                              ^~~~~
/usr/include/OpenSP/CharsetDecl.h:80:41: error: non-member function ‘void declaredSet(ISet<unsigned int>&)’ cannot have cv-qualifier
   80 |   void declaredSet(ISet<WideChar> &set) const;
      |                                         ^~~~~
/usr/include/OpenSP/CharsetDecl.h:81:34: error: non-member function ‘Boolean charDeclared(WideChar)’ cannot have cv-qualifier
   81 |   Boolean charDeclared(WideChar) const;
      |                                  ^~~~~
/usr/include/OpenSP/CharsetDecl.h:83:48: error: non-member function ‘void rangeDeclared(WideChar, Number, ISet<unsigned int>&)’ cannot have cv-qualifier
   83 |                      ISet<WideChar> &declared) const;
      |                                                ^~~~~
/usr/include/OpenSP/CharsetDecl.h:88:29: error: ‘PublicId’ does not name a type
   88 |                       const PublicId *&id,
      |                             ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:89:23: error: ‘CharsetDeclRange’ is not a class, namespace, or enumeration
   89 |                       CharsetDeclRange::Type &type,
      |                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:89:46: error: expected ‘,’ or ‘...’ before ‘&’ token
   89 |                       CharsetDeclRange::Type &type,
      |                                              ^
/usr/include/OpenSP/CharsetDecl.h:91:37: error: non-member function ‘Boolean getCharInfo(WideChar, const int*&, int)’ cannot have cv-qualifier
   91 |                       StringC &str) const;
      |                                     ^~~~~
/usr/include/OpenSP/CharsetDecl.h:93:29: error: ‘PublicId’ does not name a type
   93 |                       const PublicId *&id,
      |                             ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:94:23: error: ‘CharsetDeclRange’ is not a class, namespace, or enumeration
   94 |                       CharsetDeclRange::Type &type,
      |                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:94:46: error: expected ‘,’ or ‘...’ before ‘&’ token
   94 |                       CharsetDeclRange::Type &type,
      |                                              ^
/usr/include/OpenSP/CharsetDecl.h:97:38: error: non-member function ‘Boolean getCharInfo(WideChar, const int*&, int)’ cannot have cv-qualifier
   97 |                       Number &count) const;
      |                                      ^~~~~
/usr/include/OpenSP/CharsetDecl.h:98:61: error: non-member function ‘void stringToChar(const StringC&, ISet<unsigned int>&)’ cannot have cv-qualifier
   98 |   void stringToChar(const StringC &str, ISet<WideChar> &to) const;
      |                                                             ^~~~~
/usr/include/OpenSP/CharsetDecl.h:99:27: error: ‘PublicId’ does not name a type
   99 |   void numberToChar(const PublicId *id, Number n,
      |                           ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:100:56: error: non-member function ‘void numberToChar(const int*, Number, ISet<unsigned int>&, Number&)’ cannot have cv-qualifier
  100 |                     ISet<WideChar> &to, Number &count) const;
      |                                                        ^~~~~
/usr/include/OpenSP/CharsetDecl.h:101:27: error: ‘PublicId’ does not name a type
  101 |   void numberToChar(const PublicId *id, Number n, ISet<WideChar> &to) const;
      |                           ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:101:71: error: non-member function ‘void numberToChar(const int*, Number, ISet<unsigned int>&)’ cannot have cv-qualifier
  101 |   void numberToChar(const PublicId *id, Number n, ISet<WideChar> &to) const;
      |                                                                       ^~~~~
/usr/include/OpenSP/CharsetDecl.h:102:1: error: expected unqualified-id before ‘private’
  102 | private:
      | ^~~~~~~
/usr/include/OpenSP/CharsetDecl.h:105:1: error: expected declaration before ‘}’ token
  105 | };
      | ^
/usr/include/OpenSP/CharsetDecl.h:108:9: error: ‘CharsetDecl’ is not a class, namespace, or enumeration
  108 | Boolean CharsetDecl::getCharInfo(WideChar fromChar,
      |         ^~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:109:40: error: ‘PublicId’ does not name a type
  109 |                                  const PublicId *&id,
      |                                        ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:110:34: error: ‘CharsetDeclRange’ is not a class, namespace, or enumeration
  110 |                                  CharsetDeclRange::Type &type,
      |                                  ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:110:57: error: expected ‘,’ or ‘...’ before ‘&’ token
  110 |                                  CharsetDeclRange::Type &type,
      |                                                         ^
/usr/include/OpenSP/CharsetDecl.h:112:48: error: non-member function ‘Boolean getCharInfo(WideChar, const int*&, int)’ cannot have cv-qualifier
  112 |                                  StringC &str) const
      |                                                ^~~~~
/usr/include/OpenSP/CharsetDecl.h: In function ‘Boolean getCharInfo(WideChar, const int*&, int)’:
/usr/include/OpenSP/CharsetDecl.h:115:42: error: ‘n’ was not declared in this scope
  115 |   return getCharInfo(fromChar, id, type, n, str, tem);
      |                                          ^
/usr/include/OpenSP/CharsetDecl.h:115:45: error: ‘str’ was not declared in this scope; did you mean ‘str_’?
  115 |   return getCharInfo(fromChar, id, type, n, str, tem);
      |                                             ^~~
      |                                             str_
/usr/include/OpenSP/CharsetDecl.h: At global scope:
/usr/include/OpenSP/CharsetDecl.h:119:6: error: ‘CharsetDecl’ is not a class, namespace, or enumeration
  119 | void CharsetDecl::numberToChar(const PublicId *id, Number n,
      |      ^~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:119:38: error: ‘PublicId’ does not name a type
  119 | void CharsetDecl::numberToChar(const PublicId *id, Number n,
      |                                      ^~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:120:52: error: non-member function ‘void numberToChar(const int*, Number, ISet<unsigned int>&)’ cannot have cv-qualifier
  120 |                                ISet<WideChar> &to) const
      |                                                    ^~~~~
/usr/include/OpenSP/CharsetDecl.h:127:6: error: ‘CharsetDecl’ is not a class, namespace, or enumeration
  127 | void CharsetDecl::declaredSet(ISet<WideChar> &set) const
      |      ^~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:127:52: error: non-member function ‘void declaredSet(ISet<unsigned int>&)’ cannot have cv-qualifier
  127 | void CharsetDecl::declaredSet(ISet<WideChar> &set) const
      |                                                    ^~~~~
/usr/include/OpenSP/CharsetDecl.h:133:9: error: ‘CharsetDecl’ is not a class, namespace, or enumeration
  133 | Boolean CharsetDecl::charDeclared(WideChar c) const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/CharsetDecl.h:133:47: error: non-member function ‘Boolean charDeclared(WideChar)’ cannot have cv-qualifier
  133 | Boolean CharsetDecl::charDeclared(WideChar c) const
      |                                               ^~~~~
In file included from /usr/include/OpenSP/Sd.h:19:
/usr/include/OpenSP/EntityManager.h:27:28: error: expected initializer before ‘:’ token
   27 | class SP_API EntityManager : public Resource {
      |                            ^
/usr/include/OpenSP/Sd.h:28:17: error: expected initializer before ‘:’ token
   28 | class SP_API Sd : public Resource {
      |                 ^
/usr/include/OpenSP/Sd.h:279:20: error: invalid use of incomplete type ‘class Sd’
  279 | Boolean Sd::link() const
      |                    ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:287:27: error: invalid use of incomplete type ‘class Sd’
  287 | Number Sd::explicitLink() const
      |                           ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:293:28: error: invalid use of incomplete type ‘class Sd’
  293 | Boolean Sd::implicitLink() const
      |                            ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:299:25: error: invalid use of incomplete type ‘class Sd’
  299 | Number Sd::simpleLink() const
      |                         ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:305:29: error: invalid use of incomplete type ‘class Sd’
  305 | Boolean Sd::startTagEmpty() const
      |                             ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:311:32: error: invalid use of incomplete type ‘class Sd’
  311 | Boolean Sd::startTagUnclosed() const
      |                                ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:317:5: error: invalid use of incomplete type ‘class Sd’
  317 | Sd::NetEnable Sd::startTagNetEnable() const
      |     ^~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:323:31: error: invalid use of incomplete type ‘class Sd’
  323 | void Sd::setStartTagNetEnable(NetEnable e)
      |                               ^~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:323:31: error: ‘NetEnable’ was not declared in this scope
  323 | void Sd::setStartTagNetEnable(NetEnable e)
      |                               ^~~~~~~~~
/usr/include/OpenSP/Sd.h:329:27: error: invalid use of incomplete type ‘class Sd’
  329 | Boolean Sd::endTagEmpty() const
      |                           ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:335:30: error: invalid use of incomplete type ‘class Sd’
  335 | Boolean Sd::endTagUnclosed() const
      |                              ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:341:32: error: invalid use of incomplete type ‘class Sd’
  341 | Boolean Sd::attributeDefault() const
      |                                ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:347:40: error: invalid use of incomplete type ‘class Sd’
  347 | Boolean Sd::attributeValueNotLiteral() const
      |                                        ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:353:33: error: invalid use of incomplete type ‘class Sd’
  353 | Boolean Sd::attributeOmitName() const
      |                                 ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:359:34: error: invalid use of incomplete type ‘class Sd’
  359 | Boolean Sd::emptyElementNormal() const
      |                                  ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:365:31: error: invalid use of incomplete type ‘class Sd’
  365 | Boolean Sd::implydefAttlist() const
      |                               ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:371:31: error: invalid use of incomplete type ‘class Sd’
  371 | Boolean Sd::implydefDoctype() const
      |                               ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:377:5: error: invalid use of incomplete type ‘class Sd’
  377 | Sd::ImplydefElement Sd::implydefElement() const
      |     ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:383:29: error: invalid use of incomplete type ‘class Sd’
  383 | void Sd::setImplydefElement(ImplydefElement i)
      |                             ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:383:29: error: ‘ImplydefElement’ was not declared in this scope
  383 | void Sd::setImplydefElement(ImplydefElement i)
      |                             ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Sd.h:389:30: error: invalid use of incomplete type ‘class Sd’
  389 | Boolean Sd::implydefEntity() const
      |                              ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:395:32: error: invalid use of incomplete type ‘class Sd’
  395 | Boolean Sd::implydefNotation() const
      |                                ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:401:21: error: invalid use of incomplete type ‘class Sd’
  401 | Number Sd::concur() const
      |                     ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:407:21: error: invalid use of incomplete type ‘class Sd’
  407 | Number Sd::subdoc() const
      |                     ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:414:23: error: invalid use of incomplete type ‘class Sd’
  414 | Boolean Sd::omittag() const
      |                       ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:420:20: error: invalid use of incomplete type ‘class Sd’
  420 | Boolean Sd::rank() const
      |                    ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:426:23: error: invalid use of incomplete type ‘class Sd’
  426 | Boolean Sd::datatag() const
      |                       ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:432:22: error: invalid use of incomplete type ‘class Sd’
  432 | Boolean Sd::formal() const
      |                      ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:438:19: error: invalid use of incomplete type ‘class Sd’
  438 | Boolean Sd::urn() const
      |                   ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:444:24: error: invalid use of incomplete type ‘class Sd’
  444 | Boolean Sd::keeprsre() const
      |                        ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:450:7: error: ‘CharsetInfo’ does not name a type
  450 | const CharsetInfo &Sd::internalCharset() const
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Sd.h:456:33: error: invalid use of incomplete type ‘class Sd’
  456 | Char Sd::execToInternal(char c) const
      |                                 ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:462:43: error: invalid use of incomplete type ‘class Sd’
  462 | StringC Sd::execToInternal(const char *s) const
      |                                           ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:468:33: error: invalid use of incomplete type ‘class Sd’
  468 | StringC Sd::reservedName(int i) const
      |                                 ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:474:43: error: invalid use of incomplete type ‘class Sd’
  474 | Boolean Sd::internalCharsetIsDocCharset() const
      |                                           ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:480:7: error: ‘CharsetInfo’ does not name a type
  480 | const CharsetInfo &Sd::docCharset() const
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Sd.h:486:29: error: invalid use of incomplete type ‘class Sd’
  486 | int Sd::digitWeight(Char c) const
      |                             ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:492:32: error: invalid use of incomplete type ‘class Sd’
  492 | int Sd::hexDigitWeight(Char c) const
      |                                ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:498:28: error: invalid use of incomplete type ‘class Sd’
  498 | Number Sd::capacity(int i) const
      |                            ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:504:37: error: invalid use of incomplete type ‘class Sd’
  504 | void Sd::setCapacity(int i, Number n)
      |                                     ^
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:510:33: error: invalid use of incomplete type ‘class Sd’
  510 | StringC Sd::capacityName(int i) const
      |                                 ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:516:29: error: invalid use of incomplete type ‘class Sd’
  516 | Boolean Sd::scopeInstance() const
      |                             ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:522:27: error: invalid use of incomplete type ‘class Sd’
  522 | void Sd::setScopeInstance()
      |                           ^
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:528:28: error: invalid use of incomplete type ‘class Sd’
  528 | void Sd::setDocCharsetDecl(CharsetDecl &decl)
      |                            ^~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:528:41: error: ‘decl’ was not declared in this scope
  528 | void Sd::setDocCharsetDecl(CharsetDecl &decl)
      |                                         ^~~~
/usr/include/OpenSP/Sd.h:534:7: error: ‘CharsetDecl’ does not name a type
  534 | const CharsetDecl &Sd::docCharsetDecl() const
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Sd.h:540:28: error: invalid use of incomplete type ‘class Sd’
  540 | void Sd::setBooleanFeature(BooleanFeature i, Boolean b)
      |                            ^~~~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:540:28: error: ‘BooleanFeature’ was not declared in this scope
  540 | void Sd::setBooleanFeature(BooleanFeature i, Boolean b)
      |                            ^~~~~~~~~~~~~~
/usr/include/OpenSP/Sd.h:540:54: error: expected primary-expression before ‘b’
  540 | void Sd::setBooleanFeature(BooleanFeature i, Boolean b)
      |                                                      ^
/usr/include/OpenSP/Sd.h:546:27: error: invalid use of incomplete type ‘class Sd’
  546 | void Sd::setNumberFeature(NumberFeature i, Number n)
      |                           ^~~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:546:27: error: ‘NumberFeature’ was not declared in this scope
  546 | void Sd::setNumberFeature(NumberFeature i, Number n)
      |                           ^~~~~~~~~~~~~
/usr/include/OpenSP/Sd.h:546:51: error: expected primary-expression before ‘n’
  546 | void Sd::setNumberFeature(NumberFeature i, Number n)
      |                                                   ^
/usr/include/OpenSP/Sd.h:552:19: error: invalid use of incomplete type ‘class Sd’
  552 | Boolean Sd::www() const
      |                   ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:558:26: error: invalid use of incomplete type ‘class Sd’
  558 | void Sd::setWww(Boolean b)
      |                          ^
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:564:5: error: invalid use of incomplete type ‘class Sd’
  564 | Sd::EntityRef Sd::entityRef() const
      |     ^~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:570:23: error: invalid use of incomplete type ‘class Sd’
  570 | void Sd::setEntityRef(EntityRef r)
      |                       ^~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:570:23: error: ‘EntityRef’ was not declared in this scope; did you mean ‘EntityDecl’?
  570 | void Sd::setEntityRef(EntityRef r)
      |                       ^~~~~~~~~
      |                       EntityDecl
/usr/include/OpenSP/Sd.h:576:25: error: invalid use of incomplete type ‘class Sd’
  576 | Boolean Sd::typeValid() const
      |                         ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:582:32: error: invalid use of incomplete type ‘class Sd’
  582 | void Sd::setTypeValid(Boolean b)
      |                                ^
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:588:32: error: invalid use of incomplete type ‘class Sd’
  588 | Boolean Sd::integrallyStored() const
      |                                ^~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Sd.h:594:39: error: invalid use of incomplete type ‘class Sd’
  594 | void Sd::setIntegrallyStored(Boolean b)
      |                                       ^
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
In file included from /usr/include/OpenSP/Dtd.h:10,
                 from /usr/include/OpenSP/Event.h:22:
/usr/include/OpenSP/NamedTable.h:18:42: error: ‘Named’ does not name a type
   18 |   static inline const StringC &key(const Named &obj) { return obj.name(); }
      |                                          ^~~~~
/usr/include/OpenSP/NamedTable.h: In static member function ‘static const StringC& NamedTableKeyFunction::key(const int&)’:
/usr/include/OpenSP/NamedTable.h:18:67: error: request for member ‘name’ in ‘obj’, which is of non-class type ‘const int’
   18 |   static inline const StringC &key(const Named &obj) { return obj.name(); }
      |                                                                   ^~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘T* NamedTable<T>::insert(T*)’:
/usr/include/OpenSP/NamedTable.h:28:40: error: request for member ‘insert’ in ‘((NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘int’
   28 |   T *insert(T *p) { return (T *)table_.insert(p); }
      |                                        ^~~~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘T* NamedTable<T>::lookup(const StringC&) const’:
/usr/include/OpenSP/NamedTable.h:29:60: error: request for member ‘lookup’ in ‘((const NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘const int’
   29 |   T *lookup(const StringC &str) const { return (T *)table_.lookup(str); }
      |                                                            ^~~~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘T* NamedTable<T>::remove(const StringC&)’:
/usr/include/OpenSP/NamedTable.h:30:54: error: request for member ‘remove’ in ‘((NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘int’
   30 |   T *remove(const StringC &str) { return (T *)table_.remove(str); }
      |                                                      ^~~~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘size_t NamedTable<T>::count() const’:
/usr/include/OpenSP/NamedTable.h:31:40: error: request for member ‘count’ in ‘((const NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘const int’
   31 |   size_t count() const { return table_.count(); }
      |                                        ^~~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘void NamedTable<T>::clear()’:
/usr/include/OpenSP/NamedTable.h:32:25: error: request for member ‘clear’ in ‘((NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘int’
   32 |   void clear() { table_.clear(); }
      |                         ^~~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘void NamedTable<T>::swap(NamedTable<T>&)’:
/usr/include/OpenSP/NamedTable.h:33:41: error: request for member ‘swap’ in ‘((NamedTable<T>*)this)->NamedTable<T>::table_’, which is of non-class type ‘int’
   33 |   void swap(NamedTable<T> &to) { table_.swap(to.table_); }
      |                                         ^~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘T* NamedTableIter<T>::next()’:
/usr/include/OpenSP/NamedTable.h:47:33: error: request for member ‘next’ in ‘((NamedTableIter<T>*)this)->NamedTableIter<T>::iter_’, which is of non-class type ‘int’
   47 |   T *next() { return (T *)iter_.next(); }
      |                                 ^~~~
/usr/include/OpenSP/NamedTable.h: In member function ‘const T* ConstNamedTableIter<T>::next()’:
/usr/include/OpenSP/NamedTable.h:56:39: error: request for member ‘next’ in ‘((ConstNamedTableIter<T>*)this)->ConstNamedTableIter<T>::iter_’, which is of non-class type ‘int’
   56 |   const T *next() { return (T *)iter_.next(); }
      |                                       ^~~~
In file included from /usr/include/OpenSP/Dtd.h:11:
/usr/include/OpenSP/NamedResourceTable.h: At global scope:
/usr/include/OpenSP/NamedResourceTable.h:19:30: error: ‘NamedResource’ does not name a type; did you mean ‘CharMapResource’?
   19 |     const StringC &key(const NamedResource &p) {
      |                              ^~~~~~~~~~~~~
      |                              CharMapResource
/usr/include/OpenSP/NamedResourceTable.h: In static member function ‘static const StringC& NamedResourceKeyFunction::key(const int&)’:
/usr/include/OpenSP/NamedResourceTable.h:20:16: error: request for member ‘name’ in ‘p’, which is of non-class type ‘const int’
   20 |       return p.name();
      |                ^~~~
/usr/include/OpenSP/NamedResourceTable.h: At global scope:
/usr/include/OpenSP/NamedResourceTable.h:55:20: error: ‘NamedResource’ was not declared in this scope; did you mean ‘NamedResourceTable’?
   55 |   PointerTable<Ptr<NamedResource>, StringC, Hash,
      |                    ^~~~~~~~~~~~~
      |                    NamedResourceTable
/usr/include/OpenSP/NamedResourceTable.h:55:33: error: template argument 1 is invalid
   55 |   PointerTable<Ptr<NamedResource>, StringC, Hash,
      |                                 ^
/usr/include/OpenSP/NamedResourceTable.h:56:40: error: template argument 1 is invalid
   56 |                NamedResourceKeyFunction> table_;
      |                                        ^
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘Ptr<T> NamedResourceTable<T>::insert(const Ptr<T>&, Boolean)’:
/usr/include/OpenSP/NamedResourceTable.h:37:24: error: request for member ‘insert’ in ‘((NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘int’
   37 |     return (T *)table_.insert((NamedResource *)p.pointer(), replace).pointer();
      |                        ^~~~~~
/usr/include/OpenSP/NamedResourceTable.h:37:32: error: ‘NamedResource’ was not declared in this scope; did you mean ‘NamedResourceTable’?
   37 |     return (T *)table_.insert((NamedResource *)p.pointer(), replace).pointer();
      |                                ^~~~~~~~~~~~~
      |                                NamedResourceTable
/usr/include/OpenSP/NamedResourceTable.h:37:47: error: expected primary-expression before ‘)’ token
   37 |     return (T *)table_.insert((NamedResource *)p.pointer(), replace).pointer();
      |                                               ^
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘Ptr<T> NamedResourceTable<T>::lookup(const StringC&) const’:
/usr/include/OpenSP/NamedResourceTable.h:40:24: error: request for member ‘lookup’ in ‘((const NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘const int’
   40 |     return (T *)table_.lookup(str).pointer();
      |                        ^~~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘ConstPtr<T> NamedResourceTable<T>::lookupConst(const StringC&) const’:
/usr/include/OpenSP/NamedResourceTable.h:43:24: error: request for member ‘lookup’ in ‘((const NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘const int’
   43 |     return (T *)table_.lookup(str).pointer();
      |                        ^~~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘const T* NamedResourceTable<T>::lookupTemp(const StringC&) const’:
/usr/include/OpenSP/NamedResourceTable.h:46:30: error: request for member ‘lookup’ in ‘((const NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘const int’
   46 |     return (const T *)table_.lookup(str).pointer();
      |                              ^~~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘Ptr<T> NamedResourceTable<T>::remove(const StringC&)’:
/usr/include/OpenSP/NamedResourceTable.h:49:24: error: request for member ‘remove’ in ‘((NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘int’
   49 |     return (T *)table_.remove(str).pointer();
      |                        ^~~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘size_t NamedResourceTable<T>::count() const’:
/usr/include/OpenSP/NamedResourceTable.h:51:40: error: request for member ‘count’ in ‘((const NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘const int’
   51 |   size_t count() const { return table_.count(); }
      |                                        ^~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘void NamedResourceTable<T>::clear()’:
/usr/include/OpenSP/NamedResourceTable.h:52:25: error: request for member ‘clear’ in ‘((NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘int’
   52 |   void clear() { table_.clear(); }
      |                         ^~~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘void NamedResourceTable<T>::swap(NamedResourceTable<T>&)’:
/usr/include/OpenSP/NamedResourceTable.h:53:49: error: request for member ‘swap’ in ‘((NamedResourceTable<T>*)this)->NamedResourceTable<T>::table_’, which is of non-class type ‘int’
   53 |   void swap(NamedResourceTable<T> &to) { table_.swap(to.table_); }
      |                                                 ^~~~
/usr/include/OpenSP/NamedResourceTable.h: At global scope:
/usr/include/OpenSP/NamedResourceTable.h:70:24: error: ‘NamedResource’ was not declared in this scope; did you mean ‘Resource’?
   70 |   PointerTableIter<Ptr<NamedResource>, StringC, Hash,
      |                        ^~~~~~~~~~~~~
      |                        Resource
/usr/include/OpenSP/NamedResourceTable.h:70:37: error: template argument 1 is invalid
   70 |   PointerTableIter<Ptr<NamedResource>, StringC, Hash,
      |                                     ^
/usr/include/OpenSP/NamedResourceTable.h:71:44: error: template argument 1 is invalid
   71 |                    NamedResourceKeyFunction> iter_;
      |                                            ^
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘Ptr<T> NamedResourceTableIter<T>::next()’:
/usr/include/OpenSP/NamedResourceTable.h:67:23: error: request for member ‘next’ in ‘((NamedResourceTableIter<T>*)this)->NamedResourceTableIter<T>::iter_’, which is of non-class type ‘int’
   67 |     return (T *)iter_.next().pointer();
      |                       ^~~~
/usr/include/OpenSP/NamedResourceTable.h: At global scope:
/usr/include/OpenSP/NamedResourceTable.h:86:24: error: ‘NamedResource’ was not declared in this scope; did you mean ‘Resource’?
   86 |   PointerTableIter<Ptr<NamedResource>, StringC, Hash,
      |                        ^~~~~~~~~~~~~
      |                        Resource
/usr/include/OpenSP/NamedResourceTable.h:86:37: error: template argument 1 is invalid
   86 |   PointerTableIter<Ptr<NamedResource>, StringC, Hash,
      |                                     ^
/usr/include/OpenSP/NamedResourceTable.h:87:44: error: template argument 1 is invalid
   87 |                    NamedResourceKeyFunction> iter_;
      |                                            ^
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘ConstPtr<T> ConstNamedResourceTableIter<T>::next()’:
/usr/include/OpenSP/NamedResourceTable.h:80:23: error: request for member ‘next’ in ‘((ConstNamedResourceTableIter<T>*)this)->ConstNamedResourceTableIter<T>::iter_’, which is of non-class type ‘int’
   80 |     return (T *)iter_.next().pointer();
      |                       ^~~~
/usr/include/OpenSP/NamedResourceTable.h: In member function ‘const T* ConstNamedResourceTableIter<T>::nextTemp()’:
/usr/include/OpenSP/NamedResourceTable.h:83:29: error: request for member ‘next’ in ‘((ConstNamedResourceTableIter<T>*)this)->ConstNamedResourceTableIter<T>::iter_’, which is of non-class type ‘int’
   83 |     return (const T *)iter_.next().pointer();
      |                             ^~~~
In file included from /usr/include/OpenSP/ElementType.h:20,
                 from /usr/include/OpenSP/Dtd.h:12:
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:22:15: error: variable ‘SP_API Transition’ has initializer but incomplete type
   22 | struct SP_API Transition {
      |               ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:23:16: error: expected ‘}’ before ‘;’ token
   23 |   ~Transition();
      |                ^
/usr/include/OpenSP/ContentToken.h:22:26: note: to match this ‘{’
   22 | struct SP_API Transition {
      |                          ^
/usr/include/OpenSP/ContentToken.h:41:1: error: expected declaration before ‘}’ token
   41 | };
      | ^
/usr/include/OpenSP/ContentToken.h:43:14: error: variable ‘SP_API FirstSet’ has initializer but incomplete type
   43 | class SP_API FirstSet {
      |              ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:44:1: error: expected primary-expression before ‘public’
   44 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:44:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:43:23: note: to match this ‘{’
   43 | class SP_API FirstSet {
      |                       ^
/usr/include/OpenSP/ContentToken.h:44:1: error: expected ‘,’ or ‘;’ before ‘public’
   44 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:46:31: error: ‘void init(LeafContentToken*)’ redeclared as different kind of entity
   46 |   void init(LeafContentToken *);
      |                               ^
/usr/include/OpenSP/ExternalId.h:66:8: note: previous declaration ‘Type init’
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |        ^~~~
/usr/include/OpenSP/ContentToken.h:47:21: error: ‘FirstSet’ does not name a type
   47 |   void append(const FirstSet &);
      |                     ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:48:17: error: non-member function ‘size_t size()’ cannot have cv-qualifier
   48 |   size_t size() const;
      |                 ^~~~~
/usr/include/OpenSP/ContentToken.h:49:37: error: non-member function ‘LeafContentToken* token(size_t)’ cannot have cv-qualifier
   49 |   LeafContentToken *token(size_t i) const;
      |                                     ^~~~~
/usr/include/OpenSP/ContentToken.h:50:26: error: non-member function ‘size_t requiredIndex()’ cannot have cv-qualifier
   50 |   size_t requiredIndex() const;
      |                          ^~~~~
/usr/include/OpenSP/ContentToken.h:52:1: error: expected unqualified-id before ‘private’
   52 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:56:1: error: expected declaration before ‘}’ token
   56 | };
      | ^
/usr/include/OpenSP/ContentToken.h:58:22: error: expected initializer before ‘:’ token
   58 | class SP_API LastSet : public Vector<LeafContentToken *> {
      |                      ^
/usr/include/OpenSP/ContentToken.h:69:15: error: variable ‘SP_API ContentModelAmbiguity’ has initializer but incomplete type
   69 | struct SP_API ContentModelAmbiguity {
      |               ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:70:3: error: expected primary-expression before ‘inline’
   70 |   inline ~ContentModelAmbiguity() {}
      |   ^~~~~~
/usr/include/OpenSP/ContentToken.h:70:3: error: expected ‘}’ before ‘inline’
/usr/include/OpenSP/ContentToken.h:69:37: note: to match this ‘{’
   69 | struct SP_API ContentModelAmbiguity {
      |                                     ^
/usr/include/OpenSP/ContentToken.h:70:3: error: expected ‘,’ or ‘;’ before ‘inline’
   70 |   inline ~ContentModelAmbiguity() {}
      |   ^~~~~~
/usr/include/OpenSP/ContentToken.h:74:12: error: redefinition of ‘unsigned int andDepth’
   74 |   unsigned andDepth;
      |            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:30:12: note: ‘unsigned int andDepth’ previously declared here
   30 |   unsigned andDepth;
      |            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:75:1: error: expected declaration before ‘}’ token
   75 | };
      | ^
/usr/include/OpenSP/ContentToken.h:79:14: error: variable ‘SP_API ContentToken’ has initializer but incomplete type
   79 | class SP_API ContentToken {
      |              ^~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:80:1: error: expected primary-expression before ‘public’
   80 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:80:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:79:27: note: to match this ‘{’
   79 | class SP_API ContentToken {
      |                           ^
/usr/include/OpenSP/ContentToken.h:80:1: error: expected ‘,’ or ‘;’ before ‘public’
   80 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:82:15: error: expected constructor, destructor, or type conversion before ‘(’ token
   82 |   ContentToken(OccurrenceIndicator);
      |               ^
/usr/include/OpenSP/ContentToken.h:83:24: error: expected class-name before ‘(’ token
   83 |   virtual ~ContentToken();
      |                        ^
/usr/include/OpenSP/ContentToken.h:84:3: error: ‘OccurrenceIndicator’ does not name a type
   84 |   OccurrenceIndicator occurrenceIndicator() const;
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:85:32: error: non-member function ‘Boolean inherentlyOptional()’ cannot have cv-qualifier
   85 |   Boolean inherentlyOptional() const;
      |                                ^~~~~
/usr/include/OpenSP/ContentToken.h:86:49: error: ‘unsigned int andDepth(const AndModelGroup*)’ redeclared as different kind of entity
   86 |   static unsigned andDepth(const AndModelGroup *);
      |                                                 ^
/usr/include/OpenSP/ContentToken.h:30:12: note: previous declaration ‘unsigned int andDepth’
   30 |   unsigned andDepth;
      |            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:89:16: error: ‘FirstSet’ is not a type
   89 |                FirstSet &, LastSet &);
      |                ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:89:28: error: ‘LastSet’ has not been declared
   89 |                FirstSet &, LastSet &);
      |                            ^~~~~~~
/usr/include/OpenSP/ContentToken.h:90:36: error: ‘LastSet’ does not name a type
   90 |   static void addTransitions(const LastSet &from,
      |                                    ^~~~~~~
/usr/include/OpenSP/ContentToken.h:91:36: error: ‘FirstSet’ does not name a type
   91 |                              const FirstSet &to,
      |                                    ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:97:44: error: ‘Transition’ is not a class, namespace, or enumeration
   97 |                                = (unsigned)Transition::invalidIndex,
      |                                            ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:99:44: error: ‘Transition’ is not a class, namespace, or enumeration
   99 |                                = (unsigned)Transition::invalidIndex);
      |                                            ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:100:3: error: ‘virtual’ outside class declaration
  100 |   virtual void finish(Vector<unsigned> &minAndDepth,
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:100:16: error: function ‘void finish(Vector<unsigned int>&, Vector<unsigned int>&, int&, Boolean&)’ is initialized like a variable
  100 |   virtual void finish(Vector<unsigned> &minAndDepth,
      |                ^~~~~~
/usr/include/OpenSP/ContentToken.h:104:3: error: ‘virtual’ outside class declaration
  104 |   virtual unsigned long grpgtcnt() const;
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:104:36: error: non-member function ‘long unsigned int grpgtcnt()’ cannot have cv-qualifier
  104 |   virtual unsigned long grpgtcnt() const;
      |                                    ^~~~~
/usr/include/OpenSP/ContentToken.h:105:3: error: ‘virtual’ outside class declaration
  105 |   virtual void setOrGroupMember();
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:106:28: error: non-member function ‘unsigned int andGroupIndex()’ cannot have cv-qualifier
  106 |   unsigned andGroupIndex() const;
      |                            ^~~~~
/usr/include/OpenSP/ContentToken.h:107:3: error: ‘virtual’ outside class declaration
  107 |   virtual const ModelGroup *asModelGroup() const;
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:107:44: error: non-member function ‘const ModelGroup* asModelGroup()’ cannot have cv-qualifier
  107 |   virtual const ModelGroup *asModelGroup() const;
      |                                            ^~~~~
/usr/include/OpenSP/ContentToken.h:108:3: error: ‘virtual’ outside class declaration
  108 |   virtual const LeafContentToken *asLeafContentToken() const;
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:108:56: error: non-member function ‘const LeafContentToken* asLeafContentToken()’ cannot have cv-qualifier
  108 |   virtual const LeafContentToken *asLeafContentToken() const;
      |                                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:109:1: error: expected unqualified-id before ‘protected’
  109 | protected:
      | ^~~~~~~~~
/usr/include/OpenSP/ContentToken.h:111:1: error: expected unqualified-id before ‘private’
  111 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:113:24: error: ‘ContentToken’ does not name a type; did you mean ‘LeafContentToken’?
  113 |   void operator=(const ContentToken &); // undefined
      |                        ^~~~~~~~~~~~
      |                        LeafContentToken
/usr/include/OpenSP/ContentToken.h:113:8: error: ‘void operator=(const int&)’ must be a non-static member function
  113 |   void operator=(const ContentToken &); // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:115:25: error: ‘FirstSet’ is not a type
  115 |                         FirstSet &, LastSet &) = 0;
      |                         ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:115:37: error: ‘LastSet’ has not been declared
  115 |                         FirstSet &, LastSet &) = 0;
      |                                     ^~~~~~~
/usr/include/OpenSP/ContentToken.h:114:3: error: ‘virtual’ outside class declaration
  114 |   virtual void analyze1(GroupInfo &, const AndModelGroup *, unsigned,
      |   ^~~~~~~
/usr/include/OpenSP/ContentToken.h:114:16: error: function ‘void analyze1(GroupInfo&, const AndModelGroup*, unsigned int, int&, int&)’ is initialized like a variable
  114 |   virtual void analyze1(GroupInfo &, const AndModelGroup *, unsigned,
      |                ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:116:3: error: ‘OccurrenceIndicator’ does not name a type
  116 |   OccurrenceIndicator occurrenceIndicator_;
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:117:1: error: expected declaration before ‘}’ token
  117 | };
      | ^
/usr/include/OpenSP/ContentToken.h:119:25: error: expected initializer before ‘:’ token
  119 | class SP_API ModelGroup : public ContentToken {
      |                         ^
/usr/include/OpenSP/ContentToken.h:142:30: error: invalid use of incomplete type ‘class ModelGroup’
  142 | class AndModelGroup : public ModelGroup {
      |                              ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:77:7: note: forward declaration of ‘class ModelGroup’
   77 | class ModelGroup;
      |       ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:144:46: error: template argument 1 is invalid
  144 |   AndModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                              ^
/usr/include/OpenSP/ContentToken.h:144:51: error: ‘OccurrenceIndicator’ has not been declared
  144 |   AndModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                                   ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:145:3: error: ‘Connector’ does not name a type
  145 |   Connector connector() const;
      |   ^~~~~~~~~
/usr/include/OpenSP/ContentToken.h:158:17: error: ‘FirstSet’ is not a type
  158 |                 FirstSet &, LastSet &);
      |                 ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:158:29: error: ‘LastSet’ has not been declared
  158 |                 FirstSet &, LastSet &);
      |                             ^~~~~~~
/usr/include/OpenSP/ContentToken.h:161:29: error: invalid use of incomplete type ‘class ModelGroup’
  161 | class OrModelGroup : public ModelGroup {
      |                             ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:77:7: note: forward declaration of ‘class ModelGroup’
   77 | class ModelGroup;
      |       ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:163:45: error: template argument 1 is invalid
  163 |   OrModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                             ^
/usr/include/OpenSP/ContentToken.h:163:50: error: ‘OccurrenceIndicator’ has not been declared
  163 |   OrModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:164:3: error: ‘Connector’ does not name a type
  164 |   Connector connector() const;
      |   ^~~~~~~~~
/usr/include/OpenSP/ContentToken.h:169:17: error: ‘FirstSet’ is not a type
  169 |                 FirstSet &, LastSet &);
      |                 ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:169:29: error: ‘LastSet’ has not been declared
  169 |                 FirstSet &, LastSet &);
      |                             ^~~~~~~
/usr/include/OpenSP/ContentToken.h:172:30: error: invalid use of incomplete type ‘class ModelGroup’
  172 | class SeqModelGroup : public ModelGroup {
      |                              ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:77:7: note: forward declaration of ‘class ModelGroup’
   77 | class ModelGroup;
      |       ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:174:46: error: template argument 1 is invalid
  174 |   SeqModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                              ^
/usr/include/OpenSP/ContentToken.h:174:51: error: ‘OccurrenceIndicator’ has not been declared
  174 |   SeqModelGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                                   ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:175:3: error: ‘Connector’ does not name a type
  175 |   Connector connector() const;
      |   ^~~~~~~~~
/usr/include/OpenSP/ContentToken.h:180:17: error: ‘FirstSet’ is not a type
  180 |                 FirstSet &, LastSet &);
      |                 ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:180:29: error: ‘LastSet’ has not been declared
  180 |                 FirstSet &, LastSet &);
      |                             ^~~~~~~
/usr/include/OpenSP/ContentToken.h:185:14: error: variable ‘SP_API AndInfo’ has initializer but incomplete type
  185 | class SP_API AndInfo {
      |              ^~~~~~~
/usr/include/OpenSP/ContentToken.h:186:1: error: expected primary-expression before ‘public’
  186 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:186:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:185:22: note: to match this ‘{’
  185 | class SP_API AndInfo {
      |                      ^
/usr/include/OpenSP/ContentToken.h:186:1: error: expected ‘,’ or ‘;’ before ‘public’
  186 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:188:18: error: expected class-name before ‘(’ token
  188 |   inline ~AndInfo() { }
      |                  ^
/usr/include/OpenSP/ContentToken.h:190:12: error: ‘unsigned int andGroupIndex’ redeclared as different kind of entity
  190 |   unsigned andGroupIndex;
      |            ^~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:106:12: note: previous declaration ‘unsigned int andGroupIndex()’
  106 |   unsigned andGroupIndex() const;
      |            ^~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:192:1: error: expected unqualified-id before ‘private’
  192 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:194:24: error: ‘AndInfo’ does not name a type
  194 |   void operator=(const AndInfo &); // undefined
      |                        ^~~~~~~
/usr/include/OpenSP/ContentToken.h:194:8: error: ‘void operator=(const int&)’ must be a non-static member function
  194 |   void operator=(const AndInfo &); // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:195:1: error: expected declaration before ‘}’ token
  195 | };
      | ^
/usr/include/OpenSP/ContentToken.h:200:31: error: expected initializer before ‘:’ token
  200 | class SP_API LeafContentToken : public ContentToken {
      |                               ^
/usr/include/OpenSP/ContentToken.h:265:28: error: invalid use of incomplete type ‘class LeafContentToken’
  265 | class PcdataToken : public LeafContentToken {
      |                            ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:269:17: error: ‘FirstSet’ is not a type
  269 |                 FirstSet &, LastSet &);
      |                 ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:269:29: error: ‘LastSet’ has not been declared
  269 |                 FirstSet &, LastSet &);
      |                             ^~~~~~~
/usr/include/OpenSP/ContentToken.h:275:35: error: invalid use of incomplete type ‘class LeafContentToken’
  275 | class InitialPseudoToken : public LeafContentToken {
      |                                   ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:284:29: error: invalid use of incomplete type ‘class LeafContentToken’
  284 | class ElementToken : public LeafContentToken {
      |                             ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:286:37: error: ‘OccurrenceIndicator’ has not been declared
  286 |   ElementToken(const ElementType *, OccurrenceIndicator);
      |                                     ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:295:45: error: template argument 1 is invalid
  295 |   DataTagGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                             ^
/usr/include/OpenSP/ContentToken.h:295:50: error: ‘OccurrenceIndicator’ has not been declared
  295 |   DataTagGroup(NCVector<Owner<ContentToken> > &, OccurrenceIndicator);
      |                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:305:23: error: ‘Text’ is not a type
  305 |                       Text &paddingTemplate);
      |                       ^~~~
/usr/include/OpenSP/ContentToken.h:311:3: error: ‘Text’ does not name a type
  311 |   Text paddingTemplate_;
      |   ^~~~
/usr/include/OpenSP/ContentToken.h:314:14: error: variable ‘SP_API CompiledModelGroup’ has initializer but incomplete type
  314 | class SP_API CompiledModelGroup {
      |              ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:315:1: error: expected primary-expression before ‘public’
  315 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:315:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:314:33: note: to match this ‘{’
  314 | class SP_API CompiledModelGroup {
      |                                 ^
/usr/include/OpenSP/ContentToken.h:315:1: error: expected ‘,’ or ‘;’ before ‘public’
  315 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:317:29: error: expected class-name before ‘(’ token
  317 |   inline ~CompiledModelGroup() {};
      |                             ^
/usr/include/OpenSP/ContentToken.h:321:3: error: ‘CompiledModelGroup’ does not name a type
  321 |   CompiledModelGroup *copy() const;
      |   ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:322:37: error: non-member function ‘const LeafContentToken* initial()’ cannot have cv-qualifier
  322 |   const LeafContentToken *initial() const;
      |                                     ^~~~~
/usr/include/OpenSP/ContentToken.h:323:27: error: non-member function ‘unsigned int andStateSize()’ cannot have cv-qualifier
  323 |   unsigned andStateSize() const;
      |                           ^~~~~
/usr/include/OpenSP/ContentToken.h:324:28: error: non-member function ‘Boolean containsPcdata()’ cannot have cv-qualifier
  324 |   Boolean containsPcdata() const;
      |                            ^~~~~
/usr/include/OpenSP/ContentToken.h:325:34: error: non-member function ‘const ModelGroup* modelGroup()’ cannot have cv-qualifier
  325 |   const ModelGroup *modelGroup() const;
      |                                  ^~~~~
/usr/include/OpenSP/ContentToken.h:326:1: error: expected unqualified-id before ‘private’
  326 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:328:24: error: ‘CompiledModelGroup’ does not name a type
  328 |   void operator=(const CompiledModelGroup &);     // undefined
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:328:8: error: ‘void operator=(const int&)’ must be a non-static member function
  328 |   void operator=(const CompiledModelGroup &);     // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:333:1: error: expected declaration before ‘}’ token
  333 | };
      | ^
/usr/include/OpenSP/ContentToken.h:335:14: error: variable ‘SP_API AndState’ has initializer but incomplete type
  335 | class SP_API AndState {
      |              ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:336:1: error: expected primary-expression before ‘public’
  336 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:336:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:335:23: note: to match this ‘{’
  335 | class SP_API AndState {
      |                       ^
/usr/include/OpenSP/ContentToken.h:336:1: error: expected ‘,’ or ‘;’ before ‘public’
  336 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:338:29: error: non-member function ‘Boolean isClear(unsigned int)’ cannot have cv-qualifier
  338 |   Boolean isClear(unsigned) const;
      |                             ^~~~~
/usr/include/OpenSP/ContentToken.h:341:28: error: ‘AndState’ does not name a type
  341 |   Boolean operator==(const AndState &) const;
      |                            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:341:40: error: non-member function ‘Boolean operator==(const int&)’ cannot have cv-qualifier
  341 |   Boolean operator==(const AndState &) const;
      |                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:341:11: error: ‘Boolean operator==(const int&)’ must have an argument of class or enumerated type
  341 |   Boolean operator==(const AndState &) const;
      |           ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:342:28: error: ‘AndState’ does not name a type
  342 |   Boolean operator!=(const AndState &) const;
      |                            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:342:40: error: non-member function ‘Boolean operator!=(const int&)’ cannot have cv-qualifier
  342 |   Boolean operator!=(const AndState &) const;
      |                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:342:11: error: ‘Boolean operator!=(const int&)’ must have an argument of class or enumerated type
  342 |   Boolean operator!=(const AndState &) const;
      |           ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:343:1: error: expected unqualified-id before ‘private’
  343 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:347:1: error: expected declaration before ‘}’ token
  347 | };
      | ^
/usr/include/OpenSP/ContentToken.h:349:14: error: variable ‘SP_API MatchState’ has initializer but incomplete type
  349 | class SP_API MatchState {
      |              ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:350:1: error: expected primary-expression before ‘public’
  350 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:350:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentToken.h:349:25: note: to match this ‘{’
  349 | class SP_API MatchState {
      |                         ^
/usr/include/OpenSP/ContentToken.h:350:1: error: expected ‘,’ or ‘;’ before ‘public’
  350 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentToken.h:352:20: error: ‘CompiledModelGroup’ does not name a type
  352 |   MatchState(const CompiledModelGroup *); // may be 0
      |                    ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:352:41: error: expected constructor, destructor, or type conversion before ‘;’ token
  352 |   MatchState(const CompiledModelGroup *); // may be 0
      |                                         ^
/usr/include/OpenSP/ContentToken.h:355:59: error: non-member function ‘void possibleTransitions(Vector<const ElementType*>&)’ cannot have cv-qualifier
  355 |   void possibleTransitions(Vector<const ElementType *> &) const;
      |                                                           ^~~~~
/usr/include/OpenSP/ContentToken.h:356:24: error: non-member function ‘Boolean isFinished()’ cannot have cv-qualifier
  356 |   Boolean isFinished() const;
      |                        ^~~~~
/usr/include/OpenSP/ContentToken.h:357:45: error: non-member function ‘const LeafContentToken* impliedStartTag()’ cannot have cv-qualifier
  357 |   const LeafContentToken *impliedStartTag() const;
      |                                             ^~~~~
/usr/include/OpenSP/ContentToken.h:358:65: error: non-member function ‘const LeafContentToken* invalidExclusion(const ElementType*)’ cannot have cv-qualifier
  358 |   const LeafContentToken *invalidExclusion(const ElementType *) const;
      |                                                                 ^~~~~
/usr/include/OpenSP/ContentToken.h:360:45: error: non-member function ‘const LeafContentToken* currentPosition()’ cannot have cv-qualifier
  360 |   const LeafContentToken *currentPosition() const;
      |                                             ^~~~~
/usr/include/OpenSP/ContentToken.h:361:28: error: ‘MatchState’ does not name a type
  361 |   Boolean operator==(const MatchState &) const;
      |                            ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:361:42: error: non-member function ‘Boolean operator==(const int&)’ cannot have cv-qualifier
  361 |   Boolean operator==(const MatchState &) const;
      |                                          ^~~~~
/usr/include/OpenSP/ContentToken.h:361:11: error: ‘Boolean operator==(const int&)’ must have an argument of class or enumerated type
  361 |   Boolean operator==(const MatchState &) const;
      |           ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:362:28: error: ‘MatchState’ does not name a type
  362 |   Boolean operator!=(const MatchState &) const;
      |                            ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:362:42: error: non-member function ‘Boolean operator!=(const int&)’ cannot have cv-qualifier
  362 |   Boolean operator!=(const MatchState &) const;
      |                                          ^~~~~
/usr/include/OpenSP/ContentToken.h:362:11: error: ‘Boolean operator!=(const int&)’ must have an argument of class or enumerated type
  362 |   Boolean operator!=(const MatchState &) const;
      |           ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:363:1: error: expected unqualified-id before ‘private’
  363 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentToken.h:365:3: error: ‘AndState’ does not name a type
  365 |   AndState andState_;
      |   ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:367:1: error: expected declaration before ‘}’ token
  367 | };
      | ^
/usr/include/OpenSP/ContentToken.h:370:1: error: ‘ContentToken’ does not name a type; did you mean ‘LeafContentToken’?
  370 | ContentToken::OccurrenceIndicator ContentToken::occurrenceIndicator() const
      | ^~~~~~~~~~~~
      | LeafContentToken
/usr/include/OpenSP/ContentToken.h:376:36: error: invalid use of incomplete type ‘class LeafContentToken’
  376 | unsigned LeafContentToken::index() const
      |                                    ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:382:40: error: invalid use of incomplete type ‘class LeafContentToken’
  382 | unsigned LeafContentToken::typeIndex() const
      |                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:388:9: error: ‘ContentToken’ is not a class, namespace, or enumeration
  388 | Boolean ContentToken::inherentlyOptional() const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:388:44: error: non-member function ‘Boolean inherentlyOptional()’ cannot have cv-qualifier
  388 | Boolean ContentToken::inherentlyOptional() const
      |                                            ^~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘Boolean inherentlyOptional()’:
/usr/include/OpenSP/ContentToken.h:390:10: error: ‘inherentlyOptional_’ was not declared in this scope; did you mean ‘inherentlyOptional’?
  390 |   return inherentlyOptional_;
      |          ^~~~~~~~~~~~~~~~~~~
      |          inherentlyOptional
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:394:52: error: invalid use of incomplete type ‘class LeafContentToken’
  394 | const ElementType *LeafContentToken::elementType() const
      |                                                    ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:412:33: error: invalid use of incomplete type ‘class ModelGroup’
  412 | unsigned ModelGroup::nMembers() const
      |                                 ^~~~~
/usr/include/OpenSP/ContentToken.h:77:7: note: forward declaration of ‘class ModelGroup’
   77 | class ModelGroup;
      |       ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:418:10: error: ‘ContentToken’ is not a class, namespace, or enumeration
  418 | unsigned ContentToken::andDepth(const AndModelGroup *andAncestor)
      |          ^~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:418:65: error: ‘unsigned int andDepth(const AndModelGroup*)’ redeclared as different kind of entity
  418 | unsigned ContentToken::andDepth(const AndModelGroup *andAncestor)
      |                                                                 ^
/usr/include/OpenSP/ContentToken.h:30:12: note: previous declaration ‘unsigned int andDepth’
   30 |   unsigned andDepth;
      |            ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:424:10: error: ‘ContentToken’ is not a class, namespace, or enumeration
  424 | unsigned ContentToken::andIndex(const AndModelGroup *andAncestor)
      |          ^~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘unsigned int andIndex(const AndModelGroup*)’:
/usr/include/OpenSP/ContentToken.h:427:52: error: ‘const class AndModelGroup’ has no member named ‘nMembers’
  427 |           ? andAncestor->andIndex() + andAncestor->nMembers()
      |                                                    ^~~~~~~~
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:432:1: error: ‘ContentToken’ does not name a type; did you mean ‘LeafContentToken’?
  432 | ContentToken &ModelGroup::member(unsigned i)
      | ^~~~~~~~~~~~
      | LeafContentToken
/usr/include/OpenSP/ContentToken.h:438:7: error: ‘ContentToken’ does not name a type; did you mean ‘LeafContentToken’?
  438 | const ContentToken &ModelGroup::member(unsigned i) const
      |       ^~~~~~~~~~~~
      |       LeafContentToken
/usr/include/OpenSP/ContentToken.h:444:33: error: invalid use of incomplete type ‘class LeafContentToken’
  444 | void LeafContentToken::setFinal()
      |                                 ^
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:450:37: error: invalid use of incomplete type ‘class LeafContentToken’
  450 | Boolean LeafContentToken::isFinal() const
      |                                     ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:456:43: error: invalid use of incomplete type ‘class LeafContentToken’
  456 | Boolean LeafContentToken::orGroupMember() const
      |                                           ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:462:10: error: ‘CompiledModelGroup’ is not a class, namespace, or enumeration
  462 | unsigned CompiledModelGroup::andStateSize() const
      |          ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:462:45: error: non-member function ‘unsigned int andStateSize()’ cannot have cv-qualifier
  462 | unsigned CompiledModelGroup::andStateSize() const
      |                                             ^~~~~
/usr/include/OpenSP/ContentToken.h:468:9: error: ‘CompiledModelGroup’ is not a class, namespace, or enumeration
  468 | Boolean CompiledModelGroup::containsPcdata() const
      |         ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:468:46: error: non-member function ‘Boolean containsPcdata()’ cannot have cv-qualifier
  468 | Boolean CompiledModelGroup::containsPcdata() const
      |                                              ^~~~~
/usr/include/OpenSP/ContentToken.h:486:25: error: ‘CompiledModelGroup’ is not a class, namespace, or enumeration
  486 | const LeafContentToken *CompiledModelGroup::initial() const
      |                         ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:486:55: error: non-member function ‘const LeafContentToken* initial()’ cannot have cv-qualifier
  486 | const LeafContentToken *CompiledModelGroup::initial() const
      |                                                       ^~~~~
/usr/include/OpenSP/ContentToken.h:492:19: error: ‘CompiledModelGroup’ is not a class, namespace, or enumeration
  492 | const ModelGroup *CompiledModelGroup::modelGroup() const
      |                   ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:492:52: error: non-member function ‘const ModelGroup* modelGroup()’ cannot have cv-qualifier
  492 | const ModelGroup *CompiledModelGroup::modelGroup() const
      |                                                    ^~~~~
/usr/include/OpenSP/ContentToken.h:498:54: error: invalid use of incomplete type ‘class LeafContentToken’
  498 | const AndModelGroup *LeafContentToken::andAncestor() const
      |                                                      ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:504:39: error: invalid use of incomplete type ‘class LeafContentToken’
  504 | unsigned LeafContentToken::andDepth() const
      |                                       ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:510:53: error: ‘AndState’ does not name a type
  510 | unsigned LeafContentToken::computeMinAndDepth(const AndState &andState) const
      |                                                     ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:510:73: error: invalid use of incomplete type ‘class LeafContentToken’
  510 | unsigned LeafContentToken::computeMinAndDepth(const AndState &andState) const
      |                                                                         ^~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:516:47: error: invalid use of incomplete type ‘class LeafContentToken’
  516 | Boolean LeafContentToken::tryTransitionPcdata(AndState &andState,
      |                                               ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:20:7: note: forward declaration of ‘class LeafContentToken’
   20 | class LeafContentToken;
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:516:57: error: ‘andState’ was not declared in this scope; did you mean ‘AndState’?
  516 | Boolean LeafContentToken::tryTransitionPcdata(AndState &andState,
      |                                                         ^~~~~~~~
      |                                                         AndState
/usr/include/OpenSP/ContentToken.h:517:47: error: expected primary-expression before ‘unsigned’
  517 |                                               unsigned &minAndDepth,
      |                                               ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:518:47: error: expected primary-expression before ‘const’
  518 |                                               const LeafContentToken *&newpos)
      |                                               ^~~~~
/usr/include/OpenSP/ContentToken.h:532:9: error: ‘MatchState’ is not a class, namespace, or enumeration
  532 | Boolean MatchState::tryTransition(const ElementType *to)
      |         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘Boolean tryTransition(const ElementType*)’:
/usr/include/OpenSP/ContentToken.h:534:10: error: ‘pos_’ was not declared in this scope
  534 |   return pos_->tryTransition(to, andState_, minAndDepth_, pos_);
      |          ^~~~
/usr/include/OpenSP/ContentToken.h:534:34: error: ‘andState_’ was not declared in this scope; did you mean ‘AndState’?
  534 |   return pos_->tryTransition(to, andState_, minAndDepth_, pos_);
      |                                  ^~~~~~~~~
      |                                  AndState
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:538:9: error: ‘MatchState’ is not a class, namespace, or enumeration
  538 | Boolean MatchState::tryTransitionPcdata()
      |         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘Boolean tryTransitionPcdata()’:
/usr/include/OpenSP/ContentToken.h:540:10: error: ‘pos_’ was not declared in this scope
  540 |   return pos_->tryTransitionPcdata(andState_, minAndDepth_, pos_);
      |          ^~~~
/usr/include/OpenSP/ContentToken.h:540:36: error: ‘andState_’ was not declared in this scope; did you mean ‘AndState’?
  540 |   return pos_->tryTransitionPcdata(andState_, minAndDepth_, pos_);
      |                                    ^~~~~~~~~
      |                                    AndState
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:544:6: error: ‘MatchState’ is not a class, namespace, or enumeration
  544 | void MatchState::possibleTransitions(Vector<const ElementType *> &v) const
      |      ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:544:70: error: non-member function ‘void possibleTransitions(Vector<const ElementType*>&)’ cannot have cv-qualifier
  544 | void MatchState::possibleTransitions(Vector<const ElementType *> &v) const
      |                                                                      ^~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘void possibleTransitions(Vector<const ElementType*>&)’:
/usr/include/OpenSP/ContentToken.h:546:3: error: ‘pos_’ was not declared in this scope
  546 |   pos_->possibleTransitions(andState_, minAndDepth_, v);
      |   ^~~~
/usr/include/OpenSP/ContentToken.h:546:29: error: ‘andState_’ was not declared in this scope; did you mean ‘AndState’?
  546 |   pos_->possibleTransitions(andState_, minAndDepth_, v);
      |                             ^~~~~~~~~
      |                             AndState
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:550:9: error: ‘MatchState’ is not a class, namespace, or enumeration
  550 | Boolean MatchState::isFinished() const
      |         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:550:34: error: non-member function ‘Boolean isFinished()’ cannot have cv-qualifier
  550 | Boolean MatchState::isFinished() const
      |                                  ^~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘Boolean isFinished()’:
/usr/include/OpenSP/ContentToken.h:552:10: error: ‘pos_’ was not declared in this scope
  552 |   return pos_->isFinal() && minAndDepth_ == 0;
      |          ^~~~
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:557:1: error: ‘MatchState’ is not a class, namespace, or enumeration
  557 | MatchState::impliedStartTag() const
      | ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:557:31: error: non-member function ‘const LeafContentToken* impliedStartTag()’ cannot have cv-qualifier
  557 | MatchState::impliedStartTag() const
      |                               ^~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘const LeafContentToken* impliedStartTag()’:
/usr/include/OpenSP/ContentToken.h:559:10: error: ‘pos_’ was not declared in this scope
  559 |   return pos_->impliedStartTag(andState_, minAndDepth_);
      |          ^~~~
/usr/include/OpenSP/ContentToken.h:559:32: error: ‘andState_’ was not declared in this scope; did you mean ‘AndState’?
  559 |   return pos_->impliedStartTag(andState_, minAndDepth_);
      |                                ^~~~~~~~~
      |                                AndState
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:563:6: error: ‘MatchState’ is not a class, namespace, or enumeration
  563 | void MatchState::doRequiredTransition()
      |      ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘void doRequiredTransition()’:
/usr/include/OpenSP/ContentToken.h:565:3: error: ‘pos_’ was not declared in this scope
  565 |   pos_->doRequiredTransition(andState_, minAndDepth_, pos_);
      |   ^~~~
/usr/include/OpenSP/ContentToken.h:565:30: error: ‘andState_’ was not declared in this scope; did you mean ‘AndState’?
  565 |   pos_->doRequiredTransition(andState_, minAndDepth_, pos_);
      |                              ^~~~~~~~~
      |                              AndState
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:569:25: error: ‘MatchState’ is not a class, namespace, or enumeration
  569 | const LeafContentToken *MatchState::currentPosition() const
      |                         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:569:55: error: non-member function ‘const LeafContentToken* currentPosition()’ cannot have cv-qualifier
  569 | const LeafContentToken *MatchState::currentPosition() const
      |                                                       ^~~~~
/usr/include/OpenSP/ContentToken.h: In function ‘const LeafContentToken* currentPosition()’:
/usr/include/OpenSP/ContentToken.h:571:10: error: ‘pos_’ was not declared in this scope
  571 |   return pos_;
      |          ^~~~
/usr/include/OpenSP/ContentToken.h: At global scope:
/usr/include/OpenSP/ContentToken.h:575:9: error: ‘MatchState’ is not a class, namespace, or enumeration
  575 | Boolean MatchState::operator!=(const MatchState &state) const
      |         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:575:38: error: ‘MatchState’ does not name a type
  575 | Boolean MatchState::operator!=(const MatchState &state) const
      |                                      ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:575:57: error: non-member function ‘Boolean operator!=(const int&)’ cannot have cv-qualifier
  575 | Boolean MatchState::operator!=(const MatchState &state) const
      |                                                         ^~~~~
/usr/include/OpenSP/ContentToken.h:575:9: error: ‘Boolean operator!=(const int&)’ must have an argument of class or enumerated type
  575 | Boolean MatchState::operator!=(const MatchState &state) const
      |         ^~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:581:39: error: invalid use of incomplete type ‘class AndState’
  581 | Boolean AndState::isClear(unsigned i) const
      |                                       ^~~~~
/usr/include/OpenSP/ContentToken.h:183:7: note: forward declaration of ‘class AndState’
  183 | class AndState;
      |       ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:587:30: error: invalid use of incomplete type ‘class AndState’
  587 | void AndState::set(unsigned i)
      |                              ^
/usr/include/OpenSP/ContentToken.h:183:7: note: forward declaration of ‘class AndState’
  183 | class AndState;
      |       ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:595:36: error: invalid use of incomplete type ‘class AndState’
  595 | void AndState::clearFrom(unsigned i)
      |                                    ^
/usr/include/OpenSP/ContentToken.h:183:7: note: forward declaration of ‘class AndState’
  183 | class AndState;
      |       ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:602:36: error: ‘AndState’ does not name a type
  602 | Boolean AndState::operator!=(const AndState &state) const
      |                                    ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:602:53: error: invalid use of incomplete type ‘class AndState’
  602 | Boolean AndState::operator!=(const AndState &state) const
      |                                                     ^~~~~
/usr/include/OpenSP/ContentToken.h:183:7: note: forward declaration of ‘class AndState’
  183 | class AndState;
      |       ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:609:8: error: ‘FirstSet’ is not a class, namespace, or enumeration
  609 | size_t FirstSet::size() const
      |        ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:609:25: error: non-member function ‘size_t size()’ cannot have cv-qualifier
  609 | size_t FirstSet::size() const
      |                         ^~~~~
/usr/include/OpenSP/ContentToken.h:609:8: error: redefinition of ‘size_t size()’
  609 | size_t FirstSet::size() const
      |        ^~~~~~~~
/usr/include/OpenSP/Attribute.h:678:8: note: ‘size_t size()’ previously defined here
  678 | size_t AttributeDefinitionList::size() const
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:615:19: error: ‘FirstSet’ is not a class, namespace, or enumeration
  615 | LeafContentToken *FirstSet::token(size_t i) const
      |                   ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:615:45: error: non-member function ‘LeafContentToken* token(size_t)’ cannot have cv-qualifier
  615 | LeafContentToken *FirstSet::token(size_t i) const
      |                                             ^~~~~
/usr/include/OpenSP/ContentToken.h:621:8: error: ‘FirstSet’ is not a class, namespace, or enumeration
  621 | size_t FirstSet::requiredIndex() const
      |        ^~~~~~~~
/usr/include/OpenSP/ContentToken.h:621:34: error: non-member function ‘size_t requiredIndex()’ cannot have cv-qualifier
  621 | size_t FirstSet::requiredIndex() const
      |                                  ^~~~~
/usr/include/OpenSP/ContentToken.h:627:6: error: ‘FirstSet’ is not a class, namespace, or enumeration
  627 | void FirstSet::setNotRequired()
      |      ^~~~~~~~
/usr/include/OpenSP/ElementType.h:30:32: error: expected initializer before ‘:’ token
   30 | class SP_API ElementDefinition : public Resource {
      |                                ^
/usr/include/OpenSP/ElementType.h:87:23: error: expected initializer before ‘:’ token
   87 | class SP_API RankStem : public Named {
      |                       ^
/usr/include/OpenSP/ElementType.h:101:26: error: expected initializer before ‘:’ token
  101 | class SP_API ElementType : public Named, public Attributed {
      |                          ^
/usr/include/OpenSP/ElementType.h:128:7: error: ‘CompiledModelGroup’ does not name a type
  128 | const CompiledModelGroup *ElementDefinition::compiledModelGroup() const
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:134:1: error: ‘ElementDefinition’ does not name a type
  134 | ElementDefinition::DeclaredContent ElementDefinition::declaredContent() const
      | ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:140:9: error: ‘ElementDefinition’ has not been declared
  140 | Boolean ElementDefinition::canOmitStartTag() const
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:140:46: error: non-member function ‘Boolean canOmitStartTag()’ cannot have cv-qualifier
  140 | Boolean ElementDefinition::canOmitStartTag() const
      |                                              ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Boolean canOmitStartTag()’:
/usr/include/OpenSP/ElementType.h:142:11: error: ‘omitFlags_’ was not declared in this scope
  142 |   return (omitFlags_ & omitStart) != 0;
      |           ^~~~~~~~~~
/usr/include/OpenSP/ElementType.h:142:24: error: ‘omitStart’ was not declared in this scope; did you mean ‘entityStart’?
  142 |   return (omitFlags_ & omitStart) != 0;
      |                        ^~~~~~~~~
      |                        entityStart
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:146:9: error: ‘ElementDefinition’ has not been declared
  146 | Boolean ElementDefinition::canOmitEndTag() const
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:146:44: error: non-member function ‘Boolean canOmitEndTag()’ cannot have cv-qualifier
  146 | Boolean ElementDefinition::canOmitEndTag() const
      |                                            ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Boolean canOmitEndTag()’:
/usr/include/OpenSP/ElementType.h:148:11: error: ‘omitFlags_’ was not declared in this scope
  148 |   return (omitFlags_ & omitEnd) != 0;
      |           ^~~~~~~~~~
/usr/include/OpenSP/ElementType.h:148:24: error: ‘omitEnd’ was not declared in this scope
  148 |   return (omitFlags_ & omitEnd) != 0;
      |                        ^~~~~~~
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:152:9: error: ‘ElementDefinition’ has not been declared
  152 | Boolean ElementDefinition::omittedTagSpec() const
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:152:45: error: non-member function ‘Boolean omittedTagSpec()’ cannot have cv-qualifier
  152 | Boolean ElementDefinition::omittedTagSpec() const
      |                                             ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Boolean omittedTagSpec()’:
/usr/include/OpenSP/ElementType.h:154:11: error: ‘omitFlags_’ was not declared in this scope
  154 |   return (omitFlags_ & omitSpec) != 0;
      |           ^~~~~~~~~~
/usr/include/OpenSP/ElementType.h:154:24: error: ‘omitSpec’ was not declared in this scope
  154 |   return (omitFlags_ & omitSpec) != 0;
      |                        ^~~~~~~~
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:158:8: error: ‘ElementDefinition’ has not been declared
  158 | size_t ElementDefinition::nRankStems() const
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:158:40: error: non-member function ‘size_t nRankStems()’ cannot have cv-qualifier
  158 | size_t ElementDefinition::nRankStems() const
      |                                        ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘size_t nRankStems()’:
/usr/include/OpenSP/ElementType.h:160:10: error: ‘rankStems_’ was not declared in this scope; did you mean ‘nRankStems’?
  160 |   return rankStems_.size();
      |          ^~~~~~~~~~
      |          nRankStems
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:164:16: error: ‘ElementDefinition’ has not been declared
  164 | const StringC &ElementDefinition::rankSuffix() const
      |                ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:164:48: error: non-member function ‘const StringC& rankSuffix()’ cannot have cv-qualifier
  164 | const StringC &ElementDefinition::rankSuffix() const
      |                                                ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘const StringC& rankSuffix()’:
/usr/include/OpenSP/ElementType.h:166:10: error: ‘rankSuffix_’ was not declared in this scope; did you mean ‘rankSuffix’?
  166 |   return rankSuffix_;
      |          ^~~~~~~~~~~
      |          rankSuffix
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:170:17: error: ‘ElementDefinition’ has not been declared
  170 | const RankStem *ElementDefinition::rankStem(size_t i) const
      |                 ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:170:55: error: non-member function ‘const RankStem* rankStem(size_t)’ cannot have cv-qualifier
  170 | const RankStem *ElementDefinition::rankStem(size_t i) const
      |                                                       ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘const RankStem* rankStem(size_t)’:
/usr/include/OpenSP/ElementType.h:172:10: error: ‘rankStems_’ was not declared in this scope; did you mean ‘rankStem’?
  172 |   return rankStems_[i];
      |          ^~~~~~~~~~
      |          rankStem
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:176:20: error: ‘ElementDefinition’ has not been declared
  176 | const ElementType *ElementDefinition::inclusion(size_t i) const
      |                    ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:176:59: error: non-member function ‘const ElementType* inclusion(size_t)’ cannot have cv-qualifier
  176 | const ElementType *ElementDefinition::inclusion(size_t i) const
      |                                                           ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘const ElementType* inclusion(size_t)’:
/usr/include/OpenSP/ElementType.h:178:10: error: ‘inclusions_’ was not declared in this scope; did you mean ‘inclusion’?
  178 |   return inclusions_[i];
      |          ^~~~~~~~~~~
      |          inclusion
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:182:8: error: ‘ElementDefinition’ has not been declared
  182 | size_t ElementDefinition::nInclusions() const
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:182:41: error: non-member function ‘size_t nInclusions()’ cannot have cv-qualifier
  182 | size_t ElementDefinition::nInclusions() const
      |                                         ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘size_t nInclusions()’:
/usr/include/OpenSP/ElementType.h:184:10: error: ‘inclusions_’ was not declared in this scope; did you mean ‘inclusion’?
  184 |   return inclusions_.size();
      |          ^~~~~~~~~~~
      |          inclusion
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:188:20: error: ‘ElementDefinition’ has not been declared
  188 | const ElementType *ElementDefinition::exclusion(size_t i) const
      |                    ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:188:59: error: non-member function ‘const ElementType* exclusion(size_t)’ cannot have cv-qualifier
  188 | const ElementType *ElementDefinition::exclusion(size_t i) const
      |                                                           ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘const ElementType* exclusion(size_t)’:
/usr/include/OpenSP/ElementType.h:190:10: error: ‘exclusions_’ was not declared in this scope; did you mean ‘exclusion’?
  190 |   return exclusions_[i];
      |          ^~~~~~~~~~~
      |          exclusion
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:194:8: error: ‘ElementDefinition’ has not been declared
  194 | size_t ElementDefinition::nExclusions() const
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:194:41: error: non-member function ‘size_t nExclusions()’ cannot have cv-qualifier
  194 | size_t ElementDefinition::nExclusions() const
      |                                         ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘size_t nExclusions()’:
/usr/include/OpenSP/ElementType.h:196:10: error: ‘exclusions_’ was not declared in this scope; did you mean ‘exclusion’?
  196 |   return exclusions_.size();
      |          ^~~~~~~~~~~
      |          exclusion
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:200:9: error: ‘ElementDefinition’ has not been declared
  200 | Boolean ElementDefinition::undefined() const
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:200:40: error: non-member function ‘Boolean undefined()’ cannot have cv-qualifier
  200 | Boolean ElementDefinition::undefined() const
      |                                        ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Boolean undefined()’:
/usr/include/OpenSP/ElementType.h:202:27: error: ‘undefinedIndex’ was not declared in this scope; did you mean ‘undefined’?
  202 |   return index_ == size_t(undefinedIndex);
      |                           ^~~~~~~~~~~~~~
      |                           undefined
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:206:9: error: ‘ElementDefinition’ has not been declared
  206 | Boolean ElementDefinition::allowImmediateRecursion() const
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:206:54: error: non-member function ‘Boolean allowImmediateRecursion()’ cannot have cv-qualifier
  206 | Boolean ElementDefinition::allowImmediateRecursion() const
      |                                                      ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Boolean allowImmediateRecursion()’:
/usr/include/OpenSP/ElementType.h:208:10: error: ‘allowImmediateRecursion_’ was not declared in this scope; did you mean ‘allowImmediateRecursion’?
  208 |   return allowImmediateRecursion_;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
      |          allowImmediateRecursion
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:212:7: error: ‘Location’ does not name a type
  212 | const Location &ElementDefinition::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/ElementType.h:218:6: error: ‘ElementDefinition’ has not been declared
  218 | void ElementDefinition::setInclusions(Vector<const ElementType *> &inclusions)
      |      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h: In function ‘void setInclusions(Vector<const ElementType*>&)’:
/usr/include/OpenSP/ElementType.h:220:19: error: ‘inclusions_’ was not declared in this scope; did you mean ‘inclusions’?
  220 |   inclusions.swap(inclusions_);
      |                   ^~~~~~~~~~~
      |                   inclusions
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:224:6: error: ‘ElementDefinition’ has not been declared
  224 | void ElementDefinition::setExclusions(Vector<const ElementType *> &exclusions)
      |      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h: In function ‘void setExclusions(Vector<const ElementType*>&)’:
/usr/include/OpenSP/ElementType.h:226:19: error: ‘exclusions_’ was not declared in this scope; did you mean ‘exclusions’?
  226 |   exclusions.swap(exclusions_);
      |                   ^~~~~~~~~~~
      |                   exclusions
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:230:6: error: ‘ElementDefinition’ has not been declared
  230 | void ElementDefinition::setRank(StringC &rankSuffix,
      |      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h: In function ‘void setRank(StringC&, Vector<const RankStem*>&)’:
/usr/include/OpenSP/ElementType.h:233:18: error: ‘rankStems_’ was not declared in this scope; did you mean ‘rankStems’?
  233 |   rankStems.swap(rankStems_);
      |                  ^~~~~~~~~~
      |                  rankStems
/usr/include/OpenSP/ElementType.h:234:19: error: ‘rankSuffix_’ was not declared in this scope; did you mean ‘rankSuffix’?
  234 |   rankSuffix.swap(rankSuffix_);
      |                   ^~~~~~~~~~~
      |                   rankSuffix
/usr/include/OpenSP/ElementType.h: At global scope:
/usr/include/OpenSP/ElementType.h:238:48: error: invalid use of incomplete type ‘class ElementType’
  238 | void ElementType::setOrigName(StringC &origName)
      |                                                ^
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:244:34: error: invalid use of incomplete type ‘class ElementType’
  244 | Boolean ElementType::undefined() const
      |                                  ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:250:40: error: invalid use of incomplete type ‘class ElementType’
  250 | Boolean ElementType::isRankedElement() const
      |                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:256:7: error: ‘ElementDefinition’ does not name a type
  256 | const ElementDefinition *ElementType::definition() const
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:262:55: error: ‘ElementDefinition’ was not declared in this scope
  262 | void ElementType::setElementDefinition(const ConstPtr<ElementDefinition> &def,
      |                                                       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:262:72: error: template argument 1 is invalid
  262 | void ElementType::setElementDefinition(const ConstPtr<ElementDefinition> &def,
      |                                                                        ^
/usr/include/OpenSP/ElementType.h:263:55: error: invalid use of incomplete type ‘class ElementType’
  263 |                                        size_t defIndex)
      |                                                       ^
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:270:29: error: invalid use of incomplete type ‘class ElementType’
  270 | size_t ElementType::index() const
      |                             ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:276:54: error: invalid use of incomplete type ‘class ElementType’
  276 | const RankStem *ElementType::rankedElementRankStem() const
      |                                                      ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:282:54: error: invalid use of incomplete type ‘class ElementType’
  282 | void ElementType::setMap(const ShortReferenceMap *map)
      |                                                      ^
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:288:40: error: invalid use of incomplete type ‘class ElementType’
  288 | const StringC &ElementType::origName() const
      |                                        ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:294:45: error: invalid use of incomplete type ‘class ElementType’
  294 | const ShortReferenceMap *ElementType::map() const
      |                                             ^~~~~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:300:26: error: invalid use of incomplete type ‘class RankStem’
  300 | size_t RankStem::index() const
      |                          ^~~~~
/usr/include/OpenSP/ElementType.h:28:7: note: forward declaration of ‘class RankStem’
   28 | class RankStem;
      |       ^~~~~~~~
/usr/include/OpenSP/ElementType.h:306:33: error: invalid use of incomplete type ‘class RankStem’
  306 | size_t RankStem::nDefinitions() const
      |                                 ^~~~~
/usr/include/OpenSP/ElementType.h:28:7: note: forward declaration of ‘class RankStem’
   28 | class RankStem;
      |       ^~~~~~~~
/usr/include/OpenSP/ElementType.h:312:7: error: ‘ElementDefinition’ does not name a type
  312 | const ElementDefinition *RankStem::definition(size_t i) const
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:318:6: error: ‘ElementDefinition’ has not been declared
  318 | Mode ElementDefinition::mode(Boolean netEnabled) const
      |      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:318:50: error: non-member function ‘Mode mode(Boolean)’ cannot have cv-qualifier
  318 | Mode ElementDefinition::mode(Boolean netEnabled) const
      |                                                  ^~~~~
/usr/include/OpenSP/ElementType.h: In function ‘Mode mode(Boolean)’:
/usr/include/OpenSP/ElementType.h:320:23: error: ‘netMode_’ was not declared in this scope
  320 |   return netEnabled ? netMode_ : mode_;
      |                       ^~~~~~~~
/usr/include/OpenSP/ElementType.h:320:34: error: ‘mode_’ was not declared in this scope; did you mean ‘mode_t’?
  320 |   return netEnabled ? netMode_ : mode_;
      |                                  ^~~~~
      |                                  mode_t
In file included from /usr/include/OpenSP/Markup.h:16,
                 from /usr/include/OpenSP/Entity.h:22,
                 from /usr/include/OpenSP/Dtd.h:14:
/usr/include/OpenSP/SdText.h: At global scope:
/usr/include/OpenSP/SdText.h:21:15: error: variable ‘SP_API SdTextItem’ has initializer but incomplete type
   21 | struct SP_API SdTextItem {
      |               ^~~~~~~~~~
/usr/include/OpenSP/SdText.h:22:15: error: expected ‘}’ before ‘;’ token
   22 |   SdTextItem();
      |               ^
/usr/include/OpenSP/SdText.h:21:26: note: to match this ‘{’
   21 | struct SP_API SdTextItem {
      |                          ^
/usr/include/OpenSP/SdText.h:23:20: error: ‘SdTextItem’ does not name a type; did you mean ‘TextIter’?
   23 |   SdTextItem(const SdTextItem &);
      |                    ^~~~~~~~~~
      |                    TextIter
/usr/include/OpenSP/SdText.h:23:33: error: expected constructor, destructor, or type conversion before ‘;’ token
   23 |   SdTextItem(const SdTextItem &);
      |                                 ^
/usr/include/OpenSP/SdText.h:24:24: error: ‘SdTextItem’ does not name a type; did you mean ‘TextIter’?
   24 |   void operator=(const SdTextItem &);
      |                        ^~~~~~~~~~
      |                        TextIter
/usr/include/OpenSP/SdText.h:24:8: error: ‘void operator=(const int&)’ must be a non-static member function
   24 |   void operator=(const SdTextItem &);
      |        ^~~~~~~~
/usr/include/OpenSP/SdText.h:25:14: error: expected class-name before ‘(’ token
   25 |   ~SdTextItem();
      |              ^
/usr/include/OpenSP/SdText.h:26:3: error: ‘Location’ does not name a type
   26 |   Location loc;
      |   ^~~~~~~~
/usr/include/OpenSP/SdText.h:27:10: error: ‘size_t index’ redeclared as different kind of entity
   27 |   size_t index;
      |          ^~~~~
/usr/include/OpenSP/Location.h:85:9: note: previous declaration ‘Index index()’
   85 |   Index index() const { return index_; }
      |         ^~~~~
/usr/include/OpenSP/SdText.h:28:1: error: expected declaration before ‘}’ token
   28 | };
      | ^
/usr/include/OpenSP/SdText.h:30:14: error: variable ‘SP_API SdText’ has initializer but incomplete type
   30 | class SP_API SdText {
      |              ^~~~~~
/usr/include/OpenSP/SdText.h:31:1: error: expected primary-expression before ‘public’
   31 | public:
      | ^~~~~~
/usr/include/OpenSP/SdText.h:31:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/SdText.h:30:21: note: to match this ‘{’
   30 | class SP_API SdText {
      |                     ^
/usr/include/OpenSP/SdText.h:31:1: error: expected ‘,’ or ‘;’ before ‘public’
   31 | public:
      | ^~~~~~
/usr/include/OpenSP/SdText.h:33:16: error: ‘Location’ does not name a type
   33 |   SdText(const Location &loc, Boolean lita);
      |                ^~~~~~~~
/usr/include/OpenSP/SdText.h:33:44: error: expected constructor, destructor, or type conversion before ‘;’ token
   33 |   SdText(const Location &loc, Boolean lita);
      |                                            ^
/usr/include/OpenSP/SdText.h:34:8: error: variable or field ‘swap’ declared void
   34 |   void swap(SdText &);
      |        ^~~~
/usr/include/OpenSP/SdText.h:34:21: error: expected primary-expression before ‘)’ token
   34 |   void swap(SdText &);
      |                     ^
/usr/include/OpenSP/SdText.h:35:34: error: ‘Location’ does not name a type
   35 |   void addChar(SyntaxChar, const Location &);
      |                                  ^~~~~~~~
/usr/include/OpenSP/SdText.h:36:38: error: non-member function ‘const String<unsigned int>& string()’ cannot have cv-qualifier
   36 |   const String<SyntaxChar> &string() const;
      |                                      ^~~~~
/usr/include/OpenSP/SdText.h:36:29: error: ambiguating new declaration of ‘const String<unsigned int>& string()’
   36 |   const String<SyntaxChar> &string() const;
      |                             ^~~~~~
/usr/include/OpenSP/ExternalId.h:131:16: note: old declaration ‘const StringC& string()’
  131 | const StringC &PublicId::string() const
      |                ^~~~~~~~
/usr/include/OpenSP/SdText.h:37:18: error: non-member function ‘Boolean lita()’ cannot have cv-qualifier
   37 |   Boolean lita() const;
      |                  ^~~~~
/usr/include/OpenSP/SdText.h:38:3: error: ‘Location’ does not name a type
   38 |   Location endDelimLocation() const;
      |   ^~~~~~~~
/usr/include/OpenSP/SdText.h:39:1: error: expected unqualified-id before ‘private’
   39 | private:
      | ^~~~~~~
/usr/include/OpenSP/SdText.h:41:22: error: conflicting declaration ‘String<unsigned int> chars_’
   41 |   String<SyntaxChar> chars_;
      |                      ^~~~~~
/usr/include/OpenSP/Text.h:95:11: note: previous declaration as ‘StringC chars_’
   95 |   StringC chars_;
      |           ^~~~~~
/usr/include/OpenSP/SdText.h:42:22: error: redefinition of ‘int items_’
   42 |   Vector<SdTextItem> items_;
      |                      ^~~~~~
/usr/include/OpenSP/Text.h:96:20: note: ‘int items_’ previously declared here
   96 |   Vector<TextItem> items_;
      |                    ^~~~~~
/usr/include/OpenSP/SdText.h:43:3: error: ‘friend’ used outside of class
   43 |   friend class SdTextIter;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/SdText.h:44:1: error: expected declaration before ‘}’ token
   44 | };
      | ^
/usr/include/OpenSP/SdText.h:46:14: error: variable ‘SP_API SdTextIter’ has initializer but incomplete type
   46 | class SP_API SdTextIter {
      |              ^~~~~~~~~~
/usr/include/OpenSP/SdText.h:47:1: error: expected primary-expression before ‘public’
   47 | public:
      | ^~~~~~
/usr/include/OpenSP/SdText.h:47:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/SdText.h:46:25: note: to match this ‘{’
   46 | class SP_API SdTextIter {
      |                         ^
/usr/include/OpenSP/SdText.h:47:1: error: expected ‘,’ or ‘;’ before ‘public’
   47 | public:
      | ^~~~~~
/usr/include/OpenSP/SdText.h:49:47: error: ‘Location’ is not a type
   49 |   Boolean next(const SyntaxChar *&, size_t &, Location &);
      |                                               ^~~~~~~~
/usr/include/OpenSP/SdText.h:49:57: error: ‘Boolean next(const SyntaxChar*&, size_t&, int&)’ redeclared as different kind of entity
   49 |   Boolean next(const SyntaxChar *&, size_t &, Location &);
      |                                                         ^
/usr/include/OpenSP/Text.h:104:11: note: previous declaration ‘Boolean next’
  104 |   Boolean next(TextItem::Type &, const Char *&, size_t &,
      |           ^~~~
/usr/include/OpenSP/SdText.h:50:1: error: expected unqualified-id before ‘private’
   50 | private:
      | ^~~~~~~
/usr/include/OpenSP/SdText.h:53:1: error: expected declaration before ‘}’ token
   53 | };
      | ^
/usr/include/OpenSP/SdText.h:56:9: error: ‘SdText’ is not a class, namespace, or enumeration
   56 | Boolean SdText::lita() const
      |         ^~~~~~
/usr/include/OpenSP/SdText.h:56:24: error: non-member function ‘Boolean lita()’ cannot have cv-qualifier
   56 | Boolean SdText::lita() const
      |                        ^~~~~
/usr/include/OpenSP/SdText.h: In function ‘Boolean lita()’:
/usr/include/OpenSP/SdText.h:58:10: error: ‘lita_’ was not declared in this scope; did you mean ‘lita’?
   58 |   return lita_;
      |          ^~~~~
      |          lita
/usr/include/OpenSP/SdText.h: At global scope:
/usr/include/OpenSP/SdText.h:62:27: error: ‘SdText’ is not a class, namespace, or enumeration
   62 | const String<SyntaxChar> &SdText::string() const
      |                           ^~~~~~
/usr/include/OpenSP/SdText.h:62:44: error: non-member function ‘const String<unsigned int>& string()’ cannot have cv-qualifier
   62 | const String<SyntaxChar> &SdText::string() const
      |                                            ^~~~~
/usr/include/OpenSP/SdText.h:62:27: error: ambiguating new declaration of ‘const String<unsigned int>& string()’
   62 | const String<SyntaxChar> &SdText::string() const
      |                           ^~~~~~
/usr/include/OpenSP/ExternalId.h:131:16: note: old declaration ‘const StringC& string()’
  131 | const StringC &PublicId::string() const
      |                ^~~~~~~~
/usr/include/OpenSP/SdText.h: In function ‘const String<unsigned int>& string()’:
/usr/include/OpenSP/SdText.h:64:10: error: invalid initialization of reference of type ‘const String<unsigned int>&’ from expression of type ‘StringC’ {aka ‘String<unsigned char>’}
   64 |   return chars_;
      |          ^~~~~~
/usr/include/OpenSP/Markup.h: At global scope:
/usr/include/OpenSP/Markup.h:24:15: error: variable ‘SP_API MarkupItem’ has initializer but incomplete type
   24 | struct SP_API MarkupItem {
      |               ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:25:15: error: expected ‘}’ before ‘;’ token
   25 |   MarkupItem();
      |               ^
/usr/include/OpenSP/Markup.h:24:26: note: to match this ‘{’
   24 | struct SP_API MarkupItem {
      |                          ^
/usr/include/OpenSP/Markup.h:26:20: error: ‘MarkupItem’ does not name a type; did you mean ‘Markup’?
   26 |   MarkupItem(const MarkupItem &);
      |                    ^~~~~~~~~~
      |                    Markup
/usr/include/OpenSP/Markup.h:26:33: error: expected constructor, destructor, or type conversion before ‘;’ token
   26 |   MarkupItem(const MarkupItem &);
      |                                 ^
/usr/include/OpenSP/Markup.h:27:14: error: expected class-name before ‘(’ token
   27 |   ~MarkupItem();
      |              ^
/usr/include/OpenSP/Markup.h:28:24: error: ‘MarkupItem’ does not name a type; did you mean ‘Markup’?
   28 |   void operator=(const MarkupItem &);
      |                        ^~~~~~~~~~
      |                        Markup
/usr/include/OpenSP/Markup.h:28:8: error: ‘void operator=(const int&)’ must be a non-static member function
   28 |   void operator=(const MarkupItem &);
      |        ^~~~~~~~
/usr/include/OpenSP/Markup.h:29:17: error: conflicting declaration ‘unsigned char type’
   29 |   unsigned char type;
      |                 ^~~~
/usr/include/OpenSP/Text.h:37:8: note: previous declaration as ‘Type type’
   37 |   Type type;
      |        ^~~~
/usr/include/OpenSP/Markup.h:30:17: error: ‘unsigned char index’ redeclared as different kind of entity
   30 |   unsigned char index;
      |                 ^~~~~
/usr/include/OpenSP/Location.h:85:9: note: previous declaration ‘Index index()’
   85 |   Index index() const { return index_; }
      |         ^~~~~
/usr/include/OpenSP/Markup.h:33:14: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
   33 |     ConstPtr<Origin> *origin; // type == entityStart
      |              ^~~~~~
      |              origin
/usr/include/OpenSP/Markup.h:33:20: error: template argument 1 is invalid
   33 |     ConstPtr<Origin> *origin; // type == entityStart
      |                    ^
/usr/include/OpenSP/Markup.h:34:5: error: ‘Text’ does not name a type
   34 |     Text *text;                           // type == literal
      |     ^~~~
/usr/include/OpenSP/Markup.h:35:5: error: ‘SdText’ does not name a type; did you mean ‘Text’?
   35 |     SdText *sdText;                       // type == sdLiteral
      |     ^~~~~~
      |     Text
/usr/include/OpenSP/Markup.h:36:3: error: namespace-scope anonymous aggregates must be static
   36 |   };
      |   ^
/usr/include/OpenSP/Markup.h:37:1: error: expected declaration before ‘}’ token
   37 | };
      | ^
/usr/include/OpenSP/Markup.h:41:14: error: variable ‘SP_API Markup’ has initializer but incomplete type
   41 | class SP_API Markup {
      |              ^~~~~~
/usr/include/OpenSP/Markup.h:42:1: error: expected primary-expression before ‘public’
   42 | public:
      | ^~~~~~
/usr/include/OpenSP/Markup.h:42:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Markup.h:41:21: note: to match this ‘{’
   41 | class SP_API Markup {
      |                     ^
/usr/include/OpenSP/Markup.h:42:1: error: expected ‘,’ or ‘;’ before ‘public’
   42 | public:
      | ^~~~~~
/usr/include/OpenSP/Markup.h:60:11: error: expected constructor, destructor, or type conversion before ‘;’ token
   60 |   Markup();
      |           ^
/usr/include/OpenSP/Markup.h:61:12: error: expected constructor, destructor, or type conversion before ‘;’ token
   61 |   ~Markup();
      |            ^
/usr/include/OpenSP/Markup.h:62:17: error: non-member function ‘size_t size()’ cannot have cv-qualifier
   62 |   size_t size() const;
      |                 ^~~~~
/usr/include/OpenSP/Markup.h:65:8: error: variable or field ‘addDelim’ declared void
   65 |   void addDelim(Syntax::DelimGeneral);
      |        ^~~~~~~~
/usr/include/OpenSP/Markup.h:65:25: error: incomplete type ‘Syntax’ used in nested name specifier
   65 |   void addDelim(Syntax::DelimGeneral);
      |                         ^~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:66:8: error: variable or field ‘addReservedName’ declared void
   66 |   void addReservedName(Syntax::ReservedName, const InputSource *);
      |        ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:66:32: error: incomplete type ‘Syntax’ used in nested name specifier
   66 |   void addReservedName(Syntax::ReservedName, const InputSource *);
      |                                ^~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:66:46: error: expected primary-expression before ‘const’
   66 |   void addReservedName(Syntax::ReservedName, const InputSource *);
      |                                              ^~~~~
/usr/include/OpenSP/Markup.h:67:8: error: variable or field ‘addReservedName’ declared void
   67 |   void addReservedName(Syntax::ReservedName, const StringC &);
      |        ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:67:32: error: incomplete type ‘Syntax’ used in nested name specifier
   67 |   void addReservedName(Syntax::ReservedName, const StringC &);
      |                                ^~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:67:46: error: expected primary-expression before ‘const’
   67 |   void addReservedName(Syntax::ReservedName, const StringC &);
      |                                              ^~~~~
/usr/include/OpenSP/Markup.h:68:8: error: variable or field ‘addSdReservedName’ declared void
   68 |   void addSdReservedName(Sd::ReservedName, const InputSource *);
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:68:30: error: incomplete type ‘Sd’ used in nested name specifier
   68 |   void addSdReservedName(Sd::ReservedName, const InputSource *);
      |                              ^~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:68:44: error: expected primary-expression before ‘const’
   68 |   void addSdReservedName(Sd::ReservedName, const InputSource *);
      |                                            ^~~~~
/usr/include/OpenSP/Markup.h:69:8: error: variable or field ‘addSdReservedName’ declared void
   69 |   void addSdReservedName(Sd::ReservedName, const Char *, size_t);
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:69:30: error: incomplete type ‘Sd’ used in nested name specifier
   69 |   void addSdReservedName(Sd::ReservedName, const Char *, size_t);
      |                              ^~~~~~~~~~~~
/usr/include/OpenSP/Markup.h:69:44: error: expected primary-expression before ‘const’
   69 |   void addSdReservedName(Sd::ReservedName, const Char *, size_t);
      |                                            ^~~~~
/usr/include/OpenSP/Markup.h:69:64: error: expected primary-expression before ‘)’ token
   69 |   void addSdReservedName(Sd::ReservedName, const Char *, size_t);
      |                                                                ^
/usr/include/OpenSP/Markup.h:83:25: error: ‘Text’ does not name a type
   83 |   void addLiteral(const Text &);
      |                         ^~~~
/usr/include/OpenSP/Markup.h:84:27: error: ‘SdText’ does not name a type; did you mean ‘Text’?
   84 |   void addSdLiteral(const SdText &);
      |                           ^~~~~~
      |                           Text
/usr/include/OpenSP/Markup.h:86:45: error: ‘Sd::ReservedName’ has not been declared
   86 |   void changeToSdReservedName(size_t index, Sd::ReservedName);
      |                                             ^~
/usr/include/OpenSP/Markup.h:87:8: error: variable or field ‘swap’ declared void
   87 |   void swap(Markup &);
      |        ^~~~
/usr/include/OpenSP/Markup.h:87:21: error: expected primary-expression before ‘)’ token
   87 |   void swap(Markup &);
      |                     ^
/usr/include/OpenSP/Markup.h:88:1: error: expected unqualified-id before ‘private’
   88 | private:
      | ^~~~~~~
/usr/include/OpenSP/Markup.h:90:22: error: redefinition of ‘int items_’
   90 |   Vector<MarkupItem> items_;
      |                      ^~~~~~
/usr/include/OpenSP/Text.h:96:20: note: ‘int items_’ previously declared here
   96 |   Vector<TextItem> items_;
      |                    ^~~~~~
/usr/include/OpenSP/Markup.h:91:3: error: ‘friend’ used outside of class
   91 |   friend class MarkupIter;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/Markup.h:92:1: error: expected declaration before ‘}’ token
   92 | };
      | ^
/usr/include/OpenSP/Markup.h:96:14: error: variable ‘SP_API MarkupIter’ has initializer but incomplete type
   96 | class SP_API MarkupIter {
      |              ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:97:1: error: expected primary-expression before ‘public’
   97 | public:
      | ^~~~~~
/usr/include/OpenSP/Markup.h:97:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Markup.h:96:25: note: to match this ‘{’
   96 | class SP_API MarkupIter {
      |                         ^
/usr/include/OpenSP/Markup.h:97:1: error: expected ‘,’ or ‘;’ before ‘public’
   97 | public:
      | ^~~~~~
/usr/include/OpenSP/Markup.h:99:11: error: invalid use of incomplete type ‘class Markup’
   99 |   Markup::Type type() const;
      |           ^~~~
/usr/include/OpenSP/Location.h:30:7: note: forward declaration of ‘class Markup’
   30 | class Markup;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:100:19: error: non-member function ‘Boolean valid()’ cannot have cv-qualifier
  100 |   Boolean valid() const;
      |                   ^~~~~
/usr/include/OpenSP/Markup.h:103:8: error: variable or field ‘advance’ declared void
  103 |   void advance(Location &, const ConstPtr<Syntax> &);
      |        ^~~~~~~
/usr/include/OpenSP/Markup.h:103:26: error: expected primary-expression before ‘,’ token
  103 |   void advance(Location &, const ConstPtr<Syntax> &);
      |                          ^
/usr/include/OpenSP/Markup.h:103:28: error: expected primary-expression before ‘const’
  103 |   void advance(Location &, const ConstPtr<Syntax> &);
      |                            ^~~~~
/usr/include/OpenSP/Markup.h:104:18: error: non-member function ‘size_t index()’ cannot have cv-qualifier
  104 |   size_t index() const;
      |                  ^~~~~
/usr/include/OpenSP/Markup.h:105:30: error: non-member function ‘const Char* charsPointer()’ cannot have cv-qualifier
  105 |   const Char *charsPointer() const;
      |                              ^~~~~
/usr/include/OpenSP/Markup.h:106:24: error: non-member function ‘size_t charsLength()’ cannot have cv-qualifier
  106 |   size_t charsLength() const;
      |                        ^~~~~
/usr/include/OpenSP/Markup.h:107:9: error: ‘Text’ does not name a type
  107 |   const Text &text() const;
      |         ^~~~
/usr/include/OpenSP/Markup.h:108:38: error: non-member function ‘const EntityOrigin* entityOrigin()’ cannot have cv-qualifier
  108 |   const EntityOrigin *entityOrigin() const; // valid for type == entityStart
      |                                      ^~~~~
/usr/include/OpenSP/Markup.h:109:9: error: ‘SdText’ does not name a type; did you mean ‘Text’?
  109 |   const SdText &sdText() const;
      |         ^~~~~~
      |         Text
/usr/include/OpenSP/Markup.h:110:11: error: invalid use of incomplete type ‘class Syntax’
  110 |   Syntax::DelimGeneral delimGeneral() const;
      |           ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:111:11: error: invalid use of incomplete type ‘class Syntax’
  111 |   Syntax::ReservedName reservedName() const;
      |           ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:112:7: error: invalid use of incomplete type ‘class Sd’
  112 |   Sd::ReservedName sdReservedName() const;
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Markup.h:113:1: error: expected unqualified-id before ‘private’
  113 | private:
      | ^~~~~~~
/usr/include/OpenSP/Markup.h:115:38: error: expected initializer before ‘items_’
  115 |   Vector<MarkupItem>::const_iterator items_;
      |                                      ^~~~~~
/usr/include/OpenSP/Markup.h:117:10: error: redefinition of ‘size_t index_’
  117 |   size_t index_;
      |          ^~~~~~
/usr/include/OpenSP/Location.h:96:9: note: ‘Index index_’ previously declared here
   96 |   Index index_;
      |         ^~~~~~
/usr/include/OpenSP/Markup.h:119:1: error: expected declaration before ‘}’ token
  119 | };
      | ^
/usr/include/OpenSP/Markup.h:122:20: error: invalid use of incomplete type ‘class Markup’
  122 | void Markup::clear()
      |                    ^
/usr/include/OpenSP/Location.h:30:7: note: forward declaration of ‘class Markup’
   30 | class Markup;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:129:23: error: invalid use of incomplete type ‘class Markup’
  129 | size_t Markup::size() const
      |                       ^~~~~
/usr/include/OpenSP/Location.h:30:7: note: forward declaration of ‘class Markup’
   30 | class Markup;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:135:29: error: invalid use of incomplete type ‘class MarkupIter’
  135 | Boolean MarkupIter::valid() const
      |                             ^~~~~
/usr/include/OpenSP/Markup.h:91:16: note: forward declaration of ‘class MarkupIter’
   91 |   friend class MarkupIter;
      |                ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:141:28: error: invalid use of incomplete type ‘class MarkupIter’
  141 | size_t MarkupIter::index() const
      |                            ^~~~~
/usr/include/OpenSP/Markup.h:91:16: note: forward declaration of ‘class MarkupIter’
   91 |   friend class MarkupIter;
      |                ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:147:9: error: invalid use of incomplete type ‘class Markup’
  147 | Markup::Type MarkupIter::type() const
      |         ^~~~
/usr/include/OpenSP/Location.h:30:7: note: forward declaration of ‘class Markup’
   30 | class Markup;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:153:48: error: invalid use of incomplete type ‘class MarkupIter’
  153 | const EntityOrigin *MarkupIter::entityOrigin() const
      |                                                ^~~~~
/usr/include/OpenSP/Markup.h:91:16: note: forward declaration of ‘class MarkupIter’
   91 |   friend class MarkupIter;
      |                ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:159:40: error: invalid use of incomplete type ‘class MarkupIter’
  159 | const Char *MarkupIter::charsPointer() const
      |                                        ^~~~~
/usr/include/OpenSP/Markup.h:91:16: note: forward declaration of ‘class MarkupIter’
   91 |   friend class MarkupIter;
      |                ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:165:34: error: invalid use of incomplete type ‘class MarkupIter’
  165 | size_t MarkupIter::charsLength() const
      |                                  ^~~~~
/usr/include/OpenSP/Markup.h:91:16: note: forward declaration of ‘class MarkupIter’
   91 |   friend class MarkupIter;
      |                ^~~~~~~~~~
/usr/include/OpenSP/Markup.h:171:7: error: ‘Text’ does not name a type
  171 | const Text &MarkupIter::text() const
      |       ^~~~
/usr/include/OpenSP/Markup.h:177:7: error: ‘SdText’ does not name a type; did you mean ‘Text’?
  177 | const SdText &MarkupIter::sdText() const
      |       ^~~~~~
      |       Text
/usr/include/OpenSP/Markup.h:183:9: error: invalid use of incomplete type ‘class Syntax’
  183 | Syntax::DelimGeneral MarkupIter::delimGeneral() const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:189:9: error: invalid use of incomplete type ‘class Syntax’
  189 | Syntax::ReservedName MarkupIter::reservedName() const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/Attribute.h:32:7: note: forward declaration of ‘class Syntax’
   32 | class Syntax;
      |       ^~~~~~
/usr/include/OpenSP/Markup.h:195:5: error: invalid use of incomplete type ‘class Sd’
  195 | Sd::ReservedName MarkupIter::sdReservedName() const
      |     ^~~~~~~~~~~~
/usr/include/OpenSP/Syntax.h:25:7: note: forward declaration of ‘class Sd’
   25 | class Sd;
      |       ^~
/usr/include/OpenSP/Entity.h:38:21: error: expected initializer before ‘:’ token
   38 | class SP_API Entity : public EntityDecl {
      |                     ^
/usr/include/OpenSP/Entity.h:90:29: error: expected initializer before ‘:’ token
   90 | class SP_API InternalEntity : public Entity {
      |                             ^
/usr/include/OpenSP/Entity.h:102:23: error: expected initializer before ‘:’ token
  102 | class SP_API PiEntity : public InternalEntity {
      |                       ^
/usr/include/OpenSP/Entity.h:118:33: error: expected initializer before ‘:’ token
  118 | class SP_API InternalDataEntity : public InternalEntity {
      |                                 ^
/usr/include/OpenSP/Entity.h:126:34: error: expected initializer before ‘:’ token
  126 | class SP_API InternalCdataEntity : public InternalDataEntity {
      |                                  ^
/usr/include/OpenSP/Entity.h:139:31: error: expected initializer before ‘:’ token
  139 | class SP_API PredefinedEntity : public InternalCdataEntity {
      |                               ^
/usr/include/OpenSP/Entity.h:147:34: error: expected initializer before ‘:’ token
  147 | class SP_API InternalSdataEntity : public InternalDataEntity {
      |                                  ^
/usr/include/OpenSP/Entity.h:160:33: error: expected initializer before ‘:’ token
  160 | class SP_API InternalTextEntity : public InternalEntity {
      |                                 ^
/usr/include/OpenSP/Entity.h:182:29: error: expected initializer before ‘:’ token
  182 | class SP_API ExternalEntity : public Entity {
      |                             ^
/usr/include/OpenSP/Entity.h:198:33: error: expected initializer before ‘:’ token
  198 | class SP_API ExternalTextEntity : public ExternalEntity {
      |                                 ^
/usr/include/OpenSP/Entity.h:212:36: error: expected initializer before ‘:’ token
  212 | class SP_API ExternalNonTextEntity : public ExternalEntity {
      |                                    ^
/usr/include/OpenSP/Entity.h:230:33: error: expected initializer before ‘:’ token
  230 | class SP_API ExternalDataEntity : public ExternalNonTextEntity {
      |                                 ^
/usr/include/OpenSP/Entity.h:247:27: error: expected initializer before ‘:’ token
  247 | class SP_API SubdocEntity : public ExternalNonTextEntity {
      |                           ^
/usr/include/OpenSP/Entity.h:257:28: error: expected initializer before ‘:’ token
  257 | class SP_API IgnoredEntity : public Entity {
      |                            ^
/usr/include/OpenSP/Entity.h:272:27: error: expected initializer before ‘:’ token
  272 | class SP_API EntityOrigin : public InputSourceOrigin {
      |                           ^
/usr/include/OpenSP/Entity.h:294:24: error: invalid use of incomplete type ‘class Entity’
  294 | Boolean Entity::used() const
      |                        ^~~~~
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Entity.h:300:22: error: invalid use of incomplete type ‘class Entity’
  300 | void Entity::setUsed()
      |                      ^
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Entity.h:306:29: error: invalid use of incomplete type ‘class Entity’
  306 | Boolean Entity::defaulted() const
      |                             ^~~~~
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Entity.h:312:27: error: invalid use of incomplete type ‘class Entity’
  312 | void Entity::setDefaulted()
      |                           ^
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Entity.h:318:41: error: invalid use of incomplete type ‘class InternalEntity’
  318 | const StringC &InternalEntity::string() const
      |                                         ^~~~~
/usr/include/OpenSP/Entity.h:35:7: note: forward declaration of ‘class InternalEntity’
   35 | class InternalEntity;
      |       ^~~~~~~~~~~~~~
/usr/include/OpenSP/Entity.h:324:7: error: ‘Text’ does not name a type
  324 | const Text &InternalEntity::text() const
      |       ^~~~
/usr/include/OpenSP/Entity.h:330:7: error: ‘ExternalId’ does not name a type; did you mean ‘ExternalInfo’?
  330 | const ExternalId &ExternalEntity::externalId() const
      |       ^~~~~~~~~~
      |       ExternalInfo
/usr/include/OpenSP/Entity.h:336:7: error: ‘AttributeList’ does not name a type
  336 | const AttributeList &ExternalDataEntity::attributes() const
      |       ^~~~~~~~~~~~~
/usr/include/OpenSP/Entity.h:342:48: error: invalid use of incomplete type ‘class ExternalDataEntity’
  342 | const Notation *ExternalDataEntity::notation() const
      |                                                ^~~~~
/usr/include/OpenSP/Entity.h:33:7: note: forward declaration of ‘class ExternalDataEntity’
   33 | class ExternalDataEntity;
      |       ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/OpenSP/Dtd.h:15:
/usr/include/OpenSP/ShortReferenceMap.h:22:32: error: expected initializer before ‘:’ token
   22 | class SP_API ShortReferenceMap : public Named {
      |                                ^
/usr/include/OpenSP/ShortReferenceMap.h:48:38: error: invalid use of incomplete type ‘class ShortReferenceMap’
   48 | Boolean ShortReferenceMap::defined() const
      |                                      ^~~~~
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:54:56: error: invalid use of incomplete type ‘class ShortReferenceMap’
   54 | const StringC *ShortReferenceMap::entityName(size_t i) const
      |                                                        ^~~~~
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:63:61: error: invalid use of incomplete type ‘class ShortReferenceMap’
   63 | const ConstPtr<Entity> &ShortReferenceMap::entity(size_t i) const
      |                                                             ^~~~~
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:72:68: error: invalid use of incomplete type ‘class ShortReferenceMap’
   72 | void ShortReferenceMap::setEntityMap(Vector<ConstPtr<Entity> > &map)
      |                                                                    ^
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:78:35: error: invalid use of incomplete type ‘class ShortReferenceMap’
   78 | Boolean ShortReferenceMap::used() const
      |                                   ^~~~~
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:84:33: error: invalid use of incomplete type ‘class ShortReferenceMap’
   84 | void ShortReferenceMap::setUsed()
      |                                 ^
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:90:46: error: ‘Location’ does not name a type
   90 | void ShortReferenceMap::setDefLocation(const Location &loc)
      |                                              ^~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:90:59: error: invalid use of incomplete type ‘class ShortReferenceMap’
   90 | void ShortReferenceMap::setDefLocation(const Location &loc)
      |                                                           ^
/usr/include/OpenSP/ElementType.h:27:7: note: forward declaration of ‘class ShortReferenceMap’
   27 | class ShortReferenceMap;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ShortReferenceMap.h:96:7: error: ‘Location’ does not name a type
   96 | const Location &ShortReferenceMap::defLocation() const
      |       ^~~~~~~~
/usr/include/OpenSP/Dtd.h:30:18: error: expected initializer before ‘:’ token
   30 | class SP_API Dtd : public Resource {
      |                  ^
/usr/include/OpenSP/Dtd.h:133:18: error: ‘Dtd’ has not been declared
  133 | ConstPtr<Entity> Dtd::lookupEntity(Boolean isParameter, const StringC &name)
      |                  ^~~
/usr/include/OpenSP/Dtd.h:134:3: error: non-member function ‘ConstPtr<Entity> lookupEntity(Boolean, const StringC&)’ cannot have cv-qualifier
  134 |   const
      |   ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘ConstPtr<Entity> lookupEntity(Boolean, const StringC&)’:
/usr/include/OpenSP/Dtd.h:137:14: error: ‘parameterEntityTable_’ was not declared in this scope
  137 |           ? &parameterEntityTable_
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:138:14: error: ‘generalEntityTable_’ was not declared in this scope
  138 |           : &generalEntityTable_)->lookupConst(name);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:142:15: error: ‘Dtd’ has not been declared
  142 | const Entity *Dtd::lookupEntityTemp(Boolean isParameter, const StringC &name)
      |               ^~~
/usr/include/OpenSP/Dtd.h:143:3: error: non-member function ‘const Entity* lookupEntityTemp(Boolean, const StringC&)’ cannot have cv-qualifier
  143 |   const
      |   ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const Entity* lookupEntityTemp(Boolean, const StringC&)’:
/usr/include/OpenSP/Dtd.h:146:14: error: ‘parameterEntityTable_’ was not declared in this scope
  146 |           ? &parameterEntityTable_
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:147:14: error: ‘generalEntityTable_’ was not declared in this scope
  147 |           : &generalEntityTable_)->lookupTemp(name);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:151:13: error: ‘Dtd’ has not been declared
  151 | Ptr<Entity> Dtd::lookupEntity(Boolean isParameter, const StringC &name)
      |             ^~~
/usr/include/OpenSP/Dtd.h:151:13: error: ambiguating new declaration of ‘Ptr<Entity> lookupEntity(Boolean, const StringC&)’
/usr/include/OpenSP/Dtd.h:133:18: note: old declaration ‘ConstPtr<Entity> lookupEntity(Boolean, const StringC&)’
  133 | ConstPtr<Entity> Dtd::lookupEntity(Boolean isParameter, const StringC &name)
      |                  ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Entity> lookupEntity(Boolean, const StringC&)’:
/usr/include/OpenSP/Dtd.h:154:14: error: ‘parameterEntityTable_’ was not declared in this scope
  154 |           ? &parameterEntityTable_
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:155:14: error: ‘generalEntityTable_’ was not declared in this scope
  155 |           : &generalEntityTable_)->lookup(name);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:160:1: error: ‘Dtd’ has not been declared
  160 | Dtd::insertEntity(const Ptr<Entity> &entity, Boolean replace)
      | ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Entity> insertEntity(const Ptr<Entity>&, Boolean)’:
/usr/include/OpenSP/Dtd.h:162:18: error: invalid use of incomplete type ‘class Entity’
  162 |   return ((entity->declType() == Entity::parameterEntity
      |                  ^~
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Dtd.h:162:42: error: incomplete type ‘Entity’ used in nested name specifier
  162 |   return ((entity->declType() == Entity::parameterEntity
      |                                          ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:163:21: error: invalid use of incomplete type ‘class Entity’
  163 |            || entity->declType() == Entity::doctype)
      |                     ^~
/usr/include/OpenSP/Location.h:27:7: note: forward declaration of ‘class Entity’
   27 | class Entity;
      |       ^~~~~~
/usr/include/OpenSP/Dtd.h:163:45: error: incomplete type ‘Entity’ used in nested name specifier
  163 |            || entity->declType() == Entity::doctype)
      |                                             ^~~~~~~
/usr/include/OpenSP/Dtd.h:164:14: error: ‘parameterEntityTable_’ was not declared in this scope
  164 |           ? &parameterEntityTable_
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:165:14: error: ‘generalEntityTable_’ was not declared in this scope
  165 |           : &generalEntityTable_)->insert(entity, replace);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:169:13: error: ‘Dtd’ has not been declared
  169 | Ptr<Entity> Dtd::removeEntity(Boolean isParameter, const StringC &name)
      |             ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Entity> removeEntity(Boolean, const StringC&)’:
/usr/include/OpenSP/Dtd.h:172:14: error: ‘parameterEntityTable_’ was not declared in this scope
  172 |           ? &parameterEntityTable_
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h:173:14: error: ‘generalEntityTable_’ was not declared in this scope
  173 |           : &generalEntityTable_)->remove(name);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:177:1: error: ‘Dtd’ does not name a type
  177 | Dtd::ConstEntityIter Dtd::generalEntityIter() const
      | ^~~
/usr/include/OpenSP/Dtd.h:184:1: error: ‘Dtd’ does not name a type
  184 | Dtd::EntityIter Dtd::generalEntityIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:191:1: error: ‘Dtd’ does not name a type
  191 | Dtd::ConstEntityIter Dtd::parameterEntityIter() const
      | ^~~
/usr/include/OpenSP/Dtd.h:198:1: error: ‘Dtd’ does not name a type
  198 | Dtd::EntityIter Dtd::parameterEntityIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:205:18: error: ‘Dtd’ has not been declared
  205 | ConstPtr<Entity> Dtd::defaultEntity() const
      |                  ^~~
/usr/include/OpenSP/Dtd.h:205:39: error: non-member function ‘ConstPtr<Entity> defaultEntity()’ cannot have cv-qualifier
  205 | ConstPtr<Entity> Dtd::defaultEntity() const
      |                                       ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘ConstPtr<Entity> defaultEntity()’:
/usr/include/OpenSP/Dtd.h:207:10: error: ‘defaultEntity_’ was not declared in this scope; did you mean ‘defaultEntity’?
  207 |   return defaultEntity_;
      |          ^~~~~~~~~~~~~~
      |          defaultEntity
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:211:15: error: ‘Dtd’ has not been declared
  211 | const Entity *Dtd::defaultEntityTemp() const
      |               ^~~
/usr/include/OpenSP/Dtd.h:211:40: error: non-member function ‘const Entity* defaultEntityTemp()’ cannot have cv-qualifier
  211 | const Entity *Dtd::defaultEntityTemp() const
      |                                        ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const Entity* defaultEntityTemp()’:
/usr/include/OpenSP/Dtd.h:213:10: error: ‘defaultEntity_’ was not declared in this scope; did you mean ‘defaultEntity’?
  213 |   return defaultEntity_.pointer();
      |          ^~~~~~~~~~~~~~
      |          defaultEntity
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:217:40: error: ‘Dtd’ has not been declared
  217 | const ConstPtr<StringResource<Char> > &Dtd::namePointer() const
      |                                        ^~~
/usr/include/OpenSP/Dtd.h:217:59: error: non-member function ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’ cannot have cv-qualifier
  217 | const ConstPtr<StringResource<Char> > &Dtd::namePointer() const
      |                                                           ^~~~~
/usr/include/OpenSP/Dtd.h:217:40: error: ambiguating new declaration of ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’
  217 | const ConstPtr<StringResource<Char> > &Dtd::namePointer() const
      |                                        ^~~
/usr/include/OpenSP/Named.h:18:18: note: old declaration ‘const StringC* namePointer()’
   18 |   const StringC *namePointer() const { return &name_; }
      |                  ^~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’:
/usr/include/OpenSP/Dtd.h:219:10: error: invalid initialization of reference of type ‘const ConstPtr<StringResource<unsigned char> >&’ from expression of type ‘StringC’ {aka ‘String<unsigned char>’}
  219 |   return name_;
      |          ^~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:223:16: error: ‘Dtd’ has not been declared
  223 | const StringC &Dtd::name() const
      |                ^~~
/usr/include/OpenSP/Dtd.h:223:28: error: non-member function ‘const StringC& name()’ cannot have cv-qualifier
  223 | const StringC &Dtd::name() const
      |                            ^~~~~
/usr/include/OpenSP/Dtd.h:223:16: error: redefinition of ‘const StringC& name()’
  223 | const StringC &Dtd::name() const
      |                ^~~
/usr/include/OpenSP/Named.h:17:18: note: ‘const StringC& name()’ previously defined here
   17 |   const StringC &name() const { return name_; }
      |                  ^~~~
/usr/include/OpenSP/Dtd.h: In function ‘const StringC& name()’:
/usr/include/OpenSP/Dtd.h:225:10: error: no match for ‘operator*’ (operand type is ‘StringC’ {aka ‘String<unsigned char>’})
  225 |   return *name_;
      |          ^~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:229:8: error: ‘Dtd’ has not been declared
  229 | size_t Dtd::allocCurrentAttributeIndex()
      |        ^~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t allocCurrentAttributeIndex()’:
/usr/include/OpenSP/Dtd.h:231:10: error: ‘nCurrentAttribute_’ was not declared in this scope
  231 |   return nCurrentAttribute_++;
      |          ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:235:8: error: ‘Dtd’ has not been declared
  235 | size_t Dtd::nCurrentAttribute() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:235:33: error: non-member function ‘size_t nCurrentAttribute()’ cannot have cv-qualifier
  235 | size_t Dtd::nCurrentAttribute() const
      |                                 ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nCurrentAttribute()’:
/usr/include/OpenSP/Dtd.h:237:10: error: ‘nCurrentAttribute_’ was not declared in this scope; did you mean ‘nCurrentAttribute’?
  237 |   return nCurrentAttribute_;
      |          ^~~~~~~~~~~~~~~~~~
      |          nCurrentAttribute
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:241:8: error: ‘Dtd’ has not been declared
  241 | size_t Dtd::allocElementDefinitionIndex()
      |        ^~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t allocElementDefinitionIndex()’:
/usr/include/OpenSP/Dtd.h:243:10: error: ‘nElementDefinition_’ was not declared in this scope
  243 |   return nElementDefinition_++;
      |          ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:247:8: error: ‘Dtd’ has not been declared
  247 | size_t Dtd::nElementDefinition() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:247:34: error: non-member function ‘size_t nElementDefinition()’ cannot have cv-qualifier
  247 | size_t Dtd::nElementDefinition() const
      |                                  ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nElementDefinition()’:
/usr/include/OpenSP/Dtd.h:249:10: error: ‘nElementDefinition_’ was not declared in this scope; did you mean ‘nElementDefinition’?
  249 |   return nElementDefinition_;
      |          ^~~~~~~~~~~~~~~~~~~
      |          nElementDefinition
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:253:8: error: ‘Dtd’ has not been declared
  253 | size_t Dtd::allocAttributeDefinitionListIndex()
      |        ^~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t allocAttributeDefinitionListIndex()’:
/usr/include/OpenSP/Dtd.h:255:10: error: ‘nAttributeDefinitionList_’ was not declared in this scope; did you mean ‘AttributeDefinitionDesc’?
  255 |   return nAttributeDefinitionList_++;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |          AttributeDefinitionDesc
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:259:8: error: ‘Dtd’ has not been declared
  259 | size_t Dtd::nAttributeDefinitionList() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:259:40: error: non-member function ‘size_t nAttributeDefinitionList()’ cannot have cv-qualifier
  259 | size_t Dtd::nAttributeDefinitionList() const
      |                                        ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nAttributeDefinitionList()’:
/usr/include/OpenSP/Dtd.h:261:10: error: ‘nAttributeDefinitionList_’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  261 |   return nAttributeDefinitionList_;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |          nAttributeDefinitionList
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:265:20: error: ‘Dtd’ has not been declared
  265 | const ElementType *Dtd::lookupElementType(const StringC &name) const
      |                    ^~~
/usr/include/OpenSP/Dtd.h:265:64: error: non-member function ‘const ElementType* lookupElementType(const StringC&)’ cannot have cv-qualifier
  265 | const ElementType *Dtd::lookupElementType(const StringC &name) const
      |                                                                ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const ElementType* lookupElementType(const StringC&)’:
/usr/include/OpenSP/Dtd.h:267:10: error: ‘elementTypeTable_’ was not declared in this scope
  267 |   return elementTypeTable_.lookup(name);
      |          ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:271:14: error: ‘Dtd’ has not been declared
  271 | ElementType *Dtd::lookupElementType(const StringC &name)
      |              ^~~
/usr/include/OpenSP/Dtd.h:271:14: error: ambiguating new declaration of ‘ElementType* lookupElementType(const StringC&)’
/usr/include/OpenSP/Dtd.h:265:20: note: old declaration ‘const ElementType* lookupElementType(const StringC&)’
  265 | const ElementType *Dtd::lookupElementType(const StringC &name) const
      |                    ^~~
/usr/include/OpenSP/Dtd.h: In function ‘ElementType* lookupElementType(const StringC&)’:
/usr/include/OpenSP/Dtd.h:273:10: error: ‘elementTypeTable_’ was not declared in this scope
  273 |   return elementTypeTable_.lookup(name);
      |          ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:277:14: error: ‘Dtd’ has not been declared
  277 | ElementType *Dtd::insertElementType(ElementType *e)
      |              ^~~
/usr/include/OpenSP/Dtd.h: In function ‘ElementType* insertElementType(ElementType*)’:
/usr/include/OpenSP/Dtd.h:279:10: error: ‘elementTypeTable_’ was not declared in this scope
  279 |   return elementTypeTable_.insert(e);
      |          ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:283:1: error: ‘Dtd’ does not name a type
  283 | Dtd::ElementTypeIter Dtd::elementTypeIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:290:1: error: ‘Dtd’ does not name a type
  290 | Dtd::ConstElementTypeIter Dtd::elementTypeIter() const
      | ^~~
/usr/include/OpenSP/Dtd.h:297:1: error: ‘Dtd’ does not name a type
  297 | Dtd::RankStemIter Dtd::rankStemIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:304:1: error: ‘Dtd’ does not name a type
  304 | Dtd::ConstRankStemIter Dtd::rankStemIter() const
      | ^~~
/usr/include/OpenSP/Dtd.h:311:14: error: ‘Dtd’ has not been declared
  311 | ElementType *Dtd::removeElementType(const StringC &name)
      |              ^~~
/usr/include/OpenSP/Dtd.h: In function ‘ElementType* removeElementType(const StringC&)’:
/usr/include/OpenSP/Dtd.h:313:10: error: ‘elementTypeTable_’ was not declared in this scope
  313 |   return elementTypeTable_.remove(name);
      |          ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:317:8: error: ‘Dtd’ has not been declared
  317 | size_t Dtd::nElementTypeIndex() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:317:33: error: non-member function ‘size_t nElementTypeIndex()’ cannot have cv-qualifier
  317 | size_t Dtd::nElementTypeIndex() const
      |                                 ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nElementTypeIndex()’:
/usr/include/OpenSP/Dtd.h:320:14: error: ‘nElementType_’ was not declared in this scope; did you mean ‘ElementType’?
  320 |   return 1 + nElementType_;
      |              ^~~~~~~~~~~~~
      |              ElementType
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:324:8: error: ‘Dtd’ has not been declared
  324 | size_t Dtd::allocElementTypeIndex()
      |        ^~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t allocElementTypeIndex()’:
/usr/include/OpenSP/Dtd.h:326:14: error: ‘nElementType_’ was not declared in this scope; did you mean ‘ElementType’?
  326 |   return 1 + nElementType_++;
      |              ^~~~~~~~~~~~~
      |              ElementType
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:330:17: error: ‘Dtd’ has not been declared
  330 | const RankStem *Dtd::lookupRankStem(const StringC &name) const
      |                 ^~~
/usr/include/OpenSP/Dtd.h:330:58: error: non-member function ‘const RankStem* lookupRankStem(const StringC&)’ cannot have cv-qualifier
  330 | const RankStem *Dtd::lookupRankStem(const StringC &name) const
      |                                                          ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const RankStem* lookupRankStem(const StringC&)’:
/usr/include/OpenSP/Dtd.h:332:10: error: ‘rankStemTable_’ was not declared in this scope
  332 |   return rankStemTable_.lookup(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:336:11: error: ‘Dtd’ has not been declared
  336 | RankStem *Dtd::lookupRankStem(const StringC &name)
      |           ^~~
/usr/include/OpenSP/Dtd.h:336:11: error: ambiguating new declaration of ‘RankStem* lookupRankStem(const StringC&)’
/usr/include/OpenSP/Dtd.h:330:17: note: old declaration ‘const RankStem* lookupRankStem(const StringC&)’
  330 | const RankStem *Dtd::lookupRankStem(const StringC &name) const
      |                 ^~~
/usr/include/OpenSP/Dtd.h: In function ‘RankStem* lookupRankStem(const StringC&)’:
/usr/include/OpenSP/Dtd.h:338:10: error: ‘rankStemTable_’ was not declared in this scope
  338 |   return rankStemTable_.lookup(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:342:11: error: ‘Dtd’ has not been declared
  342 | RankStem *Dtd::insertRankStem(RankStem *e)
      |           ^~~
/usr/include/OpenSP/Dtd.h: In function ‘RankStem* insertRankStem(RankStem*)’:
/usr/include/OpenSP/Dtd.h:344:10: error: ‘rankStemTable_’ was not declared in this scope
  344 |   return rankStemTable_.insert(e);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:348:8: error: ‘Dtd’ has not been declared
  348 | size_t Dtd::nRankStem() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:348:25: error: non-member function ‘size_t nRankStem()’ cannot have cv-qualifier
  348 | size_t Dtd::nRankStem() const
      |                         ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nRankStem()’:
/usr/include/OpenSP/Dtd.h:350:10: error: ‘rankStemTable_’ was not declared in this scope
  350 |   return rankStemTable_.count();
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:354:20: error: ‘Dtd’ has not been declared
  354 | ConstPtr<Notation> Dtd::lookupNotation(const StringC &name) const
      |                    ^~~
/usr/include/OpenSP/Dtd.h:354:61: error: non-member function ‘ConstPtr<Notation> lookupNotation(const StringC&)’ cannot have cv-qualifier
  354 | ConstPtr<Notation> Dtd::lookupNotation(const StringC &name) const
      |                                                             ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘ConstPtr<Notation> lookupNotation(const StringC&)’:
/usr/include/OpenSP/Dtd.h:356:10: error: ‘notationTable_’ was not declared in this scope
  356 |   return notationTable_.lookupConst(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:360:17: error: ‘Dtd’ has not been declared
  360 | const Notation *Dtd::lookupNotationTemp(const StringC &name) const
      |                 ^~~
/usr/include/OpenSP/Dtd.h:360:62: error: non-member function ‘const Notation* lookupNotationTemp(const StringC&)’ cannot have cv-qualifier
  360 | const Notation *Dtd::lookupNotationTemp(const StringC &name) const
      |                                                              ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const Notation* lookupNotationTemp(const StringC&)’:
/usr/include/OpenSP/Dtd.h:362:10: error: ‘notationTable_’ was not declared in this scope
  362 |   return notationTable_.lookupTemp(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:366:15: error: ‘Dtd’ has not been declared
  366 | Ptr<Notation> Dtd::lookupNotation(const StringC &name)
      |               ^~~
/usr/include/OpenSP/Dtd.h:366:15: error: ambiguating new declaration of ‘Ptr<Notation> lookupNotation(const StringC&)’
/usr/include/OpenSP/Dtd.h:354:20: note: old declaration ‘ConstPtr<Notation> lookupNotation(const StringC&)’
  354 | ConstPtr<Notation> Dtd::lookupNotation(const StringC &name) const
      |                    ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Notation> lookupNotation(const StringC&)’:
/usr/include/OpenSP/Dtd.h:368:10: error: ‘notationTable_’ was not declared in this scope
  368 |   return notationTable_.lookup(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:372:15: error: ‘Dtd’ has not been declared
  372 | Ptr<Notation> Dtd::insertNotation(const Ptr<Notation> &nt)
      |               ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Notation> insertNotation(const Ptr<Notation>&)’:
/usr/include/OpenSP/Dtd.h:374:10: error: ‘notationTable_’ was not declared in this scope
  374 |   return notationTable_.insert(nt);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:378:1: error: ‘Dtd’ does not name a type
  378 | Dtd::ConstNotationIter Dtd::notationIter() const
      | ^~~
/usr/include/OpenSP/Dtd.h:385:1: error: ‘Dtd’ does not name a type
  385 | Dtd::NotationIter Dtd::notationIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:392:15: error: ‘Dtd’ has not been declared
  392 | Ptr<Notation> Dtd::removeNotation(const StringC &name)
      |               ^~~
/usr/include/OpenSP/Dtd.h: In function ‘Ptr<Notation> removeNotation(const StringC&)’:
/usr/include/OpenSP/Dtd.h:394:10: error: ‘notationTable_’ was not declared in this scope
  394 |   return notationTable_.remove(name);
      |          ^~~~~~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:398:20: error: ‘Dtd’ has not been declared
  398 | const ElementType *Dtd::documentElementType() const
      |                    ^~~
/usr/include/OpenSP/Dtd.h:398:47: error: non-member function ‘const ElementType* documentElementType()’ cannot have cv-qualifier
  398 | const ElementType *Dtd::documentElementType() const
      |                                               ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const ElementType* documentElementType()’:
/usr/include/OpenSP/Dtd.h:400:10: error: ‘documentElementType_’ was not declared in this scope; did you mean ‘documentElementType’?
  400 |   return documentElementType_;
      |          ^~~~~~~~~~~~~~~~~~~~
      |          documentElementType
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:404:26: error: ‘Dtd’ has not been declared
  404 | const ShortReferenceMap *Dtd::lookupShortReferenceMap(const StringC &name) const
      |                          ^~~
/usr/include/OpenSP/Dtd.h:404:76: error: non-member function ‘const ShortReferenceMap* lookupShortReferenceMap(const StringC&)’ cannot have cv-qualifier
  404 | const ShortReferenceMap *Dtd::lookupShortReferenceMap(const StringC &name) const
      |                                                                            ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const ShortReferenceMap* lookupShortReferenceMap(const StringC&)’:
/usr/include/OpenSP/Dtd.h:406:10: error: ‘shortReferenceMapTable_’ was not declared in this scope; did you mean ‘ShortReferenceMap’?
  406 |   return shortReferenceMapTable_.lookup(name);
      |          ^~~~~~~~~~~~~~~~~~~~~~~
      |          ShortReferenceMap
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:410:20: error: ‘Dtd’ has not been declared
  410 | ShortReferenceMap *Dtd::lookupShortReferenceMap(const StringC &name)
      |                    ^~~
/usr/include/OpenSP/Dtd.h:410:20: error: ambiguating new declaration of ‘ShortReferenceMap* lookupShortReferenceMap(const StringC&)’
/usr/include/OpenSP/Dtd.h:404:26: note: old declaration ‘const ShortReferenceMap* lookupShortReferenceMap(const StringC&)’
  404 | const ShortReferenceMap *Dtd::lookupShortReferenceMap(const StringC &name) const
      |                          ^~~
/usr/include/OpenSP/Dtd.h: In function ‘ShortReferenceMap* lookupShortReferenceMap(const StringC&)’:
/usr/include/OpenSP/Dtd.h:412:10: error: ‘shortReferenceMapTable_’ was not declared in this scope; did you mean ‘ShortReferenceMap’?
  412 |   return shortReferenceMapTable_.lookup(name);
      |          ^~~~~~~~~~~~~~~~~~~~~~~
      |          ShortReferenceMap
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:416:20: error: ‘Dtd’ has not been declared
  416 | ShortReferenceMap *Dtd::insertShortReferenceMap(ShortReferenceMap *map)
      |                    ^~~
/usr/include/OpenSP/Dtd.h: In function ‘ShortReferenceMap* insertShortReferenceMap(ShortReferenceMap*)’:
/usr/include/OpenSP/Dtd.h:418:10: error: ‘shortReferenceMapTable_’ was not declared in this scope; did you mean ‘ShortReferenceMap’?
  418 |   return shortReferenceMapTable_.insert(map);
      |          ^~~~~~~~~~~~~~~~~~~~~~~
      |          ShortReferenceMap
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:422:1: error: ‘Dtd’ does not name a type
  422 | Dtd::ShortReferenceMapIter Dtd::shortReferenceMapIter()
      | ^~~
/usr/include/OpenSP/Dtd.h:429:9: error: ‘Dtd’ has not been declared
  429 | Boolean Dtd::isBase() const
      |         ^~~
/usr/include/OpenSP/Dtd.h:429:23: error: non-member function ‘Boolean isBase()’ cannot have cv-qualifier
  429 | Boolean Dtd::isBase() const
      |                       ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘Boolean isBase()’:
/usr/include/OpenSP/Dtd.h:431:10: error: ‘isBase_’ was not declared in this scope; did you mean ‘isBase’?
  431 |   return isBase_;
      |          ^~~~~~~
      |          isBase
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:435:8: error: ‘Dtd’ has not been declared
  435 | size_t Dtd::nShortref() const
      |        ^~~
/usr/include/OpenSP/Dtd.h:435:25: error: non-member function ‘size_t nShortref()’ cannot have cv-qualifier
  435 | size_t Dtd::nShortref() const
      |                         ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘size_t nShortref()’:
/usr/include/OpenSP/Dtd.h:437:10: error: ‘shortrefs_’ was not declared in this scope
  437 |   return shortrefs_.size();
      |          ^~~~~~~~~~
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:441:16: error: ‘Dtd’ has not been declared
  441 | const StringC &Dtd::shortref(size_t i) const
      |                ^~~
/usr/include/OpenSP/Dtd.h:441:40: error: non-member function ‘const StringC& shortref(size_t)’ cannot have cv-qualifier
  441 | const StringC &Dtd::shortref(size_t i) const
      |                                        ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘const StringC& shortref(size_t)’:
/usr/include/OpenSP/Dtd.h:443:10: error: ‘shortrefs_’ was not declared in this scope; did you mean ‘shortref’?
  443 |   return shortrefs_[i];
      |          ^~~~~~~~~~
      |          shortref
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:447:5: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  447 | Ptr<AttributeDefinitionList> &Dtd::implicitElementAttributeDef()
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     nAttributeDefinitionList
/usr/include/OpenSP/Dtd.h:447:28: error: template argument 1 is invalid
  447 | Ptr<AttributeDefinitionList> &Dtd::implicitElementAttributeDef()
      |                            ^
/usr/include/OpenSP/Dtd.h:447:31: error: ‘Dtd’ has not been declared
  447 | Ptr<AttributeDefinitionList> &Dtd::implicitElementAttributeDef()
      |                               ^~~
/usr/include/OpenSP/Dtd.h: In function ‘int& implicitElementAttributeDef()’:
/usr/include/OpenSP/Dtd.h:449:10: error: ‘implicitElementAttributeDef_’ was not declared in this scope; did you mean ‘implicitElementAttributeDef’?
  449 |   return implicitElementAttributeDef_;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          implicitElementAttributeDef
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:453:6: error: ‘Dtd’ has not been declared
  453 | void Dtd::setImplicitElementAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |      ^~~
/usr/include/OpenSP/Dtd.h:453:52: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  453 | void Dtd::setImplicitElementAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                    nAttributeDefinitionList
/usr/include/OpenSP/Dtd.h:453:75: error: template argument 1 is invalid
  453 | void Dtd::setImplicitElementAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                                                           ^
/usr/include/OpenSP/Dtd.h: In function ‘void setImplicitElementAttributeDef(const int&)’:
/usr/include/OpenSP/Dtd.h:455:3: error: ‘implicitElementAttributeDef_’ was not declared in this scope; did you mean ‘implicitElementAttributeDef’?
  455 |   implicitElementAttributeDef_ = def;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   implicitElementAttributeDef
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:459:5: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  459 | Ptr<AttributeDefinitionList> &Dtd::implicitNotationAttributeDef()
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     nAttributeDefinitionList
/usr/include/OpenSP/Dtd.h:459:28: error: template argument 1 is invalid
  459 | Ptr<AttributeDefinitionList> &Dtd::implicitNotationAttributeDef()
      |                            ^
/usr/include/OpenSP/Dtd.h:459:31: error: ‘Dtd’ has not been declared
  459 | Ptr<AttributeDefinitionList> &Dtd::implicitNotationAttributeDef()
      |                               ^~~
/usr/include/OpenSP/Dtd.h: In function ‘int& implicitNotationAttributeDef()’:
/usr/include/OpenSP/Dtd.h:461:10: error: ‘implicitNotationAttributeDef_’ was not declared in this scope; did you mean ‘implicitNotationAttributeDef’?
  461 |   return implicitNotationAttributeDef_;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          implicitNotationAttributeDef
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:465:6: error: ‘Dtd’ has not been declared
  465 | void Dtd::setImplicitNotationAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |      ^~~
/usr/include/OpenSP/Dtd.h:465:53: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  465 | void Dtd::setImplicitNotationAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                     nAttributeDefinitionList
/usr/include/OpenSP/Dtd.h:465:76: error: template argument 1 is invalid
  465 | void Dtd::setImplicitNotationAttributeDef(const Ptr<AttributeDefinitionList> &def)
      |                                                                            ^
/usr/include/OpenSP/Dtd.h: In function ‘void setImplicitNotationAttributeDef(const int&)’:
/usr/include/OpenSP/Dtd.h:467:3: error: ‘implicitNotationAttributeDef_’ was not declared in this scope; did you mean ‘implicitNotationAttributeDef’?
  467 |   implicitNotationAttributeDef_ = def;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   implicitNotationAttributeDef
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:471:9: error: ‘Dtd’ has not been declared
  471 | Boolean Dtd::isInstantiated() const
      |         ^~~
/usr/include/OpenSP/Dtd.h:471:31: error: non-member function ‘Boolean isInstantiated()’ cannot have cv-qualifier
  471 | Boolean Dtd::isInstantiated() const
      |                               ^~~~~
/usr/include/OpenSP/Dtd.h: In function ‘Boolean isInstantiated()’:
/usr/include/OpenSP/Dtd.h:473:10: error: ‘isInstantitated_’ was not declared in this scope; did you mean ‘isInstantiated’?
  473 |   return isInstantitated_;
      |          ^~~~~~~~~~~~~~~~
      |          isInstantiated
/usr/include/OpenSP/Dtd.h: At global scope:
/usr/include/OpenSP/Dtd.h:477:6: error: ‘Dtd’ has not been declared
  477 | void Dtd::instantiate()
      |      ^~~
/usr/include/OpenSP/Dtd.h: In function ‘void instantiate()’:
/usr/include/OpenSP/Dtd.h:479:3: error: ‘isInstantitated_’ was not declared in this scope; did you mean ‘isInstantiated’?
  479 |   isInstantitated_ = 1;
      |   ^~~~~~~~~~~~~~~~
      |   isInstantiated
In file included from /usr/include/OpenSP/Event.h:25:
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:27:15: error: variable ‘SP_API ResultElementSpec’ has initializer but incomplete type
   27 | struct SP_API ResultElementSpec {
      |               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:28:22: error: expected ‘}’ before ‘;’ token
   28 |   ResultElementSpec();
      |                      ^
/usr/include/OpenSP/Lpd.h:27:33: note: to match this ‘{’
   27 | struct SP_API ResultElementSpec {
      |                                 ^
/usr/include/OpenSP/Lpd.h:30:3: error: ‘AttributeList’ does not name a type
   30 |   AttributeList attributeList;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:31:8: error: variable or field ‘swap’ declared void
   31 |   void swap(ResultElementSpec &);
      |        ^~~~
/usr/include/OpenSP/Lpd.h:31:32: error: expected primary-expression before ‘)’ token
   31 |   void swap(ResultElementSpec &);
      |                                ^
/usr/include/OpenSP/Lpd.h:32:1: error: expected declaration before ‘}’ token
   32 | };
      | ^
/usr/include/OpenSP/Lpd.h:34:18: error: expected initializer before ‘:’ token
   34 | class SP_API Lpd : public Resource {
      |                  ^
/usr/include/OpenSP/Lpd.h:58:24: error: expected initializer before ‘:’ token
   58 | class SP_API SimpleLpd : public Lpd, public Attributed {
      |                        ^
/usr/include/OpenSP/Lpd.h:71:14: error: variable ‘SP_API SourceLinkRule’ has initializer but incomplete type
   71 | class SP_API SourceLinkRule {
      |              ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:72:1: error: expected primary-expression before ‘public’
   72 | public:
      | ^~~~~~
/usr/include/OpenSP/Lpd.h:72:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Lpd.h:71:29: note: to match this ‘{’
   71 | class SP_API SourceLinkRule {
      |                             ^
/usr/include/OpenSP/Lpd.h:72:1: error: expected ‘,’ or ‘;’ before ‘public’
   72 | public:
      | ^~~~~~
/usr/include/OpenSP/Lpd.h:74:8: error: variable or field ‘setLinkAttributes’ declared void
   74 |   void setLinkAttributes(AttributeList &);
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:74:41: error: expected primary-expression before ‘)’ token
   74 |   void setLinkAttributes(AttributeList &);
      |                                         ^
/usr/include/OpenSP/Lpd.h:75:39: error: ‘AttributeList’ is not a type
   75 |   void setResult(const ElementType *, AttributeList &);
      |                                       ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:79:8: error: variable or field ‘swap’ declared void
   79 |   void swap(SourceLinkRule &);
      |        ^~~~
/usr/include/OpenSP/Lpd.h:79:29: error: expected primary-expression before ‘)’ token
   79 |   void swap(SourceLinkRule &);
      |                             ^
/usr/include/OpenSP/Lpd.h:80:9: error: ‘AttributeList’ does not name a type
   80 |   const AttributeList &attributes() const;
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:81:9: error: ‘ResultElementSpec’ does not name a type
   81 |   const ResultElementSpec &resultElementSpec() const;
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:82:28: error: non-member function ‘const LinkSet* uselink()’ cannot have cv-qualifier
   82 |   const LinkSet *uselink() const;
      |                            ^~~~~
/usr/include/OpenSP/Lpd.h:83:29: error: non-member function ‘const LinkSet* postlink()’ cannot have cv-qualifier
   83 |   const LinkSet *postlink() const;
      |                             ^~~~~
/usr/include/OpenSP/Lpd.h:84:29: error: non-member function ‘Boolean postlinkRestore()’ cannot have cv-qualifier
   84 |   Boolean postlinkRestore() const;
      |                             ^~~~~
/usr/include/OpenSP/Lpd.h:85:1: error: expected unqualified-id before ‘private’
   85 | private:
      | ^~~~~~~
/usr/include/OpenSP/Lpd.h:89:3: error: ‘AttributeList’ does not name a type
   89 |   AttributeList linkAttributes_;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:90:3: error: ‘ResultElementSpec’ does not name a type
   90 |   ResultElementSpec resultElementSpec_;
      |   ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:91:1: error: expected declaration before ‘}’ token
   91 | };
      | ^
/usr/include/OpenSP/Lpd.h:93:37: error: expected initializer before ‘:’ token
   93 | class SP_API SourceLinkRuleResource : public Resource, public SourceLinkRule {
      |                                     ^
/usr/include/OpenSP/Lpd.h:99:22: error: expected initializer before ‘:’ token
   99 | class SP_API LinkSet : public Named {
      |                      ^
/usr/include/OpenSP/Lpd.h:124:25: error: expected initializer before ‘:’ token
  124 | class SP_API IdLinkRule : public SourceLinkRule {
      |                         ^
/usr/include/OpenSP/Lpd.h:137:30: error: expected initializer before ‘:’ token
  137 | class SP_API IdLinkRuleGroup : public Named {
      |                              ^
/usr/include/OpenSP/Lpd.h:151:25: error: expected initializer before ‘:’ token
  151 | class SP_API ComplexLpd : public Lpd {
      |                         ^
/usr/include/OpenSP/Lpd.h:195:1: error: ‘Lpd’ does not name a type
  195 | Lpd::Type Lpd::type() const
      | ^~~
/usr/include/OpenSP/Lpd.h:201:7: error: ‘Location’ does not name a type
  201 | const Location &Lpd::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/Lpd.h:207:9: error: ‘Lpd’ has not been declared
  207 | Boolean Lpd::active() const
      |         ^~~
/usr/include/OpenSP/Lpd.h:207:23: error: non-member function ‘Boolean active()’ cannot have cv-qualifier
  207 | Boolean Lpd::active() const
      |                       ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘Boolean active()’:
/usr/include/OpenSP/Lpd.h:209:10: error: ‘active_’ was not declared in this scope; did you mean ‘active’?
  209 |   return active_;
      |          ^~~~~~~
      |          active
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:213:6: error: ‘Lpd’ has not been declared
  213 | void Lpd::activate()
      |      ^~~
/usr/include/OpenSP/Lpd.h: In function ‘void activate()’:
/usr/include/OpenSP/Lpd.h:215:3: error: ‘active_’ was not declared in this scope; did you mean ‘active’?
  215 |   active_ = 1;
      |   ^~~~~~~
      |   active
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:219:10: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  219 | ConstPtr<Dtd> Lpd::sourceDtd() const
      |          ^~~
      |          std
/usr/include/OpenSP/Lpd.h:219:13: error: template argument 1 is invalid
  219 | ConstPtr<Dtd> Lpd::sourceDtd() const
      |             ^
/usr/include/OpenSP/Lpd.h:219:15: error: ‘Lpd’ has not been declared
  219 | ConstPtr<Dtd> Lpd::sourceDtd() const
      |               ^~~
/usr/include/OpenSP/Lpd.h:219:32: error: non-member function ‘int sourceDtd()’ cannot have cv-qualifier
  219 | ConstPtr<Dtd> Lpd::sourceDtd() const
      |                                ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘int sourceDtd()’:
/usr/include/OpenSP/Lpd.h:221:10: error: ‘sourceDtd_’ was not declared in this scope; did you mean ‘sourceDtd’?
  221 |   return sourceDtd_;
      |          ^~~~~~~~~~
      |          sourceDtd
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:225:11: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  225 | const Ptr<Dtd> &Lpd::sourceDtd()
      |           ^~~
      |           std
/usr/include/OpenSP/Lpd.h:225:14: error: template argument 1 is invalid
  225 | const Ptr<Dtd> &Lpd::sourceDtd()
      |              ^
/usr/include/OpenSP/Lpd.h:225:17: error: ‘Lpd’ has not been declared
  225 | const Ptr<Dtd> &Lpd::sourceDtd()
      |                 ^~~
/usr/include/OpenSP/Lpd.h:225:17: error: ambiguating new declaration of ‘const int& sourceDtd()’
/usr/include/OpenSP/Lpd.h:219:15: note: old declaration ‘int sourceDtd()’
  219 | ConstPtr<Dtd> Lpd::sourceDtd() const
      |               ^~~
/usr/include/OpenSP/Lpd.h: In function ‘const int& sourceDtd()’:
/usr/include/OpenSP/Lpd.h:227:10: error: ‘sourceDtd_’ was not declared in this scope; did you mean ‘sourceDtd’?
  227 |   return sourceDtd_;
      |          ^~~~~~~~~~
      |          sourceDtd
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:231:40: error: ‘Lpd’ has not been declared
  231 | const ConstPtr<StringResource<Char> > &Lpd::namePointer() const
      |                                        ^~~
/usr/include/OpenSP/Lpd.h:231:59: error: non-member function ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’ cannot have cv-qualifier
  231 | const ConstPtr<StringResource<Char> > &Lpd::namePointer() const
      |                                                           ^~~~~
/usr/include/OpenSP/Lpd.h:231:40: error: ambiguating new declaration of ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’
  231 | const ConstPtr<StringResource<Char> > &Lpd::namePointer() const
      |                                        ^~~
/usr/include/OpenSP/Named.h:18:18: note: old declaration ‘const StringC* namePointer()’
   18 |   const StringC *namePointer() const { return &name_; }
      |                  ^~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const ConstPtr<StringResource<unsigned char> >& namePointer()’:
/usr/include/OpenSP/Lpd.h:233:10: error: invalid initialization of reference of type ‘const ConstPtr<StringResource<unsigned char> >&’ from expression of type ‘StringC’ {aka ‘String<unsigned char>’}
  233 |   return name_;
      |          ^~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:237:16: error: ‘Lpd’ has not been declared
  237 | const StringC &Lpd::name() const
      |                ^~~
/usr/include/OpenSP/Lpd.h:237:28: error: non-member function ‘const StringC& name()’ cannot have cv-qualifier
  237 | const StringC &Lpd::name() const
      |                            ^~~~~
/usr/include/OpenSP/Lpd.h:237:16: error: redefinition of ‘const StringC& name()’
  237 | const StringC &Lpd::name() const
      |                ^~~
/usr/include/OpenSP/Named.h:17:18: note: ‘const StringC& name()’ previously defined here
   17 |   const StringC &name() const { return name_; }
      |                  ^~~~
/usr/include/OpenSP/Lpd.h: In function ‘const StringC& name()’:
/usr/include/OpenSP/Lpd.h:239:10: error: no match for ‘operator*’ (operand type is ‘StringC’ {aka ‘String<unsigned char>’})
  239 |   return *name_;
      |          ^~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:243:6: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  243 | void SourceLinkRule::setLinkAttributes(AttributeList &attributes)
      |      ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:243:6: error: variable or field ‘setLinkAttributes’ declared void
/usr/include/OpenSP/Lpd.h:243:55: error: ‘attributes’ was not declared in this scope; did you mean ‘Attributed’?
  243 | void SourceLinkRule::setLinkAttributes(AttributeList &attributes)
      |                                                       ^~~~~~~~~~
      |                                                       Attributed
/usr/include/OpenSP/Lpd.h:249:7: error: ‘AttributeList’ does not name a type
  249 | const AttributeList &SourceLinkRule::attributes() const
      |       ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:255:6: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  255 | void SourceLinkRule::setResult(const ElementType *element,
      |      ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:256:32: error: ‘AttributeList’ is not a type
  256 |                                AttributeList &attributes)
      |                                ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘void setResult(const ElementType*, int&)’:
/usr/include/OpenSP/Lpd.h:258:3: error: ‘resultElementSpec_’ was not declared in this scope; did you mean ‘ResultElementSpec’?
  258 |   resultElementSpec_.elementType = element;
      |   ^~~~~~~~~~~~~~~~~~
      |   ResultElementSpec
/usr/include/OpenSP/Lpd.h:259:14: error: request for member ‘swap’ in ‘attributes’, which is of non-class type ‘int’
  259 |   attributes.swap(resultElementSpec_.attributeList);
      |              ^~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:263:7: error: ‘ResultElementSpec’ does not name a type
  263 | const ResultElementSpec &SourceLinkRule::resultElementSpec() const
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:269:6: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  269 | void SourceLinkRule::setUselink(const LinkSet *linkSet)
      |      ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘void setUselink(const LinkSet*)’:
/usr/include/OpenSP/Lpd.h:271:3: error: ‘uselink_’ was not declared in this scope; did you mean ‘uselink’?
  271 |   uselink_ = linkSet;
      |   ^~~~~~~~
      |   uselink
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:275:6: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  275 | void SourceLinkRule::setPostlink(const LinkSet *linkSet)
      |      ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:281:6: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  281 | void SourceLinkRule::setPostlinkRestore()
      |      ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:287:16: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  287 | const LinkSet *SourceLinkRule::uselink() const
      |                ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:287:42: error: non-member function ‘const LinkSet* uselink()’ cannot have cv-qualifier
  287 | const LinkSet *SourceLinkRule::uselink() const
      |                                          ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const LinkSet* uselink()’:
/usr/include/OpenSP/Lpd.h:289:10: error: ‘uselink_’ was not declared in this scope; did you mean ‘uselink’?
  289 |   return uselink_;
      |          ^~~~~~~~
      |          uselink
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:293:16: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  293 | const LinkSet *SourceLinkRule::postlink() const
      |                ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:293:43: error: non-member function ‘const LinkSet* postlink()’ cannot have cv-qualifier
  293 | const LinkSet *SourceLinkRule::postlink() const
      |                                           ^~~~~
/usr/include/OpenSP/Lpd.h:299:9: error: ‘SourceLinkRule’ is not a class, namespace, or enumeration
  299 | Boolean SourceLinkRule::postlinkRestore() const
      |         ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:299:43: error: non-member function ‘Boolean postlinkRestore()’ cannot have cv-qualifier
  299 | Boolean SourceLinkRule::postlinkRestore() const
      |                                           ^~~~~
/usr/include/OpenSP/Lpd.h:305:28: error: invalid use of incomplete type ‘class LinkSet’
  305 | Boolean LinkSet::defined() const
      |                            ^~~~~
/usr/include/OpenSP/Lpd.h:67:7: note: forward declaration of ‘class LinkSet’
   67 | class LinkSet;
      |       ^~~~~~~
/usr/include/OpenSP/Lpd.h:311:26: error: invalid use of incomplete type ‘class LinkSet’
  311 | void LinkSet::setDefined()
      |                          ^
/usr/include/OpenSP/Lpd.h:67:7: note: forward declaration of ‘class LinkSet’
   67 | class LinkSet;
      |       ^~~~~~~
/usr/include/OpenSP/Lpd.h:317:7: error: ‘SourceLinkRule’ does not name a type
  317 | const SourceLinkRule &LinkSet::linkRule(const ElementType *e, size_t i) const
      |       ^~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:323:37: error: invalid use of incomplete type ‘class LinkSet’
  323 | size_t LinkSet::nImpliedLinkRules() const
      |                                     ^~~~~
/usr/include/OpenSP/Lpd.h:67:7: note: forward declaration of ‘class LinkSet’
   67 | class LinkSet;
      |       ^~~~~~~
/usr/include/OpenSP/Lpd.h:329:7: error: ‘ResultElementSpec’ does not name a type
  329 | const ResultElementSpec &LinkSet::impliedLinkRule(size_t i) const
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:335:11: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  335 | const Ptr<Dtd> &ComplexLpd::resultDtd()
      |           ^~~
      |           std
/usr/include/OpenSP/Lpd.h:335:14: error: template argument 1 is invalid
  335 | const Ptr<Dtd> &ComplexLpd::resultDtd()
      |              ^
/usr/include/OpenSP/Lpd.h:335:17: error: ‘ComplexLpd’ has not been declared
  335 | const Ptr<Dtd> &ComplexLpd::resultDtd()
      |                 ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const int& resultDtd()’:
/usr/include/OpenSP/Lpd.h:337:10: error: ‘resultDtd_’ was not declared in this scope; did you mean ‘resultDtd’?
  337 |   return resultDtd_;
      |          ^~~~~~~~~~
      |          resultDtd
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:341:10: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  341 | ConstPtr<Dtd> ComplexLpd::resultDtd() const
      |          ^~~
      |          std
/usr/include/OpenSP/Lpd.h:341:13: error: template argument 1 is invalid
  341 | ConstPtr<Dtd> ComplexLpd::resultDtd() const
      |             ^
/usr/include/OpenSP/Lpd.h:341:15: error: ‘ComplexLpd’ has not been declared
  341 | ConstPtr<Dtd> ComplexLpd::resultDtd() const
      |               ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:341:39: error: non-member function ‘int resultDtd()’ cannot have cv-qualifier
  341 | ConstPtr<Dtd> ComplexLpd::resultDtd() const
      |                                       ^~~~~
/usr/include/OpenSP/Lpd.h:341:15: error: ambiguating new declaration of ‘int resultDtd()’
  341 | ConstPtr<Dtd> ComplexLpd::resultDtd() const
      |               ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:335:17: note: old declaration ‘const int& resultDtd()’
  335 | const Ptr<Dtd> &ComplexLpd::resultDtd()
      |                 ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘int resultDtd()’:
/usr/include/OpenSP/Lpd.h:343:10: error: ‘resultDtd_’ was not declared in this scope; did you mean ‘resultDtd’?
  343 |   return resultDtd_;
      |          ^~~~~~~~~~
      |          resultDtd
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:347:10: error: ‘ComplexLpd’ has not been declared
  347 | LinkSet *ComplexLpd::initialLinkSet()
      |          ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘LinkSet* initialLinkSet()’:
/usr/include/OpenSP/Lpd.h:349:11: error: ‘initialLinkSet_’ was not declared in this scope; did you mean ‘initialLinkSet’?
  349 |   return &initialLinkSet_;
      |           ^~~~~~~~~~~~~~~
      |           initialLinkSet
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:353:16: error: ‘ComplexLpd’ has not been declared
  353 | const LinkSet *ComplexLpd::initialLinkSet() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:353:45: error: non-member function ‘const LinkSet* initialLinkSet()’ cannot have cv-qualifier
  353 | const LinkSet *ComplexLpd::initialLinkSet() const
      |                                             ^~~~~
/usr/include/OpenSP/Lpd.h:353:16: error: ambiguating new declaration of ‘const LinkSet* initialLinkSet()’
  353 | const LinkSet *ComplexLpd::initialLinkSet() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:347:10: note: old declaration ‘LinkSet* initialLinkSet()’
  347 | LinkSet *ComplexLpd::initialLinkSet()
      |          ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const LinkSet* initialLinkSet()’:
/usr/include/OpenSP/Lpd.h:355:11: error: ‘initialLinkSet_’ was not declared in this scope; did you mean ‘initialLinkSet’?
  355 |   return &initialLinkSet_;
      |           ^~~~~~~~~~~~~~~
      |           initialLinkSet
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:359:16: error: ‘ComplexLpd’ has not been declared
  359 | const LinkSet *ComplexLpd::emptyLinkSet() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:359:43: error: non-member function ‘const LinkSet* emptyLinkSet()’ cannot have cv-qualifier
  359 | const LinkSet *ComplexLpd::emptyLinkSet() const
      |                                           ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const LinkSet* emptyLinkSet()’:
/usr/include/OpenSP/Lpd.h:361:11: error: ‘emptyLinkSet_’ was not declared in this scope; did you mean ‘emptyLinkSet’?
  361 |   return &emptyLinkSet_;
      |           ^~~~~~~~~~~~~
      |           emptyLinkSet
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:365:16: error: ‘ComplexLpd’ has not been declared
  365 | const LinkSet *ComplexLpd::lookupLinkSet(const StringC &name) const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:365:63: error: non-member function ‘const LinkSet* lookupLinkSet(const StringC&)’ cannot have cv-qualifier
  365 | const LinkSet *ComplexLpd::lookupLinkSet(const StringC &name) const
      |                                                               ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const LinkSet* lookupLinkSet(const StringC&)’:
/usr/include/OpenSP/Lpd.h:367:10: error: ‘linkSetTable_’ was not declared in this scope
  367 |   return linkSetTable_.lookup(name);
      |          ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:371:10: error: ‘ComplexLpd’ has not been declared
  371 | LinkSet *ComplexLpd::lookupLinkSet(const StringC &name)
      |          ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:371:10: error: ambiguating new declaration of ‘LinkSet* lookupLinkSet(const StringC&)’
/usr/include/OpenSP/Lpd.h:365:16: note: old declaration ‘const LinkSet* lookupLinkSet(const StringC&)’
  365 | const LinkSet *ComplexLpd::lookupLinkSet(const StringC &name) const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘LinkSet* lookupLinkSet(const StringC&)’:
/usr/include/OpenSP/Lpd.h:373:10: error: ‘linkSetTable_’ was not declared in this scope
  373 |   return linkSetTable_.lookup(name);
      |          ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:377:10: error: ‘ComplexLpd’ has not been declared
  377 | LinkSet *ComplexLpd::insertLinkSet(LinkSet *e)
      |          ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘LinkSet* insertLinkSet(LinkSet*)’:
/usr/include/OpenSP/Lpd.h:379:10: error: ‘linkSetTable_’ was not declared in this scope
  379 |   return linkSetTable_.insert(e);
      |          ^~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:383:8: error: ‘ComplexLpd’ has not been declared
  383 | size_t ComplexLpd::nAttributeDefinitionList() const
      |        ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:383:47: error: non-member function ‘size_t nAttributeDefinitionList()’ cannot have cv-qualifier
  383 | size_t ComplexLpd::nAttributeDefinitionList() const
      |                                               ^~~~~
/usr/include/OpenSP/Lpd.h:383:8: error: redefinition of ‘size_t nAttributeDefinitionList()’
  383 | size_t ComplexLpd::nAttributeDefinitionList() const
      |        ^~~~~~~~~~
/usr/include/OpenSP/Dtd.h:259:8: note: ‘size_t nAttributeDefinitionList()’ previously defined here
  259 | size_t Dtd::nAttributeDefinitionList() const
      |        ^~~
/usr/include/OpenSP/Lpd.h: In function ‘size_t nAttributeDefinitionList()’:
/usr/include/OpenSP/Lpd.h:385:10: error: ‘nAttributeDefinitionList_’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  385 |   return nAttributeDefinitionList_;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |          nAttributeDefinitionList
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:389:8: error: ‘ComplexLpd’ has not been declared
  389 | size_t ComplexLpd::allocAttributeDefinitionListIndex()
      |        ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:389:8: error: redefinition of ‘size_t allocAttributeDefinitionListIndex()’
/usr/include/OpenSP/Dtd.h:253:8: note: ‘size_t allocAttributeDefinitionListIndex()’ previously defined here
  253 | size_t Dtd::allocAttributeDefinitionListIndex()
      |        ^~~
/usr/include/OpenSP/Lpd.h: In function ‘size_t allocAttributeDefinitionListIndex()’:
/usr/include/OpenSP/Lpd.h:391:10: error: ‘nAttributeDefinitionList_’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  391 |   return nAttributeDefinitionList_++;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |          nAttributeDefinitionList
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:395:1: error: ‘ComplexLpd’ does not name a type
  395 | ComplexLpd::ConstLinkSetIter ComplexLpd::linkSetIter() const
      | ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:402:16: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  402 | const ConstPtr<AttributeDefinitionList> &
      |                ^~~~~~~~~~~~~~~~~~~~~~~
      |                nAttributeDefinitionList
/usr/include/OpenSP/Lpd.h:402:39: error: template argument 1 is invalid
  402 | const ConstPtr<AttributeDefinitionList> &
      |                                       ^
/usr/include/OpenSP/Lpd.h:403:1: error: ‘ComplexLpd’ has not been declared
  403 | ComplexLpd::attributeDef(const ElementType *e) const
      | ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:403:48: error: non-member function ‘const int& attributeDef(const ElementType*)’ cannot have cv-qualifier
  403 | ComplexLpd::attributeDef(const ElementType *e) const
      |                                                ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘const int& attributeDef(const ElementType*)’:
/usr/include/OpenSP/Lpd.h:405:10: error: ‘linkAttributeDefs_’ was not declared in this scope; did you mean ‘setAttributeDef’?
  405 |   return linkAttributeDefs_[e->index()];
      |          ^~~~~~~~~~~~~~~~~~
      |          setAttributeDef
/usr/include/OpenSP/Lpd.h:405:30: error: invalid use of incomplete type ‘const class ElementType’
  405 |   return linkAttributeDefs_[e->index()];
      |                              ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:409:6: error: ‘ComplexLpd’ has not been declared
  409 | void ComplexLpd::setAttributeDef(const ElementType *e,
      |      ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:410:49: error: ‘AttributeDefinitionList’ was not declared in this scope; did you mean ‘nAttributeDefinitionList’?
  410 |                                  const ConstPtr<AttributeDefinitionList> &attdef)
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                 nAttributeDefinitionList
/usr/include/OpenSP/Lpd.h:410:72: error: template argument 1 is invalid
  410 |                                  const ConstPtr<AttributeDefinitionList> &attdef)
      |                                                                        ^
/usr/include/OpenSP/Lpd.h: In function ‘void setAttributeDef(const ElementType*, const int&)’:
/usr/include/OpenSP/Lpd.h:412:3: error: ‘linkAttributeDefs_’ was not declared in this scope; did you mean ‘setAttributeDef’?
  412 |   linkAttributeDefs_[e->index()] = attdef;
      |   ^~~~~~~~~~~~~~~~~~
      |   setAttributeDef
/usr/include/OpenSP/Lpd.h:412:23: error: invalid use of incomplete type ‘const class ElementType’
  412 |   linkAttributeDefs_[e->index()] = attdef;
      |                       ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:416:9: error: ‘ComplexLpd’ has not been declared
  416 | Boolean ComplexLpd::hadIdLinkSet() const
      |         ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h:416:36: error: non-member function ‘Boolean hadIdLinkSet()’ cannot have cv-qualifier
  416 | Boolean ComplexLpd::hadIdLinkSet() const
      |                                    ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘Boolean hadIdLinkSet()’:
/usr/include/OpenSP/Lpd.h:418:10: error: ‘hadIdLinkSet_’ was not declared in this scope; did you mean ‘hadIdLinkSet’?
  418 |   return hadIdLinkSet_;
      |          ^~~~~~~~~~~~~
      |          hadIdLinkSet
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:422:6: error: ‘ComplexLpd’ has not been declared
  422 | void ComplexLpd::setHadIdLinkSet()
      |      ^~~~~~~~~~
/usr/include/OpenSP/Lpd.h: In function ‘void setHadIdLinkSet()’:
/usr/include/OpenSP/Lpd.h:424:3: error: ‘hadIdLinkSet_’ was not declared in this scope; did you mean ‘hadIdLinkSet’?
  424 |   hadIdLinkSet_ = 1;
      |   ^~~~~~~~~~~~~
      |   hadIdLinkSet
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:428:7: error: ‘IdLinkRuleGroup’ does not name a type
  428 | const IdLinkRuleGroup *ComplexLpd::lookupIdLink(const StringC &id) const
      |       ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:434:8: error: ‘IdLinkRuleGroup’ has not been declared
  434 | size_t IdLinkRuleGroup::nLinkRules() const
      |        ^~~~~~~~~~~~~~~
/usr/include/OpenSP/Lpd.h:434:38: error: non-member function ‘size_t nLinkRules()’ cannot have cv-qualifier
  434 | size_t IdLinkRuleGroup::nLinkRules() const
      |                                      ^~~~~
/usr/include/OpenSP/Lpd.h: In function ‘size_t nLinkRules()’:
/usr/include/OpenSP/Lpd.h:436:10: error: ‘linkRules_’ was not declared in this scope; did you mean ‘nLinkRules’?
  436 |   return linkRules_.size();
      |          ^~~~~~~~~~
      |          nLinkRules
/usr/include/OpenSP/Lpd.h: At global scope:
/usr/include/OpenSP/Lpd.h:440:7: error: ‘IdLinkRule’ does not name a type
  440 | const IdLinkRule &IdLinkRuleGroup::linkRule(size_t i) const
      |       ^~~~~~~~~~
/usr/include/OpenSP/Event.h:36:20: error: expected initializer before ‘:’ token
   36 | class SP_API Event : public Link {
      |                    ^
/usr/include/OpenSP/Event.h:97:35: error: expected class-name before ‘{’ token
   97 | class LocatedEvent : public Event {
      |                                   ^
/usr/include/OpenSP/Event.h:99:33: error: ‘Location’ does not name a type
   99 |   LocatedEvent(Type type, const Location &);
      |                                 ^~~~~~~~
/usr/include/OpenSP/Event.h:100:9: error: ‘Location’ does not name a type
  100 |   const Location &location() const;
      |         ^~~~~~~~
/usr/include/OpenSP/Event.h:104:3: error: ‘Location’ does not name a type
  104 |   Location location_;
      |   ^~~~~~~~
/usr/include/OpenSP/Event.h:110:32: error: ‘Location’ does not name a type
  110 |   MarkupEvent(Type type, const Location &, Markup *);
      |                                ^~~~~~~~
/usr/include/OpenSP/Event.h:110:44: error: ‘Markup’ is not a type
  110 |   MarkupEvent(Type type, const Location &, Markup *);
      |                                            ^~~~~~
/usr/include/OpenSP/Event.h:111:9: error: ‘Markup’ does not name a type
  111 |   const Markup &markup() const;
      |         ^~~~~~
/usr/include/OpenSP/Event.h:115:3: error: ‘Markup’ does not name a type
  115 |   Markup markup_;
      |   ^~~~~~
/usr/include/OpenSP/Event.h:118:27: error: expected initializer before ‘:’ token
  118 | class SP_API MessageEvent : public Event {
      |                           ^
/usr/include/OpenSP/Event.h:136:36: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  136 |                     const ConstPtr<Dtd> &,
      |                                    ^~~
      |                                    std
/usr/include/OpenSP/Event.h:136:39: error: template argument 1 is invalid
  136 |                     const ConstPtr<Dtd> &,
      |                                       ^
/usr/include/OpenSP/Event.h:137:21: error: ‘AttributeList’ is not a type
  137 |                     AttributeList *,
      |                     ^~~~~~~~~~~~~
/usr/include/OpenSP/Event.h:138:27: error: ‘Location’ does not name a type
  138 |                     const Location &,
      |                           ^~~~~~~~
/usr/include/OpenSP/Event.h:139:21: error: ‘Markup’ is not a type
  139 |                     Markup *);
      |                     ^~~~~~
/usr/include/OpenSP/Event.h:147:9: error: ‘Markup’ does not name a type
  147 |   const Markup *markupPtr() const;
      |         ^~~~~~
/usr/include/OpenSP/Event.h:148:9: error: ‘AttributeList’ does not name a type
  148 |   const AttributeList &attributes() const;
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/Event.h:154:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  154 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:154:15: error: template argument 1 is invalid
  154 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:157:3: error: ‘Markup’ does not name a type
  157 |   Markup *markup_;
      |   ^~~~~~
/usr/include/OpenSP/Event.h:158:3: error: ‘AttributeList’ does not name a type
  158 |   AttributeList *attributes_;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/Event.h:164:34: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  164 |                   const ConstPtr<Dtd> &,
      |                                  ^~~
      |                                  std
/usr/include/OpenSP/Event.h:164:37: error: template argument 1 is invalid
  164 |                   const ConstPtr<Dtd> &,
      |                                     ^
/usr/include/OpenSP/Event.h:165:25: error: ‘Location’ does not name a type
  165 |                   const Location &,
      |                         ^~~~~~~~
/usr/include/OpenSP/Event.h:166:19: error: ‘Markup’ is not a type
  166 |                   Markup *);
      |                   ^~~~~~
/usr/include/OpenSP/Event.h:173:9: error: ‘Markup’ does not name a type
  173 |   const Markup *markupPtr() const;
      |         ^~~~~~
/usr/include/OpenSP/Event.h:179:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  179 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:179:15: error: template argument 1 is invalid
  179 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:182:3: error: ‘Markup’ does not name a type
  182 |   Markup *markup_;
      |   ^~~~~~
/usr/include/OpenSP/Event.h:187:47: error: ‘Location’ does not name a type
  187 |   DataEvent(Type, const Char *, size_t, const Location &);
      |                                               ^~~~~~~~
/usr/include/OpenSP/Event.h:203:61: error: ‘Location’ does not name a type
  203 |   ImmediateDataEvent(Type type, const Char *, size_t, const Location &,
      |                                                             ^~~~~~~~
/usr/include/OpenSP/Event.h:218:34: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  218 |                   const ConstPtr<Origin> &);
      |                                  ^~~~~~
      |                                  origin
/usr/include/OpenSP/Event.h:218:40: error: template argument 1 is invalid
  218 |                   const ConstPtr<Origin> &);
      |                                        ^
/usr/include/OpenSP/Event.h:230:35: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  230 |                    const ConstPtr<Origin> &);
      |                                   ^~~~~~
      |                                   origin
/usr/include/OpenSP/Event.h:230:41: error: template argument 1 is invalid
  230 |                    const ConstPtr<Origin> &);
      |                                         ^
/usr/include/OpenSP/Event.h:241:35: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  241 |                    const ConstPtr<Origin> &);
      |                                   ^~~~~~
      |                                   origin
/usr/include/OpenSP/Event.h:241:41: error: template argument 1 is invalid
  241 |                    const ConstPtr<Origin> &);
      |                                         ^
/usr/include/OpenSP/Event.h:252:39: error: ‘Location’ does not name a type
  252 |   PiEvent(const Char *, size_t, const Location &);
      |                                       ^~~~~~~~
/usr/include/OpenSP/Event.h:266:37: error: ‘Location’ does not name a type
  266 |   ImmediatePiEvent(StringC &, const Location &);
      |                                     ^~~~~~~~
/usr/include/OpenSP/Event.h:276:32: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
  276 |                 const ConstPtr<Origin> &origin);
      |                                ^~~~~~
      |                                origin
/usr/include/OpenSP/Event.h:276:38: error: template argument 1 is invalid
  276 |                 const ConstPtr<Origin> &origin);
      |                                      ^
/usr/include/OpenSP/Event.h:287:42: error: expected class-name before ‘{’ token
  287 | class ExternalEntityEvent : public Event {
      |                                          ^
/usr/include/OpenSP/Event.h:292:9: error: ‘Location’ does not name a type
  292 |   const Location &location() const;
      |         ^~~~~~~~
/usr/include/OpenSP/Event.h:325:34: error: ‘Location’ does not name a type
  325 |   NonSgmlCharEvent(Char c, const Location &);
      |                                  ^~~~~~~~
/usr/include/OpenSP/Event.h:336:22: error: ‘Location’ does not name a type
  336 |   AppinfoEvent(const Location &);
      |                      ^~~~~~~~
/usr/include/OpenSP/Event.h:337:22: error: ‘Text’ does not name a type
  337 |   AppinfoEvent(const Text &, const Location &);
      |                      ^~~~
/usr/include/OpenSP/Event.h:337:36: error: ‘Location’ does not name a type
  337 |   AppinfoEvent(const Text &, const Location &);
      |                                    ^~~~~~~~
/usr/include/OpenSP/Event.h:344:3: error: ‘Text’ does not name a type
  344 |   Text appinfo_;
      |   ^~~~
/usr/include/OpenSP/Event.h:349:31: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  349 |   UselinkEvent(const ConstPtr<Lpd> &,
      |                               ^~~
      |                               LPD
/usr/include/OpenSP/Event.h:349:34: error: template argument 1 is invalid
  349 |   UselinkEvent(const ConstPtr<Lpd> &,
      |                                  ^
/usr/include/OpenSP/Event.h:352:22: error: ‘Location’ does not name a type
  352 |                const Location &,
      |                      ^~~~~~~~
/usr/include/OpenSP/Event.h:353:16: error: ‘Markup’ is not a type
  353 |                Markup *);
      |                ^~~~~~
/usr/include/OpenSP/Event.h:355:18: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  355 |   const ConstPtr<Lpd> &lpd() const;
      |                  ^~~
      |                  LPD
/usr/include/OpenSP/Event.h:355:21: error: template argument 1 is invalid
  355 |   const ConstPtr<Lpd> &lpd() const;
      |                     ^
/usr/include/OpenSP/Event.h:361:12: error: ‘Lpd’ was not declared in this scope; did you mean ‘lpd’?
  361 |   ConstPtr<Lpd> lpd_;
      |            ^~~
      |            lpd
/usr/include/OpenSP/Event.h:361:15: error: template argument 1 is invalid
  361 |   ConstPtr<Lpd> lpd_;
      |               ^
/usr/include/OpenSP/Event.h:370:30: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  370 |               const ConstPtr<Dtd> &,
      |                              ^~~
      |                              std
/usr/include/OpenSP/Event.h:370:33: error: template argument 1 is invalid
  370 |               const ConstPtr<Dtd> &,
      |                                 ^
/usr/include/OpenSP/Event.h:371:21: error: ‘Location’ does not name a type
  371 |               const Location &,
      |                     ^~~~~~~~
/usr/include/OpenSP/Event.h:372:15: error: ‘Markup’ is not a type
  372 |               Markup *);
      |               ^~~~~~
/usr/include/OpenSP/Event.h:379:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  379 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:379:15: error: template argument 1 is invalid
  379 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:390:26: error: ‘Location’ does not name a type
  390 |                    const Location &,
      |                          ^~~~~~~~
/usr/include/OpenSP/Event.h:391:20: error: ‘Markup’ is not a type
  391 |                    Markup *);
      |                    ^~~~~~
/usr/include/OpenSP/Event.h:408:23: error: ‘Location’ does not name a type
  408 |                 const Location &,
      |                       ^~~~~~~~
/usr/include/OpenSP/Event.h:409:17: error: ‘Markup’ is not a type
  409 |                 Markup *);
      |                 ^~~~~~
/usr/include/OpenSP/Event.h:422:23: error: ‘Location’ does not name a type
  422 |                 const Location &,
      |                       ^~~~~~~~
/usr/include/OpenSP/Event.h:423:17: error: ‘Markup’ is not a type
  423 |                 Markup *);
      |                 ^~~~~~
/usr/include/OpenSP/Event.h:434:30: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  434 |   EndDtdEvent(const ConstPtr<Dtd> &, const Location &,
      |                              ^~~
      |                              std
/usr/include/OpenSP/Event.h:434:33: error: template argument 1 is invalid
  434 |   EndDtdEvent(const ConstPtr<Dtd> &, const Location &,
      |                                 ^
/usr/include/OpenSP/Event.h:434:44: error: ‘Location’ does not name a type
  434 |   EndDtdEvent(const ConstPtr<Dtd> &, const Location &,
      |                                            ^~~~~~~~
/usr/include/OpenSP/Event.h:435:15: error: ‘Markup’ is not a type
  435 |               Markup *);
      |               ^~~~~~
/usr/include/OpenSP/Event.h:437:9: error: ‘Dtd’ does not name a type
  437 |   const Dtd &dtd() const;
      |         ^~~
/usr/include/OpenSP/Event.h:438:18: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  438 |   const ConstPtr<Dtd> &dtdPointer() const;
      |                  ^~~
      |                  std
/usr/include/OpenSP/Event.h:438:21: error: template argument 1 is invalid
  438 |   const ConstPtr<Dtd> &dtdPointer() const;
      |                     ^
/usr/include/OpenSP/Event.h:442:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  442 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:442:15: error: template argument 1 is invalid
  442 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:447:30: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  447 |   EndLpdEvent(const ConstPtr<Lpd> &, const Location &,
      |                              ^~~
      |                              LPD
/usr/include/OpenSP/Event.h:447:33: error: template argument 1 is invalid
  447 |   EndLpdEvent(const ConstPtr<Lpd> &, const Location &,
      |                                 ^
/usr/include/OpenSP/Event.h:447:44: error: ‘Location’ does not name a type
  447 |   EndLpdEvent(const ConstPtr<Lpd> &, const Location &,
      |                                            ^~~~~~~~
/usr/include/OpenSP/Event.h:448:15: error: ‘Markup’ is not a type
  448 |               Markup *);
      |               ^~~~~~
/usr/include/OpenSP/Event.h:450:9: error: ‘Lpd’ does not name a type
  450 |   const Lpd &lpd() const;
      |         ^~~
/usr/include/OpenSP/Event.h:451:18: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  451 |   const ConstPtr<Lpd> &lpdPointer() const;
      |                  ^~~
      |                  LPD
/usr/include/OpenSP/Event.h:451:21: error: template argument 1 is invalid
  451 |   const ConstPtr<Lpd> &lpdPointer() const;
      |                     ^
/usr/include/OpenSP/Event.h:455:12: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  455 |   ConstPtr<Lpd> lpd_;
      |            ^~~
      |            LPD
/usr/include/OpenSP/Event.h:455:15: error: template argument 1 is invalid
  455 |   ConstPtr<Lpd> lpd_;
      |               ^
/usr/include/OpenSP/Event.h:460:33: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  460 |   EndPrologEvent(const ConstPtr<Dtd> &dtd,
      |                                 ^~~
      |                                 std
/usr/include/OpenSP/Event.h:460:36: error: template argument 1 is invalid
  460 |   EndPrologEvent(const ConstPtr<Dtd> &dtd,
      |                                    ^
/usr/include/OpenSP/Event.h:461:33: error: ‘ComplexLpd’ was not declared in this scope
  461 |                  const ConstPtr<ComplexLpd> &lpd,
      |                                 ^~~~~~~~~~
/usr/include/OpenSP/Event.h:461:43: error: template argument 1 is invalid
  461 |                  const ConstPtr<ComplexLpd> &lpd,
      |                                           ^
/usr/include/OpenSP/Event.h:464:24: error: ‘Location’ does not name a type
  464 |                  const Location &);
      |                        ^~~~~~~~
/usr/include/OpenSP/Event.h:465:33: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  465 |   EndPrologEvent(const ConstPtr<Dtd> &dtd,
      |                                 ^~~
      |                                 std
/usr/include/OpenSP/Event.h:465:36: error: template argument 1 is invalid
  465 |   EndPrologEvent(const ConstPtr<Dtd> &dtd,
      |                                    ^
/usr/include/OpenSP/Event.h:466:24: error: ‘Location’ does not name a type
  466 |                  const Location &);
      |                        ^~~~~~~~
/usr/include/OpenSP/Event.h:468:9: error: ‘Dtd’ does not name a type
  468 |   const Dtd &dtd() const;
      |         ^~~
/usr/include/OpenSP/Event.h:469:18: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  469 |   const ConstPtr<Dtd> &dtdPointer() const;
      |                  ^~~
      |                  std
/usr/include/OpenSP/Event.h:469:21: error: template argument 1 is invalid
  469 |   const ConstPtr<Dtd> &dtdPointer() const;
      |                     ^
/usr/include/OpenSP/Event.h:470:18: error: ‘ComplexLpd’ was not declared in this scope
  470 |   const ConstPtr<ComplexLpd> &lpdPointer() const;
      |                  ^~~~~~~~~~
/usr/include/OpenSP/Event.h:470:28: error: template argument 1 is invalid
  470 |   const ConstPtr<ComplexLpd> &lpdPointer() const;
      |                            ^
/usr/include/OpenSP/Event.h:476:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  476 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:476:15: error: template argument 1 is invalid
  476 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:477:12: error: ‘ComplexLpd’ was not declared in this scope
  477 |   ConstPtr<ComplexLpd> lpd_;
      |            ^~~~~~~~~~
/usr/include/OpenSP/Event.h:477:22: error: template argument 1 is invalid
  477 |   ConstPtr<ComplexLpd> lpd_;
      |                      ^
/usr/include/OpenSP/Event.h:495:23: error: ‘Location’ does not name a type
  495 |                 const Location &,
      |                       ^~~~~~~~
/usr/include/OpenSP/Event.h:496:17: error: ‘Markup’ is not a type
  496 |                 Markup *);
      |                 ^~~~~~
/usr/include/OpenSP/Event.h:521:26: error: ‘Location’ does not name a type
  521 |   CommentDeclEvent(const Location &, Markup *);
      |                          ^~~~~~~~
/usr/include/OpenSP/Event.h:521:38: error: ‘Markup’ is not a type
  521 |   CommentDeclEvent(const Location &, Markup *);
      |                                      ^~~~~~
/usr/include/OpenSP/Event.h:530:41: error: ‘Location’ does not name a type
  530 |   SSepEvent(const Char *, size_t, const Location &, Boolean copy);
      |                                         ^~~~~~~~
/usr/include/OpenSP/Event.h:539:32: error: ‘Location’ does not name a type
  539 |   IgnoredRsEvent(Char c, const Location &);
      |                                ^~~~~~~~
/usr/include/OpenSP/Event.h:550:32: error: ‘Location’ does not name a type
  550 |   IgnoredReEvent(Char c, const Location &, unsigned long serial);
      |                                ^~~~~~~~
/usr/include/OpenSP/Event.h:563:31: error: ‘Location’ does not name a type
  563 |   ReEvent(const Char *, const Location &, unsigned long serial);
      |                               ^~~~~~~~
/usr/include/OpenSP/Event.h:573:31: error: ‘Location’ does not name a type
  573 |   ReOriginEvent(Char c, const Location &, unsigned long serial);
      |                               ^~~~~~~~
/usr/include/OpenSP/Event.h:586:49: error: ‘Location’ does not name a type
  586 |   IgnoredCharsEvent(const Char *, size_t, const Location &, Boolean copy);
      |                                                 ^~~~~~~~
/usr/include/OpenSP/Event.h:596:42: error: ‘Location’ does not name a type
  596 |   MarkedSectionEvent(Type, Status, const Location &, Markup *);
      |                                          ^~~~~~~~
/usr/include/OpenSP/Event.h:596:54: error: ‘Markup’ is not a type
  596 |   MarkedSectionEvent(Type, Status, const Location &, Markup *);
      |                                                      ^~~~~~
/usr/include/OpenSP/Event.h:606:41: error: ‘Location’ does not name a type
  606 |   MarkedSectionStartEvent(Status, const Location &, Markup *);
      |                                         ^~~~~~~~
/usr/include/OpenSP/Event.h:606:53: error: ‘Markup’ is not a type
  606 |   MarkedSectionStartEvent(Status, const Location &, Markup *);
      |                                                     ^~~~~~
/usr/include/OpenSP/Event.h:615:39: error: ‘Location’ does not name a type
  615 |   MarkedSectionEndEvent(Status, const Location &, Markup *);
      |                                       ^~~~~~~~
/usr/include/OpenSP/Event.h:615:51: error: ‘Markup’ is not a type
  615 |   MarkedSectionEndEvent(Status, const Location &, Markup *);
      |                                                   ^~~~~~
/usr/include/OpenSP/Event.h:622:39: error: expected class-name before ‘{’ token
  622 | class EntityStartEvent : public Event {
      |                                       ^
/usr/include/OpenSP/Event.h:637:24: error: ‘Location’ does not name a type
  637 |   EntityEndEvent(const Location &);
      |                        ^~~~~~~~
/usr/include/OpenSP/Event.h:648:25: error: ‘Location’ does not name a type
  648 |                   const Location &,
      |                         ^~~~~~~~
/usr/include/OpenSP/Event.h:649:19: error: ‘Markup’ is not a type
  649 |                   Markup *);
      |                   ^~~~~~
/usr/include/OpenSP/Event.h:664:27: error: ‘Location’ does not name a type
  664 |                     const Location &,
      |                           ^~~~~~~~
/usr/include/OpenSP/Event.h:665:21: error: ‘Markup’ is not a type
  665 |                     Markup *);
      |                     ^~~~~~
/usr/include/OpenSP/Event.h:678:35: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  678 |                    const ConstPtr<Dtd> &,
      |                                   ^~~
      |                                   std
/usr/include/OpenSP/Event.h:678:38: error: template argument 1 is invalid
  678 |                    const ConstPtr<Dtd> &,
      |                                      ^
/usr/include/OpenSP/Event.h:679:26: error: ‘Location’ does not name a type
  679 |                    const Location &,
      |                          ^~~~~~~~
/usr/include/OpenSP/Event.h:680:20: error: ‘Markup’ is not a type
  680 |                    Markup *);
      |                    ^~~~~~
/usr/include/OpenSP/Event.h:687:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  687 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:687:15: error: template argument 1 is invalid
  687 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:693:35: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  693 |                    const ConstPtr<Dtd> &,
      |                                   ^~~
      |                                   std
/usr/include/OpenSP/Event.h:693:38: error: template argument 1 is invalid
  693 |                    const ConstPtr<Dtd> &,
      |                                      ^
/usr/include/OpenSP/Event.h:694:26: error: ‘Location’ does not name a type
  694 |                    const Location &,
      |                          ^~~~~~~~
/usr/include/OpenSP/Event.h:695:20: error: ‘Markup’ is not a type
  695 |                    Markup *);
      |                    ^~~~~~
/usr/include/OpenSP/Event.h:702:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  702 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:702:15: error: template argument 1 is invalid
  702 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:708:34: error: ‘Location’ does not name a type
  708 |                            const Location &,
      |                                  ^~~~~~~~
/usr/include/OpenSP/Event.h:709:28: error: ‘Markup’ is not a type
  709 |                            Markup *);
      |                            ^~~~~~
/usr/include/OpenSP/Event.h:721:39: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  721 |                        const ConstPtr<Lpd> &,
      |                                       ^~~
      |                                       LPD
/usr/include/OpenSP/Event.h:721:42: error: template argument 1 is invalid
  721 |                        const ConstPtr<Lpd> &,
      |                                          ^
/usr/include/OpenSP/Event.h:722:30: error: ‘Location’ does not name a type
  722 |                        const Location &,
      |                              ^~~~~~~~
/usr/include/OpenSP/Event.h:723:24: error: ‘Markup’ is not a type
  723 |                        Markup *);
      |                        ^~~~~~
/usr/include/OpenSP/Event.h:726:9: error: ‘Lpd’ does not name a type
  726 |   const Lpd &lpd() const;
      |         ^~~
/usr/include/OpenSP/Event.h:731:12: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
  731 |   ConstPtr<Lpd> lpd_;
      |            ^~~
      |            LPD
/usr/include/OpenSP/Event.h:731:15: error: template argument 1 is invalid
  731 |   ConstPtr<Lpd> lpd_;
      |               ^
/usr/include/OpenSP/Event.h:737:32: error: ‘ComplexLpd’ was not declared in this scope
  737 |                 const ConstPtr<ComplexLpd> &,
      |                                ^~~~~~~~~~
/usr/include/OpenSP/Event.h:737:42: error: template argument 1 is invalid
  737 |                 const ConstPtr<ComplexLpd> &,
      |                                          ^
/usr/include/OpenSP/Event.h:738:23: error: ‘Location’ does not name a type
  738 |                 const Location &,
      |                       ^~~~~~~~
/usr/include/OpenSP/Event.h:739:17: error: ‘Markup’ is not a type
  739 |                 Markup *);
      |                 ^~~~~~
/usr/include/OpenSP/Event.h:742:9: error: ‘ComplexLpd’ does not name a type
  742 |   const ComplexLpd &lpd() const;
      |         ^~~~~~~~~~
/usr/include/OpenSP/Event.h:747:12: error: ‘ComplexLpd’ was not declared in this scope
  747 |   ConstPtr<ComplexLpd> lpd_;
      |            ^~~~~~~~~~
/usr/include/OpenSP/Event.h:747:22: error: template argument 1 is invalid
  747 |   ConstPtr<ComplexLpd> lpd_;
      |                      ^
/usr/include/OpenSP/Event.h:752:34: error: ‘ComplexLpd’ was not declared in this scope
  752 |   IdLinkDeclEvent(const ConstPtr<ComplexLpd> &,
      |                                  ^~~~~~~~~~
/usr/include/OpenSP/Event.h:752:44: error: template argument 1 is invalid
  752 |   IdLinkDeclEvent(const ConstPtr<ComplexLpd> &,
      |                                            ^
/usr/include/OpenSP/Event.h:753:25: error: ‘Location’ does not name a type
  753 |                   const Location &,
      |                         ^~~~~~~~
/usr/include/OpenSP/Event.h:754:19: error: ‘Markup’ is not a type
  754 |                   Markup *);
      |                   ^~~~~~
/usr/include/OpenSP/Event.h:756:9: error: ‘ComplexLpd’ does not name a type
  756 |   const ComplexLpd &lpd() const;
      |         ^~~~~~~~~~
/usr/include/OpenSP/Event.h:760:12: error: ‘ComplexLpd’ was not declared in this scope
  760 |   ConstPtr<ComplexLpd> lpd_;
      |            ^~~~~~~~~~
/usr/include/OpenSP/Event.h:760:22: error: template argument 1 is invalid
  760 |   ConstPtr<ComplexLpd> lpd_;
      |                      ^
/usr/include/OpenSP/Event.h:766:36: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  766 |                     const ConstPtr<Dtd> &,
      |                                    ^~~
      |                                    std
/usr/include/OpenSP/Event.h:766:39: error: template argument 1 is invalid
  766 |                     const ConstPtr<Dtd> &,
      |                                       ^
/usr/include/OpenSP/Event.h:767:27: error: ‘Location’ does not name a type
  767 |                     const Location &,
      |                           ^~~~~~~~
/usr/include/OpenSP/Event.h:768:21: error: ‘Markup’ is not a type
  768 |                     Markup *);
      |                     ^~~~~~
/usr/include/OpenSP/Event.h:775:12: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
  775 |   ConstPtr<Dtd> dtd_;
      |            ^~~
      |            std
/usr/include/OpenSP/Event.h:775:15: error: template argument 1 is invalid
  775 |   ConstPtr<Dtd> dtd_;
      |               ^
/usr/include/OpenSP/Event.h:780:28: error: ‘Location’ does not name a type
  780 |   IgnoredMarkupEvent(const Location &, Markup *);
      |                            ^~~~~~~~
/usr/include/OpenSP/Event.h:780:40: error: ‘Markup’ is not a type
  780 |   IgnoredMarkupEvent(const Location &, Markup *);
      |                                        ^~~~~~
/usr/include/OpenSP/Event.h:795:30: error: ‘Location’ does not name a type
  795 |                        const Location &);
      |                              ^~~~~~~~
/usr/include/OpenSP/Event.h:807:29: error: ‘PublicId’ does not name a type
  807 |   SgmlDeclEntityEvent(const PublicId &publicId,
      |                             ^~~~~~~~
/usr/include/OpenSP/Event.h:808:23: error: ‘PublicId’ is not a class, namespace, or enumeration
  808 |                       PublicId::TextClass entityType,
      |                       ^~~~~~~~
/usr/include/OpenSP/Event.h:808:43: error: expected ‘,’ or ‘...’ before ‘entityType’
  808 |                       PublicId::TextClass entityType,
      |                                           ^~~~~~~~~~
/usr/include/OpenSP/Event.h:812:9: error: ‘PublicId’ does not name a type
  812 |   const PublicId &publicId() const;
      |         ^~~~~~~~
/usr/include/OpenSP/Event.h:813:3: error: ‘PublicId’ does not name a type
  813 |   PublicId::TextClass entityType() const;
      |   ^~~~~~~~
/usr/include/OpenSP/Event.h:818:3: error: ‘PublicId’ does not name a type
  818 |   PublicId publicId_;
      |   ^~~~~~~~
/usr/include/OpenSP/Event.h:819:3: error: ‘PublicId’ does not name a type
  819 |   PublicId::TextClass entityType_;
      |   ^~~~~~~~
/usr/include/OpenSP/Event.h:823:14: error: variable ‘SP_API EventHandler’ has initializer but incomplete type
  823 | class SP_API EventHandler {
      |              ^~~~~~~~~~~~
/usr/include/OpenSP/Event.h:824:1: error: expected primary-expression before ‘public’
  824 | public:
      | ^~~~~~
/usr/include/OpenSP/Event.h:824:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/Event.h:823:27: note: to match this ‘{’
  823 | class SP_API EventHandler {
      |                           ^
/usr/include/OpenSP/Event.h:824:1: error: expected ‘,’ or ‘;’ before ‘public’
  824 | public:
      | ^~~~~~
/usr/include/OpenSP/Event.h:826:3: error: ‘virtual’ outside class declaration
  826 |   virtual void message(MessageEvent *) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:826:16: error: variable or field ‘message’ declared void
  826 |   virtual void message(MessageEvent *) = 0;
      |                ^~~~~~~
/usr/include/OpenSP/Event.h:826:24: error: ‘MessageEvent’ was not declared in this scope
  826 |   virtual void message(MessageEvent *) = 0;
      |                        ^~~~~~~~~~~~
/usr/include/OpenSP/Event.h:826:38: error: expected primary-expression before ‘)’ token
  826 |   virtual void message(MessageEvent *) = 0;
      |                                      ^
/usr/include/OpenSP/Event.h:827:3: error: ‘virtual’ outside class declaration
  827 |   virtual void data(DataEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:827:32: error: ‘void data(DataEvent*)’ redeclared as different kind of entity
  827 |   virtual void data(DataEvent *);
      |                                ^
/usr/include/OpenSP/Text.h:26:5: note: previous declaration ‘Type data’
   26 |     data,
      |     ^~~~
/usr/include/OpenSP/Event.h:828:3: error: ‘virtual’ outside class declaration
  828 |   virtual void startElement(StartElementEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:829:3: error: ‘virtual’ outside class declaration
  829 |   virtual void endElement(EndElementEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:830:3: error: ‘virtual’ outside class declaration
  830 |   virtual void pi(PiEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:831:3: error: ‘virtual’ outside class declaration
  831 |   virtual void sdataEntity(SdataEntityEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:832:3: error: ‘virtual’ outside class declaration
  832 |   virtual void externalDataEntity(ExternalDataEntityEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:833:3: error: ‘virtual’ outside class declaration
  833 |   virtual void subdocEntity(SubdocEntityEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:834:3: error: ‘virtual’ outside class declaration
  834 |   virtual void nonSgmlChar(NonSgmlCharEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:835:3: error: ‘virtual’ outside class declaration
  835 |   virtual void appinfo(AppinfoEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:836:3: error: ‘virtual’ outside class declaration
  836 |   virtual void uselink(UselinkEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:837:3: error: ‘virtual’ outside class declaration
  837 |   virtual void usemap(UsemapEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:838:3: error: ‘virtual’ outside class declaration
  838 |   virtual void startDtd(StartDtdEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:839:3: error: ‘virtual’ outside class declaration
  839 |   virtual void endDtd(EndDtdEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:840:3: error: ‘virtual’ outside class declaration
  840 |   virtual void startLpd(StartLpdEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:841:3: error: ‘virtual’ outside class declaration
  841 |   virtual void endLpd(EndLpdEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:842:3: error: ‘virtual’ outside class declaration
  842 |   virtual void endProlog(EndPrologEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:843:3: error: ‘virtual’ outside class declaration
  843 |   virtual void sgmlDecl(SgmlDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:844:3: error: ‘virtual’ outside class declaration
  844 |   virtual void commentDecl(CommentDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:845:3: error: ‘virtual’ outside class declaration
  845 |   virtual void sSep(SSepEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:846:3: error: ‘virtual’ outside class declaration
  846 |   virtual void ignoredRs(IgnoredRsEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:847:3: error: ‘virtual’ outside class declaration
  847 |   virtual void ignoredRe(IgnoredReEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:848:3: error: ‘virtual’ outside class declaration
  848 |   virtual void reOrigin(ReOriginEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:849:3: error: ‘virtual’ outside class declaration
  849 |   virtual void ignoredChars(IgnoredCharsEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:850:3: error: ‘virtual’ outside class declaration
  850 |   virtual void markedSectionStart(MarkedSectionStartEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:851:3: error: ‘virtual’ outside class declaration
  851 |   virtual void markedSectionEnd(MarkedSectionEndEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:852:3: error: ‘virtual’ outside class declaration
  852 |   virtual void entityStart(EntityStartEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:852:46: error: ‘void entityStart(EntityStartEvent*)’ redeclared as different kind of entity
  852 |   virtual void entityStart(EntityStartEvent *);
      |                                              ^
/usr/include/OpenSP/Text.h:30:5: note: previous declaration ‘Type entityStart’
   30 |     entityStart,
      |     ^~~~~~~~~~~
/usr/include/OpenSP/Event.h:853:3: error: ‘virtual’ outside class declaration
  853 |   virtual void entityEnd(EntityEndEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:853:42: error: ‘void entityEnd(EntityEndEvent*)’ redeclared as different kind of entity
  853 |   virtual void entityEnd(EntityEndEvent *);
      |                                          ^
/usr/include/OpenSP/Text.h:31:5: note: previous declaration ‘Type entityEnd’
   31 |     entityEnd,
      |     ^~~~~~~~~
/usr/include/OpenSP/Event.h:854:3: error: ‘virtual’ outside class declaration
  854 |   virtual void notationDecl(NotationDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:855:3: error: ‘virtual’ outside class declaration
  855 |   virtual void entityDecl(EntityDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:856:3: error: ‘virtual’ outside class declaration
  856 |   virtual void elementDecl(ElementDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:857:3: error: ‘virtual’ outside class declaration
  857 |   virtual void attlistDecl(AttlistDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:858:3: error: ‘virtual’ outside class declaration
  858 |   virtual void linkAttlistDecl(LinkAttlistDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:859:3: error: ‘virtual’ outside class declaration
  859 |   virtual void attlistNotationDecl(AttlistNotationDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:860:3: error: ‘virtual’ outside class declaration
  860 |   virtual void linkDecl(LinkDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:861:3: error: ‘virtual’ outside class declaration
  861 |   virtual void idLinkDecl(IdLinkDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:862:3: error: ‘virtual’ outside class declaration
  862 |   virtual void shortrefDecl(ShortrefDeclEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:863:3: error: ‘virtual’ outside class declaration
  863 |   virtual void ignoredMarkup(IgnoredMarkupEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:864:3: error: ‘virtual’ outside class declaration
  864 |   virtual void entityDefaulted(EntityDefaultedEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:865:3: error: ‘virtual’ outside class declaration
  865 |   virtual void inputClosed(InputSource *in);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:866:3: error: ‘virtual’ outside class declaration
  866 |   virtual void inputOpened(InputSource *in);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:867:3: error: ‘virtual’ outside class declaration
  867 |   virtual void sgmlDeclEntity(SgmlDeclEntityEvent *);
      |   ^~~~~~~
/usr/include/OpenSP/Event.h:868:1: error: expected declaration before ‘}’ token
  868 | };
      | ^
/usr/include/OpenSP/Event.h:871:1: error: ‘Event’ does not name a type; did you mean ‘ReEvent’?
  871 | Event::Event(Type type)
      | ^~~~~
      | ReEvent
/usr/include/OpenSP/Event.h:877:1: error: ‘Event’ does not name a type; did you mean ‘ReEvent’?
  877 | Event::~Event()
      | ^~~~~
      | ReEvent
/usr/include/OpenSP/Event.h:882:1: error: ‘Event’ does not name a type; did you mean ‘ReEvent’?
  882 | Event::Type Event::type() const
      | ^~~~~
      | ReEvent
/usr/include/OpenSP/Event.h:888:7: error: ‘Location’ does not name a type
  888 | const Location &LocatedEvent::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/Event.h:894:7: error: ‘Markup’ does not name a type
  894 | const Markup &MarkupEvent::markup() const
      |       ^~~~~~
/usr/include/OpenSP/Event.h:900:7: error: ‘Message’ does not name a type
  900 | const Message &MessageEvent::message() const
      |       ^~~~~~~
/usr/include/OpenSP/Event.h: In member function ‘const StringC& StartElementEvent::name() const’:
/usr/include/OpenSP/Event.h:914:22: error: invalid use of incomplete type ‘const class ElementType’
  914 |   return elementType_->name();
      |                      ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Event.h: At global scope:
/usr/include/OpenSP/Event.h:930:7: error: ‘Markup’ does not name a type
  930 | const Markup *StartElementEvent::markupPtr() const
      |       ^~~~~~
/usr/include/OpenSP/Event.h:936:7: error: ‘AttributeList’ does not name a type
  936 | const AttributeList &StartElementEvent::attributes() const
      |       ^~~~~~~~~~~~~
/usr/include/OpenSP/Event.h: In member function ‘Boolean StartElementEvent::mustOmitEnd() const’:
/usr/include/OpenSP/Event.h:944:25: error: invalid use of incomplete type ‘const class ElementType’
  944 |   return ((elementType()->definition()->declaredContent()
      |                         ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Event.h:945:15: error: ‘ElementDefinition’ has not been declared
  945 |            == ElementDefinition::empty)
      |               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/Event.h:946:15: error: ‘attributes_’ was not declared in this scope; did you mean ‘Attributed’?
  946 |           ||  attributes_->conref());
      |               ^~~~~~~~~~~
      |               Attributed
/usr/include/OpenSP/Event.h: In member function ‘const StringC& EndElementEvent::name() const’:
/usr/include/OpenSP/Event.h:958:22: error: invalid use of incomplete type ‘const class ElementType’
  958 |   return elementType_->name();
      |                      ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/Event.h: At global scope:
/usr/include/OpenSP/Event.h:974:7: error: ‘Markup’ does not name a type
  974 | const Markup *EndElementEvent::markupPtr() const
      |       ^~~~~~
/usr/include/OpenSP/Event.h:1011:7: error: ‘Location’ does not name a type
 1011 | const Location &ExternalEntityEvent::location() const
      |       ^~~~~~~~
/usr/include/OpenSP/Event.h: In member function ‘Boolean AppinfoEvent::literal(const StringC*&) const’:
/usr/include/OpenSP/Event.h:1039:8: error: ‘appinfo_’ was not declared in this scope; did you mean ‘appinfo’?
 1039 |   p = &appinfo_.string();
      |        ^~~~~~~~
      |        appinfo
/usr/include/OpenSP/Event.h: At global scope:
/usr/include/OpenSP/Event.h:1044:16: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
 1044 | const ConstPtr<Lpd> &UselinkEvent::lpd() const
      |                ^~~
      |                LPD
/usr/include/OpenSP/Event.h:1044:19: error: template argument 1 is invalid
 1044 | const ConstPtr<Lpd> &UselinkEvent::lpd() const
      |                   ^
/usr/include/OpenSP/Event.h:1092:7: error: ‘Dtd’ does not name a type
 1092 | const Dtd &EndDtdEvent::dtd() const
      |       ^~~
/usr/include/OpenSP/Event.h:1098:16: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
 1098 | const ConstPtr<Dtd> &EndDtdEvent::dtdPointer() const
      |                ^~~
      |                std
/usr/include/OpenSP/Event.h:1098:19: error: template argument 1 is invalid
 1098 | const ConstPtr<Dtd> &EndDtdEvent::dtdPointer() const
      |                   ^
/usr/include/OpenSP/Event.h:1104:7: error: ‘Lpd’ does not name a type
 1104 | const Lpd &EndLpdEvent::lpd() const
      |       ^~~
/usr/include/OpenSP/Event.h:1110:16: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
 1110 | const ConstPtr<Lpd> &EndLpdEvent::lpdPointer() const
      |                ^~~
      |                LPD
/usr/include/OpenSP/Event.h:1110:19: error: template argument 1 is invalid
 1110 | const ConstPtr<Lpd> &EndLpdEvent::lpdPointer() const
      |                   ^
/usr/include/OpenSP/Event.h:1116:7: error: ‘Dtd’ does not name a type
 1116 | const Dtd &EndPrologEvent::dtd() const
      |       ^~~
/usr/include/OpenSP/Event.h:1122:16: error: ‘Dtd’ was not declared in this scope; did you mean ‘std’?
 1122 | const ConstPtr<Dtd> &EndPrologEvent::dtdPointer() const
      |                ^~~
      |                std
/usr/include/OpenSP/Event.h:1122:19: error: template argument 1 is invalid
 1122 | const ConstPtr<Dtd> &EndPrologEvent::dtdPointer() const
      |                   ^
/usr/include/OpenSP/Event.h:1128:16: error: ‘ComplexLpd’ was not declared in this scope
 1128 | const ConstPtr<ComplexLpd> &EndPrologEvent::lpdPointer() const
      |                ^~~~~~~~~~
/usr/include/OpenSP/Event.h:1128:26: error: template argument 1 is invalid
 1128 | const ConstPtr<ComplexLpd> &EndPrologEvent::lpdPointer() const
      |                          ^
/usr/include/OpenSP/Event.h: In member function ‘const Entity* EntityStartEvent::entity() const’:
/usr/include/OpenSP/Event.h:1238:17: error: invalid use of incomplete type ‘const class EntityOrigin’
 1238 |   return origin_->entity();
      |                 ^~
/usr/include/OpenSP/Location.h:25:7: note: forward declaration of ‘class EntityOrigin’
   25 | class EntityOrigin;
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/Event.h: At global scope:
/usr/include/OpenSP/Event.h:1297:7: error: ‘Lpd’ does not name a type
 1297 | const Lpd &LinkAttlistDeclEvent::lpd() const
      |       ^~~
/usr/include/OpenSP/Event.h:1309:7: error: ‘ComplexLpd’ does not name a type
 1309 | const ComplexLpd &LinkDeclEvent::lpd() const
      |       ^~~~~~~~~~
/usr/include/OpenSP/Event.h:1315:7: error: ‘ComplexLpd’ does not name a type
 1315 | const ComplexLpd &IdLinkDeclEvent::lpd() const
      |       ^~~~~~~~~~
/usr/include/OpenSP/Event.h:1347:7: error: ‘PublicId’ does not name a type
 1347 | const PublicId &SgmlDeclEntityEvent::publicId() const
      |       ^~~~~~~~
/usr/include/OpenSP/Event.h:1353:1: error: ‘PublicId’ does not name a type
 1353 | PublicId::TextClass SgmlDeclEntityEvent::entityType() const
      | ^~~~~~~~
In file included from /usr/include/OpenSP/ArcEngine.h:13:
/usr/include/OpenSP/SgmlParser.h:34:14: error: variable ‘SP_API SgmlParser’ has initializer but incomplete type
   34 | class SP_API SgmlParser {
      |              ^~~~~~~~~~
/usr/include/OpenSP/SgmlParser.h:35:1: error: expected primary-expression before ‘public’
   35 | public:
      | ^~~~~~
/usr/include/OpenSP/SgmlParser.h:35:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/SgmlParser.h:34:25: note: to match this ‘{’
   34 | class SP_API SgmlParser {
      |                         ^
/usr/include/OpenSP/SgmlParser.h:35:1: error: expected ‘,’ or ‘;’ before ‘public’
   35 | public:
      | ^~~~~~
/usr/include/OpenSP/SgmlParser.h:58:15: error: expected constructor, destructor, or type conversion before ‘;’ token
   58 |   SgmlParser();                 // must call init
      |               ^
/usr/include/OpenSP/SgmlParser.h:59:20: error: ‘Params’ does not name a type
   59 |   SgmlParser(const Params &params);
      |                    ^~~~~~
/usr/include/OpenSP/SgmlParser.h:59:35: error: expected constructor, destructor, or type conversion before ‘;’ token
   59 |   SgmlParser(const Params &params);
      |                                   ^
/usr/include/OpenSP/SgmlParser.h:60:19: error: ‘Params’ does not name a type
   60 |   void init(const Params &params);
      |                   ^~~~~~
/usr/include/OpenSP/SgmlParser.h:60:33: error: ‘void init(const int&)’ redeclared as different kind of entity
   60 |   void init(const Params &params);
      |                                 ^
/usr/include/OpenSP/ExternalId.h:66:8: note: previous declaration ‘Type init’
   66 |   Type init(Text &, const CharsetInfo &, Char space,
      |        ^~~~
/usr/include/OpenSP/SgmlParser.h:61:14: error: expected class-name before ‘(’ token
   61 |   ~SgmlParser();
      |              ^
/usr/include/OpenSP/SgmlParser.h:63:8: error: variable or field ‘parseAll’ declared void
   63 |   void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr = 0);
      |        ^~~~~~~~
/usr/include/OpenSP/SgmlParser.h:63:31: error: expected primary-expression before ‘,’ token
   63 |   void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr = 0);
      |                               ^
/usr/include/OpenSP/SgmlParser.h:63:33: error: expected primary-expression before ‘const’
   63 |   void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr = 0);
      |                                 ^~~~~
/usr/include/OpenSP/SgmlParser.h:64:21: error: non-member function ‘ConstPtr<Sd> sd()’ cannot have cv-qualifier
   64 |   ConstPtr<Sd> sd() const;
      |                     ^~~~~
/usr/include/OpenSP/SgmlParser.h:65:37: error: non-member function ‘ConstPtr<Syntax> instanceSyntax()’ cannot have cv-qualifier
   65 |   ConstPtr<Syntax> instanceSyntax() const;
      |                                     ^~~~~
/usr/include/OpenSP/SgmlParser.h:66:35: error: non-member function ‘ConstPtr<Syntax> prologSyntax()’ cannot have cv-qualifier
   66 |   ConstPtr<Syntax> prologSyntax() const;
      |                                   ^~~~~
/usr/include/OpenSP/SgmlParser.h:67:3: error: ‘EntityManager’ does not name a type
   67 |   EntityManager &entityManager() const;
      |   ^~~~~~~~~~~~~
/usr/include/OpenSP/SgmlParser.h:68:9: error: ‘EntityCatalog’ does not name a type
   68 |   const EntityCatalog &entityCatalog() const;
      |         ^~~~~~~~~~~~~
/usr/include/OpenSP/SgmlParser.h:69:34: error: non-member function ‘const ParserOptions& options()’ cannot have cv-qualifier
   69 |   const ParserOptions &options() const;
      |                                  ^~~~~
/usr/include/OpenSP/SgmlParser.h:74:8: error: variable or field ‘swap’ declared void
   74 |   void swap(SgmlParser &);
      |        ^~~~
/usr/include/OpenSP/SgmlParser.h:74:25: error: expected primary-expression before ‘)’ token
   74 |   void swap(SgmlParser &);
      |                         ^
/usr/include/OpenSP/SgmlParser.h:75:3: error: ‘friend’ used outside of class
   75 |   friend class Parser;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/SgmlParser.h:76:3: error: ‘friend’ used outside of class
   76 |   friend class PiAttspecParser;
      |   ^~~~~~
      |   ------
/usr/include/OpenSP/SgmlParser.h:77:1: error: expected unqualified-id before ‘private’
   77 | private:
      | ^~~~~~~
/usr/include/OpenSP/SgmlParser.h:79:24: error: ‘SgmlParser’ does not name a type; did you mean ‘Parser’?
   79 |   void operator=(const SgmlParser &);
      |                        ^~~~~~~~~~
      |                        Parser
/usr/include/OpenSP/SgmlParser.h:79:8: error: ‘void operator=(const int&)’ must be a non-static member function
   79 |   void operator=(const SgmlParser &);
      |        ^~~~~~~~
/usr/include/OpenSP/SgmlParser.h:81:1: error: expected declaration before ‘}’ token
   81 | };
      | ^
/usr/include/OpenSP/ArcEngine.h:20:14: error: variable ‘SP_API ArcDirector’ has initializer but incomplete type
   20 | class SP_API ArcDirector {
      |              ^~~~~~~~~~~
/usr/include/OpenSP/ArcEngine.h:21:1: error: expected primary-expression before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/ArcEngine.h:21:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ArcEngine.h:20:26: note: to match this ‘{’
   20 | class SP_API ArcDirector {
      |                          ^
/usr/include/OpenSP/ArcEngine.h:21:1: error: expected ‘,’ or ‘;’ before ‘public’
   21 | public:
      | ^~~~~~
/usr/include/OpenSP/ArcEngine.h:26:1: error: expected declaration before ‘}’ token
   26 | };
      | ^
/usr/include/OpenSP/ArcEngine.h:28:35: error: expected initializer before ‘:’ token
   28 | class SP_API SelectOneArcDirector : public ArcDirector, public Messenger {
      |                                   ^
/usr/include/OpenSP/ArcEngine.h:43:14: error: variable ‘SP_API ArcEngine’ has initializer but incomplete type
   43 | class SP_API ArcEngine {
      |              ^~~~~~~~~
/usr/include/OpenSP/ArcEngine.h:44:1: error: expected primary-expression before ‘public’
   44 | public:
      | ^~~~~~
/usr/include/OpenSP/ArcEngine.h:44:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ArcEngine.h:43:24: note: to match this ‘{’
   43 | class SP_API ArcEngine {
      |                        ^
/usr/include/OpenSP/ArcEngine.h:44:1: error: expected ‘,’ or ‘;’ before ‘public’
   44 | public:
      | ^~~~~~
/usr/include/OpenSP/ArcEngine.h:49:1: error: expected unqualified-id before ‘private’
   49 | private:
      | ^~~~~~~
/usr/include/OpenSP/ArcEngine.h:51:1: error: expected declaration before ‘}’ token
   51 | };
      | ^
In file included from /usr/include/OpenSP/CodingSystem.h:14,
                 from /usr/include/OpenSP/Big5CodingSystem.h:7,
                 from /tmp/UEn0V_TxoO/dump1.h:22:
/usr/include/OpenSP/OutputByteStream.h:15:31: error: expected initializer before ‘:’ token
   15 | class SP_API OutputByteStream : public Link {
      |                               ^
/usr/include/OpenSP/OutputByteStream.h:40:7: error: ‘OutputByteStream’ has not been declared
   40 | char *OutputByteStream::getBufferPtr() const
      |       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/OutputByteStream.h:40:40: error: non-member function ‘char* getBufferPtr()’ cannot have cv-qualifier
   40 | char *OutputByteStream::getBufferPtr() const
      |                                        ^~~~~
/usr/include/OpenSP/OutputByteStream.h: In function ‘char* getBufferPtr()’:
/usr/include/OpenSP/OutputByteStream.h:42:10: error: ‘ptr_’ was not declared in this scope; did you mean ‘str_’?
   42 |   return ptr_;
      |          ^~~~
      |          str_
/usr/include/OpenSP/OutputByteStream.h: At global scope:
/usr/include/OpenSP/OutputByteStream.h:46:8: error: ‘OutputByteStream’ has not been declared
   46 | size_t OutputByteStream::getBufferSize() const
      |        ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/OutputByteStream.h:46:42: error: non-member function ‘size_t getBufferSize()’ cannot have cv-qualifier
   46 | size_t OutputByteStream::getBufferSize() const
      |                                          ^~~~~
/usr/include/OpenSP/OutputByteStream.h: In function ‘size_t getBufferSize()’:
/usr/include/OpenSP/OutputByteStream.h:48:10: error: ‘end_’ was not declared in this scope
   48 |   return end_ - ptr_;
      |          ^~~~
/usr/include/OpenSP/OutputByteStream.h:48:17: error: ‘ptr_’ was not declared in this scope; did you mean ‘str_’?
   48 |   return end_ - ptr_;
      |                 ^~~~
      |                 str_
/usr/include/OpenSP/OutputByteStream.h: At global scope:
/usr/include/OpenSP/OutputByteStream.h:52:6: error: ‘OutputByteStream’ has not been declared
   52 | void OutputByteStream::usedBuffer(size_t n)
      |      ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/OutputByteStream.h: In function ‘void usedBuffer(size_t)’:
/usr/include/OpenSP/OutputByteStream.h:54:3: error: ‘ptr_’ was not declared in this scope; did you mean ‘str_’?
   54 |   ptr_ += n;
      |   ^~~~
      |   str_
/usr/include/OpenSP/OutputByteStream.h: At global scope:
/usr/include/OpenSP/OutputByteStream.h:58:6: error: ‘OutputByteStream’ has not been declared
   58 | void OutputByteStream::sputc(char c)
      |      ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/OutputByteStream.h: In function ‘void sputc(char)’:
/usr/include/OpenSP/OutputByteStream.h:60:7: error: ‘ptr_’ was not declared in this scope; did you mean ‘str_’?
   60 |   if (ptr_ < end_)
      |       ^~~~
      |       str_
/usr/include/OpenSP/OutputByteStream.h:60:14: error: ‘end_’ was not declared in this scope
   60 |   if (ptr_ < end_)
      |              ^~~~
/usr/include/OpenSP/OutputByteStream.h:63:5: error: ‘flushBuf’ was not declared in this scope
   63 |     flushBuf(c);
      |     ^~~~~~~~
/usr/include/OpenSP/OutputByteStream.h: At global scope:
/usr/include/OpenSP/OutputByteStream.h:67:1: error: ‘OutputByteStream’ does not name a type; did you mean ‘OutputByteStream_INCLUDED’?
   67 | OutputByteStream &OutputByteStream::operator<<(char c)
      | ^~~~~~~~~~~~~~~~
      | OutputByteStream_INCLUDED
/usr/include/OpenSP/OutputByteStream.h:74:1: error: ‘OutputByteStream’ does not name a type; did you mean ‘OutputByteStream_INCLUDED’?
   74 | OutputByteStream &OutputByteStream::operator<<(unsigned char c)
      | ^~~~~~~~~~~~~~~~
      | OutputByteStream_INCLUDED
/usr/include/OpenSP/OutputByteStream.h:81:1: error: ‘OutputByteStream’ does not name a type; did you mean ‘OutputByteStream_INCLUDED’?
   81 | OutputByteStream &OutputByteStream::operator<<(int n)
      | ^~~~~~~~~~~~~~~~
      | OutputByteStream_INCLUDED
/usr/include/OpenSP/OutputByteStream.h:87:1: error: ‘OutputByteStream’ does not name a type; did you mean ‘OutputByteStream_INCLUDED’?
   87 | OutputByteStream &OutputByteStream::operator<<(unsigned n)
      | ^~~~~~~~~~~~~~~~
      | OutputByteStream_INCLUDED
/usr/include/OpenSP/OutputByteStream.h:93:1: error: ‘OutputByteStream’ does not name a type; did you mean ‘OutputByteStream_INCLUDED’?
   93 | OutputByteStream &OutputByteStream::operator<<(const String<char> &s)
      | ^~~~~~~~~~~~~~~~
      | OutputByteStream_INCLUDED
/usr/include/OpenSP/OutputByteStream.h:99:34: error: expected initializer before ‘:’ token
   99 | class SP_API StrOutputByteStream : public OutputByteStream {
      |                                  ^
/usr/include/OpenSP/OutputByteStream.h:112:35: error: expected initializer before ‘:’ token
  112 | class SP_API FileOutputByteStream : public OutputByteStream {
      |                                   ^
/usr/include/OpenSP/CodingSystem.h:23:14: error: variable ‘SP_API Decoder’ has initializer but incomplete type
   23 | class SP_API Decoder {
      |              ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:24:1: error: expected primary-expression before ‘public’
   24 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:24:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CodingSystem.h:23:22: note: to match this ‘{’
   23 | class SP_API Decoder {
      |                      ^
/usr/include/OpenSP/CodingSystem.h:24:1: error: expected ‘,’ or ‘;’ before ‘public’
   24 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:26:19: error: expected class-name before ‘(’ token
   26 |   virtual ~Decoder();
      |                   ^
/usr/include/OpenSP/CodingSystem.h:27:3: error: ‘virtual’ outside class declaration
   27 |   virtual size_t decode(Char *, const char *, size_t, const char **) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:27:18: error: function ‘size_t decode(Char*, const char*, size_t, const char**)’ is initialized like a variable
   27 |   virtual size_t decode(Char *, const char *, size_t, const char **) = 0;
      |                  ^~~~~~
/usr/include/OpenSP/CodingSystem.h:28:3: error: ‘virtual’ outside class declaration
   28 |   virtual Boolean convertOffset(unsigned long &offset) const;
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:28:56: error: non-member function ‘Boolean convertOffset(long unsigned int&)’ cannot have cv-qualifier
   28 |   virtual Boolean convertOffset(unsigned long &offset) const;
      |                                                        ^~~~~
/usr/include/OpenSP/CodingSystem.h:31:30: error: non-member function ‘unsigned int minBytesPerChar()’ cannot have cv-qualifier
   31 |   unsigned minBytesPerChar() const;
      |                              ^~~~~
/usr/include/OpenSP/CodingSystem.h:32:1: error: expected unqualified-id before ‘protected’
   32 | protected:
      | ^~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:34:1: error: expected declaration before ‘}’ token
   34 | };
      | ^
/usr/include/OpenSP/CodingSystem.h:37:14: error: variable ‘SP_API Encoder’ has initializer but incomplete type
   37 | class SP_API Encoder {
      |              ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:38:1: error: expected primary-expression before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:38:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CodingSystem.h:37:22: note: to match this ‘{’
   37 | class SP_API Encoder {
      |                      ^
/usr/include/OpenSP/CodingSystem.h:38:1: error: expected ‘,’ or ‘;’ before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:44:12: error: expected constructor, destructor, or type conversion before ‘;’ token
   44 |   Encoder();
      |            ^
/usr/include/OpenSP/CodingSystem.h:45:19: error: expected class-name before ‘(’ token
   45 |   virtual ~Encoder();
      |                   ^
/usr/include/OpenSP/CodingSystem.h:46:45: error: ‘OutputByteStream’ has not been declared
   46 |   virtual void output(const Char *, size_t, OutputByteStream *) = 0;
      |                                             ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:46:3: error: ‘virtual’ outside class declaration
   46 |   virtual void output(const Char *, size_t, OutputByteStream *) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:46:16: error: function ‘void output(const Char*, size_t, int*)’ is initialized like a variable
   46 |   virtual void output(const Char *, size_t, OutputByteStream *) = 0;
      |                ^~~~~~
/usr/include/OpenSP/CodingSystem.h:48:3: error: ‘virtual’ outside class declaration
   48 |   virtual void startFile(OutputByteStream *);
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:48:16: error: variable or field ‘startFile’ declared void
   48 |   virtual void startFile(OutputByteStream *);
      |                ^~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:48:26: error: ‘OutputByteStream’ was not declared in this scope; did you mean ‘OutputByteStream_INCLUDED’?
   48 |   virtual void startFile(OutputByteStream *);
      |                          ^~~~~~~~~~~~~~~~
      |                          OutputByteStream_INCLUDED
/usr/include/OpenSP/CodingSystem.h:48:44: error: expected primary-expression before ‘)’ token
   48 |   virtual void startFile(OutputByteStream *);
      |                                            ^
/usr/include/OpenSP/CodingSystem.h:49:39: error: ‘OutputByteStream’ has not been declared
   49 |   virtual void output(Char *, size_t, OutputByteStream *);
      |                                       ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:49:3: error: ‘virtual’ outside class declaration
   49 |   virtual void output(Char *, size_t, OutputByteStream *);
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:50:3: error: ‘virtual’ outside class declaration
   50 |   virtual void setUnencodableHandler(Handler *);
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:50:16: error: variable or field ‘setUnencodableHandler’ declared void
   50 |   virtual void setUnencodableHandler(Handler *);
      |                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:50:38: error: ‘Handler’ was not declared in this scope
   50 |   virtual void setUnencodableHandler(Handler *);
      |                                      ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:50:47: error: expected primary-expression before ‘)’ token
   50 |   virtual void setUnencodableHandler(Handler *);
      |                                               ^
/usr/include/OpenSP/CodingSystem.h:51:40: error: ‘OutputByteStream’ has not been declared
   51 |   virtual void handleUnencodable(Char, OutputByteStream *);
      |                                        ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:51:3: error: ‘virtual’ outside class declaration
   51 |   virtual void handleUnencodable(Char, OutputByteStream *);
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:52:1: error: expected declaration before ‘}’ token
   52 | };
      | ^
/usr/include/OpenSP/CodingSystem.h:54:32: error: expected initializer before ‘:’ token
   54 | class SP_API RecoveringEncoder : public Encoder {
      |                                ^
/usr/include/OpenSP/CodingSystem.h:63:14: error: variable ‘SP_API InputCodingSystem’ has initializer but incomplete type
   63 | class SP_API InputCodingSystem {
      |              ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:64:1: error: expected primary-expression before ‘public’
   64 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:64:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CodingSystem.h:63:32: note: to match this ‘{’
   63 | class SP_API InputCodingSystem {
      |                                ^
/usr/include/OpenSP/CodingSystem.h:64:1: error: expected ‘,’ or ‘;’ before ‘public’
   64 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:67:11: error: ‘Decoder’ does not name a type
   67 |   virtual Decoder *makeDecoder() const { return makeDecoder(1); }
      |           ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:68:11: error: ‘Decoder’ does not name a type
   68 |   virtual Decoder *makeDecoder(Boolean lsbFirst) const { return makeDecoder(lsbFirst,1); }
      |           ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:69:11: error: ‘Decoder’ does not name a type
   69 |   virtual Decoder *makeDecoder(Boolean lsbFirst, Boolean lswFirst) const { return makeDecoder(); }
      |           ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:70:35: error: non-member function ‘StringC convertIn(const char*)’ cannot have cv-qualifier
   70 |   StringC convertIn(const char *) const;
      |                                   ^~~~~
/usr/include/OpenSP/CodingSystem.h:71:3: error: ‘virtual’ outside class declaration
   71 |   virtual Boolean isIdentity() const;
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:71:32: error: non-member function ‘Boolean isIdentity()’ cannot have cv-qualifier
   71 |   virtual Boolean isIdentity() const;
      |                                ^~~~~
/usr/include/OpenSP/CodingSystem.h:72:1: error: expected declaration before ‘}’ token
   72 | };
      | ^
/usr/include/OpenSP/CodingSystem.h:74:14: error: variable ‘SP_API OutputCodingSystem’ has initializer but incomplete type
   74 | class SP_API OutputCodingSystem {
      |              ^~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/CodingSystem.h:75:1: error: expected primary-expression before ‘public’
   75 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:75:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CodingSystem.h:74:33: note: to match this ‘{’
   74 | class SP_API OutputCodingSystem {
      |                                 ^
/usr/include/OpenSP/CodingSystem.h:75:1: error: expected ‘,’ or ‘;’ before ‘public’
   75 | public:
      | ^~~~~~
/usr/include/OpenSP/CodingSystem.h:77:11: error: ‘Encoder’ does not name a type
   77 |   virtual Encoder *makeEncoder() const = 0;
      |           ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:78:3: error: ‘virtual’ outside class declaration
   78 |   virtual unsigned fixedBytesPerChar() const;
      |   ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:78:40: error: non-member function ‘unsigned int fixedBytesPerChar()’ cannot have cv-qualifier
   78 |   virtual unsigned fixedBytesPerChar() const;
      |                                        ^~~~~
/usr/include/OpenSP/CodingSystem.h:79:44: error: non-member function ‘String<char> convertOut(const StringC&)’ cannot have cv-qualifier
   79 |   String<char> convertOut(const StringC &) const;
      |                                            ^~~~~
/usr/include/OpenSP/CodingSystem.h:80:1: error: expected declaration before ‘}’ token
   80 | };
      | ^
/usr/include/OpenSP/CodingSystem.h:82:27: error: expected initializer before ‘:’ token
   82 | class SP_API CodingSystem : public InputCodingSystem, public OutputCodingSystem {
      |                           ^
/usr/include/OpenSP/CodingSystem.h:88:10: error: ‘Decoder’ is not a class, namespace, or enumeration
   88 | unsigned Decoder::minBytesPerChar() const
      |          ^~~~~~~
/usr/include/OpenSP/CodingSystem.h:88:37: error: non-member function ‘unsigned int minBytesPerChar()’ cannot have cv-qualifier
   88 | unsigned Decoder::minBytesPerChar() const
      |                                     ^~~~~
/usr/include/OpenSP/CodingSystem.h: In function ‘unsigned int minBytesPerChar()’:
/usr/include/OpenSP/CodingSystem.h:90:10: error: ‘minBytesPerChar_’ was not declared in this scope; did you mean ‘minBytesPerChar’?
   90 |   return minBytesPerChar_;
      |          ^~~~~~~~~~~~~~~~
      |          minBytesPerChar
/usr/include/OpenSP/Big5CodingSystem.h: At global scope:
/usr/include/OpenSP/Big5CodingSystem.h:13:31: error: expected initializer before ‘:’ token
   13 | class SP_API Big5CodingSystem : public CodingSystem {
      |                               ^
In file included from /tmp/UEn0V_TxoO/dump1.h:27:
/usr/include/OpenSP/CharsetRegistry.h:19:14: error: variable ‘SP_API CharsetRegistry’ has initializer but incomplete type
   19 | class SP_API CharsetRegistry {
      |              ^~~~~~~~~~~~~~~
/usr/include/OpenSP/CharsetRegistry.h:20:1: error: expected primary-expression before ‘public’
   20 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetRegistry.h:20:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/CharsetRegistry.h:19:30: note: to match this ‘{’
   19 | class SP_API CharsetRegistry {
      |                              ^
/usr/include/OpenSP/CharsetRegistry.h:20:1: error: expected ‘,’ or ‘;’ before ‘public’
   20 | public:
      | ^~~~~~
/usr/include/OpenSP/CharsetRegistry.h:52:60: error: ‘CharsetInfo’ does not name a type
   52 |                                                      const CharsetInfo &);
      |                                                            ^~~~~~~~~~~
/usr/include/OpenSP/CharsetRegistry.h:53:10: error: ‘Iter’ does not name a type
   53 |   static Iter *makeIter(ISORegistrationNumber);
      |          ^~~~
/usr/include/OpenSP/CharsetRegistry.h:54:1: error: expected declaration before ‘}’ token
   54 | };
      | ^
In file included from /usr/include/OpenSP/MessageFormatter.h:12,
                 from /usr/include/OpenSP/MessageReporter.h:12,
                 from /usr/include/OpenSP/CmdLineApp.h:17,
                 from /tmp/UEn0V_TxoO/dump1.h:28:
/usr/include/OpenSP/MessageBuilder.h:17:14: error: variable ‘SP_API MessageBuilder’ has initializer but incomplete type
   17 | class SP_API MessageBuilder {
      |              ^~~~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:18:1: error: expected primary-expression before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageBuilder.h:18:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/MessageBuilder.h:17:29: note: to match this ‘{’
   17 | class SP_API MessageBuilder {
      |                             ^
/usr/include/OpenSP/MessageBuilder.h:18:1: error: expected ‘,’ or ‘;’ before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageBuilder.h:20:3: error: ‘virtual’ outside class declaration
   20 |   virtual void appendNumber(unsigned long) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageBuilder.h:20:16: error: function ‘void appendNumber(long unsigned int)’ is initialized like a variable
   20 |   virtual void appendNumber(unsigned long) = 0;
      |                ^~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:21:3: error: ‘virtual’ outside class declaration
   21 |   virtual void appendOrdinal(unsigned long) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageBuilder.h:21:16: error: function ‘void appendOrdinal(long unsigned int)’ is initialized like a variable
   21 |   virtual void appendOrdinal(unsigned long) = 0;
      |                ^~~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:22:3: error: ‘virtual’ outside class declaration
   22 |   virtual void appendChars(const Char *, size_t) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageBuilder.h:22:16: error: function ‘void appendChars(const Char*, size_t)’ is initialized like a variable
   22 |   virtual void appendChars(const Char *, size_t) = 0;
      |                ^~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:23:3: error: ‘virtual’ outside class declaration
   23 |   virtual void appendOther(const OtherMessageArg *) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageBuilder.h:23:16: error: function ‘void appendOther(const OtherMessageArg*)’ is initialized like a variable
   23 |   virtual void appendOther(const OtherMessageArg *) = 0;
      |                ^~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:24:37: error: ‘MessageFragment’ does not name a type
   24 |   virtual void appendFragment(const MessageFragment &) = 0;
      |                                     ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:24:3: error: ‘virtual’ outside class declaration
   24 |   virtual void appendFragment(const MessageFragment &) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageBuilder.h:24:16: error: function ‘void appendFragment(const int&)’ is initialized like a variable
   24 |   virtual void appendFragment(const MessageFragment &) = 0;
      |                ^~~~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:25:1: error: expected declaration before ‘}’ token
   25 | };
      | ^
In file included from /usr/include/OpenSP/MessageFormatter.h:17:
/usr/include/OpenSP/OutputCharStream.h:19:31: error: expected initializer before ‘:’ token
   19 | class SP_API OutputCharStream : public Link {
      |                               ^
/usr/include/OpenSP/OutputCharStream.h:46:37: error: expected initializer before ‘:’ token
   46 | class SP_API EncodeOutputCharStream : public OutputCharStream,
      |                                     ^
/usr/include/OpenSP/OutputCharStream.h:70:34: error: expected initializer before ‘:’ token
   70 | class SP_API StrOutputCharStream : public OutputCharStream {
      |                                  ^
/usr/include/OpenSP/OutputCharStream.h:85:37: error: expected initializer before ‘:’ token
   85 | class SP_API RecordOutputCharStream : public OutputCharStream {
      |                                     ^
/usr/include/OpenSP/OutputCharStream.h:103:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
  103 | OutputCharStream &OutputCharStream::put(Char c)
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
/usr/include/OpenSP/OutputCharStream.h:113:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
  113 | OutputCharStream &OutputCharStream::operator<<(char c)
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
/usr/include/OpenSP/OutputCharStream.h:119:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
  119 | OutputCharStream &OutputCharStream::operator<<(Newline)
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
/usr/include/OpenSP/OutputCharStream.h:129:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
  129 | OutputCharStream &OutputCharStream::operator<<(const StringC &str)
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
/usr/include/OpenSP/MessageFormatter.h:23:14: error: variable ‘SP_API MessageFormatter’ has initializer but incomplete type
   23 | class SP_API MessageFormatter {
      |              ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:24:1: error: expected primary-expression before ‘public’
   24 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageFormatter.h:24:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/MessageFormatter.h:23:31: note: to match this ‘{’
   23 | class SP_API MessageFormatter {
      |                               ^
/usr/include/OpenSP/MessageFormatter.h:24:1: error: expected ‘,’ or ‘;’ before ‘public’
   24 | public:
      | ^~~~~~
/usr/include/OpenSP/MessageFormatter.h:26:28: error: expected class-name before ‘(’ token
   26 |   virtual ~MessageFormatter();
      |                            ^
/usr/include/OpenSP/MessageFormatter.h:27:36: error: ‘MessageFragment’ does not name a type
   27 |   virtual void formatMessage(const MessageFragment &,
      |                                    ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:28:57: error: template argument 1 is invalid
   28 |                      const Vector<CopyOwner<MessageArg> > &args,
      |                                                         ^
/usr/include/OpenSP/MessageFormatter.h:29:22: error: ‘OutputCharStream’ has not been declared
   29 |                      OutputCharStream &, bool noquote = 0);
      |                      ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:27:3: error: ‘virtual’ outside class declaration
   27 |   virtual void formatMessage(const MessageFragment &,
      |   ^~~~~~~
/usr/include/OpenSP/MessageFormatter.h:31:27: error: ‘OutputCharStream’ has not been declared
   31 |                           OutputCharStream &os);
      |                           ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:30:3: error: ‘virtual’ outside class declaration
   30 |   virtual void formatOpenElements(const Vector<OpenElementInfo> &openElementInfo,
      |   ^~~~~~~
/usr/include/OpenSP/MessageFormatter.h:32:40: error: ‘MessageFragment’ does not name a type
   32 |   virtual Boolean getMessageText(const MessageFragment &, StringC &) = 0;
      |                                        ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:32:3: error: ‘virtual’ outside class declaration
   32 |   virtual Boolean getMessageText(const MessageFragment &, StringC &) = 0;
      |   ^~~~~~~
/usr/include/OpenSP/MessageFormatter.h:32:19: error: function ‘Boolean getMessageText(const int&, StringC&)’ is initialized like a variable
   32 |   virtual Boolean getMessageText(const MessageFragment &, StringC &) = 0;
      |                   ^~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:33:40: error: ‘MessageFragment’ does not name a type
   33 |   virtual Boolean formatFragment(const MessageFragment &, OutputCharStream &);
      |                                        ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:33:59: error: ‘OutputCharStream’ has not been declared
   33 |   virtual Boolean formatFragment(const MessageFragment &, OutputCharStream &);
      |                                                           ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:33:3: error: ‘virtual’ outside class declaration
   33 |   virtual Boolean formatFragment(const MessageFragment &, OutputCharStream &);
      |   ^~~~~~~
/usr/include/OpenSP/MessageFormatter.h:34:1: error: expected unqualified-id before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/OpenSP/MessageFormatter.h:36:24: error: ‘MessageFormatter’ does not name a type
   36 |   void operator=(const MessageFormatter &);  // undefined
      |                        ^~~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:36:8: error: ‘void operator=(const int&)’ must be a non-static member function
   36 |   void operator=(const MessageFormatter &);  // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:37:1: error: expected unqualified-id before ‘protected’
   37 | protected:
      | ^~~~~~~~~
/usr/include/OpenSP/MessageFormatter.h:54:1: error: expected declaration before ‘}’ token
   54 | };
      | ^
/usr/include/OpenSP/MessageReporter.h:23:30: error: expected initializer before ‘:’ token
   23 | class SP_API MessageReporter : public MessageFormatter, public Messenger {
      |                              ^
/usr/include/OpenSP/MessageReporter.h:56:33: error: expected initializer before ‘:’ token
   56 | class SP_API XMLMessageReporter : public MessageReporter {
      |                                 ^
/usr/include/OpenSP/MessageReporter.h:87:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
   87 | OutputCharStream &MessageReporter::os()
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
/usr/include/OpenSP/MessageReporter.h:93:6: error: ‘MessageReporter’ has not been declared
   93 | void MessageReporter::setProgramName(const StringC &programName)
      |      ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageReporter.h: In function ‘void setProgramName(const StringC&)’:
/usr/include/OpenSP/MessageReporter.h:95:3: error: ‘programName_’ was not declared in this scope; did you mean ‘programName’?
   95 |   programName_ = programName;
      |   ^~~~~~~~~~~~
      |   programName
/usr/include/OpenSP/MessageReporter.h: At global scope:
/usr/include/OpenSP/MessageReporter.h:99:1: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
   99 | OutputCharStream *MessageReporter::releaseMessageStream()
      | ^~~~~~~~~~~~~~~~
      | OutputCharStream_INCLUDED
In file included from /usr/include/OpenSP/CmdLineApp.h:24:
/usr/include/OpenSP/CodingSystemKit.h:21:35: error: expected initializer before ‘:’ token
   21 | class SP_API InputCodingSystemKit : public Resource {
      |                                   ^
/usr/include/OpenSP/CodingSystemKit.h:38:30: error: expected initializer before ‘:’ token
   38 | class SP_API CodingSystemKit : public InputCodingSystemKit {
      |                              ^
/usr/include/OpenSP/CodingSystemKit.h:50:7: error: ‘CharsetInfo’ does not name a type
   50 | const CharsetInfo &InputCodingSystemKit::systemCharset() const
      |       ^~~~~~~~~~~
/usr/include/OpenSP/CmdLineApp.h:36:26: error: expected initializer before ‘:’ token
   36 | class SP_API CmdLineApp  : public SP_REPORTER_CLASS {
      |                          ^
/usr/include/OpenSP/CmdLineApp.h:106:7: error: ‘CodingSystem’ does not name a type
  106 | const CodingSystem *CmdLineApp::codingSystem()
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/CmdLineApp.h:112:7: error: ‘CodingSystem’ does not name a type
  112 | const CodingSystem *CmdLineApp::outputCodingSystem()
      |       ^~~~~~~~~~~~
/usr/include/OpenSP/CmdLineApp.h:118:10: error: ‘InputCodingSystemKit’ was not declared in this scope; did you mean ‘InputCodingSystem’?
  118 | ConstPtr<InputCodingSystemKit> CmdLineApp::inputCodingSystemKit()
      |          ^~~~~~~~~~~~~~~~~~~~
      |          InputCodingSystem
/usr/include/OpenSP/CmdLineApp.h:118:30: error: template argument 1 is invalid
  118 | ConstPtr<InputCodingSystemKit> CmdLineApp::inputCodingSystemKit()
      |                              ^
/usr/include/OpenSP/CmdLineApp.h:118:32: error: ‘CmdLineApp’ has not been declared
  118 | ConstPtr<InputCodingSystemKit> CmdLineApp::inputCodingSystemKit()
      |                                ^~~~~~~~~~
/usr/include/OpenSP/CmdLineApp.h: In function ‘int inputCodingSystemKit()’:
/usr/include/OpenSP/CmdLineApp.h:120:10: error: ‘codingSystemKit_’ was not declared in this scope; did you mean ‘inputCodingSystemKit’?
  120 |   return codingSystemKit_.pointer();
      |          ^~~~~~~~~~~~~~~~
      |          inputCodingSystemKit
/usr/include/OpenSP/CmdLineApp.h: At global scope:
/usr/include/OpenSP/CmdLineApp.h:124:7: error: ‘CharsetInfo’ does not name a type
  124 | const CharsetInfo &CmdLineApp::systemCharset()
      |       ^~~~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:31:
/usr/include/OpenSP/ConsoleOutput.h:17:14: error: variable ‘SP_API ConsoleOutput’ has initializer but incomplete type
   17 | class SP_API ConsoleOutput {
      |              ^~~~~~~~~~~~~
/usr/include/OpenSP/ConsoleOutput.h:18:1: error: expected primary-expression before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/ConsoleOutput.h:18:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ConsoleOutput.h:17:28: note: to match this ‘{’
   17 | class SP_API ConsoleOutput {
      |                            ^
/usr/include/OpenSP/ConsoleOutput.h:18:1: error: expected ‘,’ or ‘;’ before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/ConsoleOutput.h:21:1: error: expected declaration before ‘}’ token
   21 | };
      | ^
In file included from /usr/include/OpenSP/ContentState.h:12,
                 from /tmp/UEn0V_TxoO/dump1.h:32:
/usr/include/OpenSP/OpenElement.h:22:26: error: expected initializer before ‘:’ token
   22 | class SP_API OpenElement : public Link {
      |                          ^
/usr/include/OpenSP/OpenElement.h:71:20: error: ‘OpenElement’ has not been declared
   71 | const ElementType *OpenElement::type() const
      |                    ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:71:40: error: non-member function ‘const ElementType* type()’ cannot have cv-qualifier
   71 | const ElementType *OpenElement::type() const
      |                                        ^~~~~
/usr/include/OpenSP/OpenElement.h:71:40: error: ‘const ElementType* type()’ redeclared as different kind of entity
/usr/include/OpenSP/Text.h:37:8: note: previous declaration ‘Type type’
   37 |   Type type;
      |        ^~~~
/usr/include/OpenSP/OpenElement.h: In function ‘const ElementType* type()’:
/usr/include/OpenSP/OpenElement.h:73:10: error: ‘elementType_’ was not declared in this scope; did you mean ‘elementType’?
   73 |   return elementType_;
      |          ^~~~~~~~~~~~
      |          elementType
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:77:9: error: ‘OpenElement’ has not been declared
   77 | Boolean OpenElement::netEnabling() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:77:36: error: non-member function ‘Boolean netEnabling()’ cannot have cv-qualifier
   77 | Boolean OpenElement::netEnabling() const
      |                                    ^~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean netEnabling()’:
/usr/include/OpenSP/OpenElement.h:79:10: error: ‘netEnabling_’ was not declared in this scope; did you mean ‘netEnabling’?
   79 |   return netEnabling_;
      |          ^~~~~~~~~~~~
      |          netEnabling
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:83:9: error: ‘OpenElement’ has not been declared
   83 | Boolean OpenElement::included() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:83:33: error: non-member function ‘Boolean included()’ cannot have cv-qualifier
   83 | Boolean OpenElement::included() const
      |                                 ^~~~~
/usr/include/OpenSP/OpenElement.h:83:33: error: ‘Boolean included()’ redeclared as different kind of entity
/usr/include/OpenSP/Message.h:159:17: note: previous declaration ‘PackedBoolean included’
  159 |   PackedBoolean included;
      |                 ^~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean included()’:
/usr/include/OpenSP/OpenElement.h:85:10: error: ‘included_’ was not declared in this scope; did you mean ‘included’?
   85 |   return included_;
      |          ^~~~~~~~~
      |          included
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:89:7: error: ‘MatchState’ does not name a type
   89 | const MatchState &OpenElement::matchState() const
      |       ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:95:6: error: ‘OpenElement’ has not been declared
   95 | void OpenElement::setMatchState(const MatchState &state)
      |      ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:95:39: error: ‘MatchState’ does not name a type
   95 | void OpenElement::setMatchState(const MatchState &state)
      |                                       ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘void setMatchState(const int&)’:
/usr/include/OpenSP/OpenElement.h:97:3: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
   97 |   matchState_ = state;
      |   ^~~~~~~~~~~
      |   MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:101:9: error: ‘OpenElement’ has not been declared
  101 | Boolean OpenElement::isFinished() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:101:35: error: non-member function ‘Boolean isFinished()’ cannot have cv-qualifier
  101 | Boolean OpenElement::isFinished() const
      |                                   ^~~~~
/usr/include/OpenSP/OpenElement.h:101:9: error: redefinition of ‘Boolean isFinished()’
  101 | Boolean OpenElement::isFinished() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:550:9: note: ‘Boolean isFinished()’ previously defined here
  550 | Boolean MatchState::isFinished() const
      |         ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean isFinished()’:
/usr/include/OpenSP/OpenElement.h:103:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  103 |   return (declaredContent_ != ElementDefinition::modelGroup
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:103:31: error: ‘ElementDefinition’ has not been declared
  103 |   return (declaredContent_ != ElementDefinition::modelGroup
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:104:14: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  104 |           || matchState_.isFinished());
      |              ^~~~~~~~~~~
      |              MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:108:9: error: ‘OpenElement’ has not been declared
  108 | Boolean OpenElement::tryTransition(const ElementType *e)
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:108:9: error: redefinition of ‘Boolean tryTransition(const ElementType*)’
/usr/include/OpenSP/ContentToken.h:532:9: note: ‘Boolean tryTransition(const ElementType*)’ previously defined here
  532 | Boolean MatchState::tryTransition(const ElementType *to)
      |         ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean tryTransition(const ElementType*)’:
/usr/include/OpenSP/OpenElement.h:110:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  110 |   switch (declaredContent_) {
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:111:8: error: ‘ElementDefinition’ has not been declared
  111 |   case ElementDefinition::modelGroup:
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:112:12: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  112 |     return matchState_.tryTransition(e);
      |            ^~~~~~~~~~~
      |            MatchState
/usr/include/OpenSP/OpenElement.h:113:8: error: ‘ElementDefinition’ has not been declared
  113 |   case ElementDefinition::any:
      |        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:114:18: error: ‘elementType_’ was not declared in this scope; did you mean ‘elementType’?
  114 |     return (e != elementType_) || e->definition()->allowImmediateRecursion();
      |                  ^~~~~~~~~~~~
      |                  elementType
/usr/include/OpenSP/OpenElement.h:114:36: error: invalid use of incomplete type ‘const class ElementType’
  114 |     return (e != elementType_) || e->definition()->allowImmediateRecursion();
      |                                    ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:121:9: error: ‘OpenElement’ has not been declared
  121 | Boolean OpenElement::tryTransitionPcdata()
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:121:9: error: redefinition of ‘Boolean tryTransitionPcdata()’
/usr/include/OpenSP/ContentToken.h:538:9: note: ‘Boolean tryTransitionPcdata()’ previously defined here
  538 | Boolean MatchState::tryTransitionPcdata()
      |         ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean tryTransitionPcdata()’:
/usr/include/OpenSP/OpenElement.h:123:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  123 |   return (declaredContent_ == ElementDefinition::modelGroup
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:123:31: error: ‘ElementDefinition’ has not been declared
  123 |   return (declaredContent_ == ElementDefinition::modelGroup
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:124:13: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  124 |           ? matchState_.tryTransitionPcdata()
      |             ^~~~~~~~~~~
      |             MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:129:25: error: ‘OpenElement’ has not been declared
  129 | const LeafContentToken *OpenElement::invalidExclusion(const ElementType *e)
      |                         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:130:6: error: non-member function ‘const LeafContentToken* invalidExclusion(const ElementType*)’ cannot have cv-qualifier
  130 |      const
      |      ^~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘const LeafContentToken* invalidExclusion(const ElementType*)’:
/usr/include/OpenSP/OpenElement.h:132:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  132 |   return (declaredContent_ == ElementDefinition::modelGroup
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:132:31: error: ‘ElementDefinition’ has not been declared
  132 |   return (declaredContent_ == ElementDefinition::modelGroup
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:133:13: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  133 |           ? matchState_.invalidExclusion(e)
      |             ^~~~~~~~~~~
      |             MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:138:6: error: ‘OpenElement’ has not been declared
  138 | void OpenElement::doRequiredTransition()
      |      ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:138:6: error: redefinition of ‘void doRequiredTransition()’
/usr/include/OpenSP/ContentToken.h:563:6: note: ‘void doRequiredTransition()’ previously defined here
  563 | void MatchState::doRequiredTransition()
      |      ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘void doRequiredTransition()’:
/usr/include/OpenSP/OpenElement.h:140:3: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  140 |   matchState_.doRequiredTransition();
      |   ^~~~~~~~~~~
      |   MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:144:25: error: ‘OpenElement’ has not been declared
  144 | const LeafContentToken *OpenElement::impliedStartTag() const
      |                         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:144:56: error: non-member function ‘const LeafContentToken* impliedStartTag()’ cannot have cv-qualifier
  144 | const LeafContentToken *OpenElement::impliedStartTag() const
      |                                                        ^~~~~
/usr/include/OpenSP/OpenElement.h:144:25: error: redefinition of ‘const LeafContentToken* impliedStartTag()’
  144 | const LeafContentToken *OpenElement::impliedStartTag() const
      |                         ^~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:557:1: note: ‘const LeafContentToken* impliedStartTag()’ previously defined here
  557 | MatchState::impliedStartTag() const
      | ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘const LeafContentToken* impliedStartTag()’:
/usr/include/OpenSP/OpenElement.h:146:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  146 |   return (declaredContent_ == ElementDefinition::modelGroup
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:146:31: error: ‘ElementDefinition’ has not been declared
  146 |   return (declaredContent_ == ElementDefinition::modelGroup
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:147:13: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  147 |           ? matchState_.impliedStartTag()
      |             ^~~~~~~~~~~
      |             MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:152:26: error: ‘OpenElement’ has not been declared
  152 | const ShortReferenceMap *OpenElement::map() const
      |                          ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:152:45: error: non-member function ‘const ShortReferenceMap* map()’ cannot have cv-qualifier
  152 | const ShortReferenceMap *OpenElement::map() const
      |                                             ^~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘const ShortReferenceMap* map()’:
/usr/include/OpenSP/OpenElement.h:154:10: error: cannot convert ‘Vector<Pair>’ to ‘const ShortReferenceMap*’ in return
  154 |   return map_;
      |          ^~~~
      |          |
      |          Vector<Pair>
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:158:6: error: ‘OpenElement’ has not been declared
  158 | void OpenElement::setMap(const ShortReferenceMap *map)
      |      ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:164:9: error: ‘OpenElement’ has not been declared
  164 | Boolean OpenElement::requiresSpecialParse() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:164:45: error: non-member function ‘Boolean requiresSpecialParse()’ cannot have cv-qualifier
  164 | Boolean OpenElement::requiresSpecialParse() const
      |                                             ^~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean requiresSpecialParse()’:
/usr/include/OpenSP/OpenElement.h:166:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  166 |   return (declaredContent_ == ElementDefinition::cdata
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:166:31: error: ‘ElementDefinition’ has not been declared
  166 |   return (declaredContent_ == ElementDefinition::cdata
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:167:34: error: ‘ElementDefinition’ has not been declared
  167 |           || declaredContent_ == ElementDefinition::rcdata);
      |                                  ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:171:6: error: ‘OpenElement’ has not been declared
  171 | Mode OpenElement::mode(Boolean netEnabled) const
      |      ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:171:44: error: non-member function ‘Mode mode(Boolean)’ cannot have cv-qualifier
  171 | Mode OpenElement::mode(Boolean netEnabled) const
      |                                            ^~~~~
/usr/include/OpenSP/OpenElement.h:171:6: error: redefinition of ‘Mode mode(Boolean)’
  171 | Mode OpenElement::mode(Boolean netEnabled) const
      |      ^~~~~~~~~~~
/usr/include/OpenSP/ElementType.h:318:6: note: ‘Mode mode(Boolean)’ previously defined here
  318 | Mode ElementDefinition::mode(Boolean netEnabled) const
      |      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Mode mode(Boolean)’:
/usr/include/OpenSP/OpenElement.h:173:10: error: ‘elementType_’ was not declared in this scope; did you mean ‘elementType’?
  173 |   return elementType_->definition()->mode(netEnabled);
      |          ^~~~~~~~~~~~
      |          elementType
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:177:7: error: ‘Location’ does not name a type
  177 | const Location &OpenElement::startLocation() const
      |       ^~~~~~~~
/usr/include/OpenSP/OpenElement.h:183:25: error: ‘OpenElement’ has not been declared
  183 | const LeafContentToken *OpenElement::currentPosition() const
      |                         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:183:56: error: non-member function ‘const LeafContentToken* currentPosition()’ cannot have cv-qualifier
  183 | const LeafContentToken *OpenElement::currentPosition() const
      |                                                        ^~~~~
/usr/include/OpenSP/OpenElement.h:183:25: error: redefinition of ‘const LeafContentToken* currentPosition()’
  183 | const LeafContentToken *OpenElement::currentPosition() const
      |                         ^~~~~~~~~~~
/usr/include/OpenSP/ContentToken.h:569:25: note: ‘const LeafContentToken* currentPosition()’ previously defined here
  569 | const LeafContentToken *MatchState::currentPosition() const
      |                         ^~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘const LeafContentToken* currentPosition()’:
/usr/include/OpenSP/OpenElement.h:185:11: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  185 |   return (declaredContent_ == ElementDefinition::modelGroup
      |           ^~~~~~~~~~~~~~~~
      |           declaredSet_
/usr/include/OpenSP/OpenElement.h:185:31: error: ‘ElementDefinition’ has not been declared
  185 |   return (declaredContent_ == ElementDefinition::modelGroup
      |                               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:186:13: error: ‘matchState_’ was not declared in this scope; did you mean ‘MatchState’?
  186 |           ? matchState_.currentPosition()
      |             ^~~~~~~~~~~
      |             MatchState
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:191:9: error: ‘OpenElement’ has not been declared
  191 | Boolean OpenElement::declaredEmpty() const
      |         ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:191:38: error: non-member function ‘Boolean declaredEmpty()’ cannot have cv-qualifier
  191 | Boolean OpenElement::declaredEmpty() const
      |                                      ^~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘Boolean declaredEmpty()’:
/usr/include/OpenSP/OpenElement.h:193:10: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  193 |   return declaredContent_ == ElementDefinition::empty;
      |          ^~~~~~~~~~~~~~~~
      |          declaredSet_
/usr/include/OpenSP/OpenElement.h:193:30: error: ‘ElementDefinition’ has not been declared
  193 |   return declaredContent_ == ElementDefinition::empty;
      |                              ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:197:6: error: ‘OpenElement’ has not been declared
  197 | void OpenElement::setConref()
      |      ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: In function ‘void setConref()’:
/usr/include/OpenSP/OpenElement.h:199:3: error: ‘declaredContent_’ was not declared in this scope; did you mean ‘declaredSet_’?
  199 |   declaredContent_ = ElementDefinition::empty;
      |   ^~~~~~~~~~~~~~~~
      |   declaredSet_
/usr/include/OpenSP/OpenElement.h:199:22: error: ‘ElementDefinition’ has not been declared
  199 |   declaredContent_ = ElementDefinition::empty;
      |                      ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h: At global scope:
/usr/include/OpenSP/OpenElement.h:203:15: error: ‘OpenElement’ has not been declared
  203 | unsigned long OpenElement::index() const
      |               ^~~~~~~~~~~
/usr/include/OpenSP/OpenElement.h:203:36: error: non-member function ‘long unsigned int index()’ cannot have cv-qualifier
  203 | unsigned long OpenElement::index() const
      |                                    ^~~~~
/usr/include/OpenSP/OpenElement.h:203:15: error: ambiguating new declaration of ‘long unsigned int index()’
  203 | unsigned long OpenElement::index() const
      |               ^~~~~~~~~~~
/usr/include/OpenSP/Location.h:85:9: note: old declaration ‘size_t index()’
   85 |   Index index() const { return index_; }
      |         ^~~~~
/usr/include/OpenSP/OpenElement.h:209:6: error: ‘OpenElement’ has not been declared
  209 | void OpenElement::setIndex(unsigned long index)
      |      ^~~~~~~~~~~
In file included from /usr/include/OpenSP/IList.h:7,
                 from /usr/include/OpenSP/ContentState.h:13:
/usr/include/OpenSP/IListBase.h:14:14: error: variable ‘SP_API IListBase’ has initializer but incomplete type
   14 | class SP_API IListBase {
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:15:1: error: expected primary-expression before ‘public’
   15 | public:
      | ^~~~~~
/usr/include/OpenSP/IListBase.h:15:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/IListBase.h:14:24: note: to match this ‘{’
   14 | class SP_API IListBase {
      |                        ^
/usr/include/OpenSP/IListBase.h:15:1: error: expected ‘,’ or ‘;’ before ‘public’
   15 | public:
      | ^~~~~~
/usr/include/OpenSP/IListBase.h:17:12: error: expected constructor, destructor, or type conversion before ‘(’ token
   17 |   IListBase(Link *);
      |            ^
/usr/include/OpenSP/IListBase.h:18:9: error: variable or field ‘append’ declared void
   18 |   void  append(Link *);
      |         ^~~~~~
/usr/include/OpenSP/IListBase.h:18:22: error: expected primary-expression before ‘)’ token
   18 |   void  append(Link *);
      |                      ^
/usr/include/OpenSP/IListBase.h:19:8: error: variable or field ‘insert’ declared void
   19 |   void insert(Link *);
      |        ^~~~~~
/usr/include/OpenSP/IListBase.h:19:21: error: expected primary-expression before ‘)’ token
   19 |   void insert(Link *);
      |                     ^
/usr/include/OpenSP/IListBase.h:20:3: error: ‘Link’ does not name a type
   20 |   Link *head() const;
      |   ^~~~
/usr/include/OpenSP/IListBase.h:21:19: error: non-member function ‘Boolean empty()’ cannot have cv-qualifier
   21 |   Boolean empty() const;
      |                   ^~~~~
/usr/include/OpenSP/IListBase.h:22:3: error: ‘Link’ does not name a type
   22 |   Link *get();
      |   ^~~~
/usr/include/OpenSP/IListBase.h:23:8: error: variable or field ‘remove’ declared void
   23 |   void remove(Link *);
      |        ^~~~~~
/usr/include/OpenSP/IListBase.h:23:21: error: expected primary-expression before ‘)’ token
   23 |   void remove(Link *);
      |                     ^
/usr/include/OpenSP/IListBase.h:24:8: error: variable or field ‘swap’ declared void
   24 |   void swap(IListBase &);
      |        ^~~~
/usr/include/OpenSP/IListBase.h:24:24: error: expected primary-expression before ‘)’ token
   24 |   void swap(IListBase &);
      |                        ^
/usr/include/OpenSP/IListBase.h:26:1: error: expected unqualified-id before ‘private’
   26 | private:
      | ^~~~~~~
/usr/include/OpenSP/IListBase.h:28:1: error: ‘friend’ used outside of class
   28 | friend class IListIterBase;
      | ^~~~~~
      | ------
/usr/include/OpenSP/IListBase.h:29:1: error: expected declaration before ‘}’ token
   29 | };
      | ^
/usr/include/OpenSP/IListBase.h:32:22: error: invalid use of incomplete type ‘class IListBase’
   32 | IListBase::IListBase() : head_(0)
      |                      ^
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:37:22: error: invalid use of incomplete type ‘class IListBase’
   37 | IListBase::IListBase(Link *head) : head_(head)
      |                      ^~~~
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:37:28: error: ‘head’ was not declared in this scope; did you mean ‘read’?
   37 | IListBase::IListBase(Link *head) : head_(head)
      |                            ^~~~
      |                            read
/usr/include/OpenSP/IListBase.h:42:24: error: invalid use of incomplete type ‘class IListBase’
   42 | void IListBase::insert(Link *p)
      |                        ^~~~
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:42:30: error: ‘p’ was not declared in this scope; did you mean ‘pi’?
   42 | void IListBase::insert(Link *p)
      |                              ^
      |                              pi
/usr/include/OpenSP/IListBase.h:49:1: error: ‘Link’ does not name a type
   49 | Link *IListBase::head() const
      | ^~~~
/usr/include/OpenSP/IListBase.h:55:28: error: invalid use of incomplete type ‘class IListBase’
   55 | Boolean IListBase::empty() const
      |                            ^~~~~
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:61:1: error: ‘Link’ does not name a type
   61 | Link *IListBase::get()
      | ^~~~
/usr/include/OpenSP/IListBase.h:69:22: error: invalid use of incomplete type ‘class IListBase’
   69 | void IListBase::swap(IListBase &list)
      |                      ^~~~~~~~~
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IListBase.h:69:33: error: ‘list’ was not declared in this scope
   69 | void IListBase::swap(IListBase &list)
      |                                 ^~~~
/usr/include/OpenSP/IList.h:18:23: error: invalid use of incomplete type ‘class IListBase’
   18 | class IList : private IListBase {
      |                       ^~~~~~~~~
/usr/include/OpenSP/Link.h:19:14: note: forward declaration of ‘class IListBase’
   19 | friend class IListBase;
      |              ^~~~~~~~~
/usr/include/OpenSP/IList.h:29:14: error: type ‘IListBase’ is not a base type for type ‘IList<T>’
   29 |   IListBase::clear;
      |              ^~~~~
/usr/include/OpenSP/IList.h:30:14: error: type ‘IListBase’ is not a base type for type ‘IList<T>’
   30 |   IListBase::empty;
      |              ^~~~~
/usr/include/OpenSP/IList.h: In constructor ‘IList<T>::IList(T*)’:
/usr/include/OpenSP/IList.h:21:17: error: class ‘IList<T>’ does not have any field named ‘IListBase’
   21 |   IList(T *p) : IListBase(p) { }
      |                 ^~~~~~~~~
/usr/include/OpenSP/IList.h: In member function ‘void IList<T>::append(T*)’:
/usr/include/OpenSP/IList.h:23:34: error: incomplete type ‘IListBase’ used in nested name specifier
   23 |   void append(T *p) { IListBase::append(p); }
      |                                  ^~~~~~
/usr/include/OpenSP/IList.h: In member function ‘void IList<T>::insert(T*)’:
/usr/include/OpenSP/IList.h:24:34: error: incomplete type ‘IListBase’ used in nested name specifier
   24 |   void insert(T *p) { IListBase::insert(p); }
      |                                  ^~~~~~
/usr/include/OpenSP/IList.h: In member function ‘void IList<T>::remove(T*)’:
/usr/include/OpenSP/IList.h:25:34: error: incomplete type ‘IListBase’ used in nested name specifier
   25 |   void remove(T *p) { IListBase::remove(p); }
      |                                  ^~~~~~
/usr/include/OpenSP/IList.h: In member function ‘void IList<T>::swap(IList<T>&)’:
/usr/include/OpenSP/IList.h:26:42: error: incomplete type ‘IListBase’ used in nested name specifier
   26 |   void swap(IList<T> &list) { IListBase::swap(list); }
      |                                          ^~~~
/usr/include/OpenSP/IList.h: In member function ‘T* IList<T>::head() const’:
/usr/include/OpenSP/IList.h:27:44: error: incomplete type ‘IListBase’ used in nested name specifier
   27 |   T *head() const { return (T *)IListBase::head(); }
      |                                            ^~~~
/usr/include/OpenSP/IList.h: In member function ‘T* IList<T>::get()’:
/usr/include/OpenSP/IList.h:28:37: error: incomplete type ‘IListBase’ used in nested name specifier
   28 |   T *get() { return (T *)IListBase::get(); }
      |                                     ^~~
/usr/include/OpenSP/ContentState.h: At global scope:
/usr/include/OpenSP/ContentState.h:24:14: error: variable ‘SP_API ContentState’ has initializer but incomplete type
   24 | class SP_API ContentState {
      |              ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:25:1: error: expected primary-expression before ‘public’
   25 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentState.h:25:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/ContentState.h:24:27: note: to match this ‘{’
   24 | class SP_API ContentState {
      |                           ^
/usr/include/OpenSP/ContentState.h:25:1: error: expected ‘,’ or ‘;’ before ‘public’
   25 | public:
      | ^~~~~~
/usr/include/OpenSP/ContentState.h:28:8: error: variable or field ‘pushElement’ declared void
   28 |   void pushElement(OpenElement *);
      |        ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:28:20: error: ‘OpenElement’ was not declared in this scope; did you mean ‘endElement’?
   28 |   void pushElement(OpenElement *);
      |                    ^~~~~~~~~~~
      |                    endElement
/usr/include/OpenSP/ContentState.h:28:33: error: expected primary-expression before ‘)’ token
   28 |   void pushElement(OpenElement *);
      |                                 ^
/usr/include/OpenSP/ContentState.h:29:3: error: ‘OpenElement’ does not name a type
   29 |   OpenElement *popSaveElement();
      |   ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:31:3: error: ‘OpenElement’ does not name a type
   31 |   OpenElement &currentElement();
      |   ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:32:9: error: ‘OpenElement’ does not name a type
   32 |   const OpenElement &currentElement() const;
      |         ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:34:53: error: non-member function ‘void getOpenElementInfo(int&, const StringC&)’ cannot have cv-qualifier
   34 |                           const StringC &rniPcdata) const;
      |                                                     ^~~~~
/usr/include/OpenSP/ContentState.h:35:23: error: non-member function ‘unsigned int tagLevel()’ cannot have cv-qualifier
   35 |   unsigned tagLevel() const;
      |                       ^~~~~
/usr/include/OpenSP/ContentState.h:36:50: error: non-member function ‘Boolean elementIsIncluded(const ElementType*)’ cannot have cv-qualifier
   36 |   Boolean elementIsIncluded(const ElementType *) const;
      |                                                  ^~~~~
/usr/include/OpenSP/ContentState.h:37:50: error: non-member function ‘Boolean elementIsExcluded(const ElementType*)’ cannot have cv-qualifier
   37 |   Boolean elementIsExcluded(const ElementType *) const;
      |                                                  ^~~~~
/usr/include/OpenSP/ContentState.h:38:46: error: non-member function ‘Boolean elementIsOpen(const ElementType*)’ cannot have cv-qualifier
   38 |   Boolean elementIsOpen(const ElementType *) const;
      |                                              ^~~~~
/usr/include/OpenSP/ContentState.h:39:34: error: non-member function ‘Boolean afterDocumentElement()’ cannot have cv-qualifier
   39 |   Boolean afterDocumentElement() const;
      |                                  ^~~~~
/usr/include/OpenSP/ContentState.h:40:45: error: non-member function ‘const ElementType* lastEndedElementType()’ cannot have cv-qualifier
   40 |   const ElementType *lastEndedElementType() const;
      |                                             ^~~~~
/usr/include/OpenSP/ContentState.h:41:22: error: non-member function ‘Mode contentMode()’ cannot have cv-qualifier
   41 |   Mode contentMode() const;
      |                      ^~~~~
/usr/include/OpenSP/ContentState.h:43:51: error: ‘Location’ does not name a type
   43 |                                             const Location &,
      |                                                   ^~~~~~~~
/usr/include/OpenSP/ContentState.h:47:34: error: aggregate ‘const ShortReferenceMap theEmptyMap’ has incomplete type and cannot be defined
   47 |   static const ShortReferenceMap theEmptyMap;
      |                                  ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:48:1: error: expected unqualified-id before ‘private’
   48 | private:
      | ^~~~~~~
/usr/include/OpenSP/ContentState.h:58:15: error: aggregate ‘ElementType documentElementContainer_’ has incomplete type and cannot be defined
   58 |   ElementType documentElementContainer_;
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:59:1: error: expected declaration before ‘}’ token
   59 | };
      | ^
/usr/include/OpenSP/ContentState.h:62:1: error: ‘OpenElement’ does not name a type
   62 | OpenElement &ContentState::currentElement()
      | ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:68:7: error: ‘OpenElement’ does not name a type
   68 | const OpenElement &ContentState::currentElement() const
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:74:9: error: ‘ContentState’ is not a class, namespace, or enumeration
   74 | Boolean ContentState::elementIsOpen(const ElementType *e) const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:74:59: error: non-member function ‘Boolean elementIsOpen(const ElementType*)’ cannot have cv-qualifier
   74 | Boolean ContentState::elementIsOpen(const ElementType *e) const
      |                                                           ^~~~~
/usr/include/OpenSP/ContentState.h: In function ‘Boolean elementIsOpen(const ElementType*)’:
/usr/include/OpenSP/ContentState.h:76:29: error: invalid use of incomplete type ‘const class ElementType’
   76 |   return openElementCount_[e->index()] != 0;
      |                             ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h: At global scope:
/usr/include/OpenSP/ContentState.h:80:9: error: ‘ContentState’ is not a class, namespace, or enumeration
   80 | Boolean ContentState::elementIsIncluded(const ElementType *e) const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:80:63: error: non-member function ‘Boolean elementIsIncluded(const ElementType*)’ cannot have cv-qualifier
   80 | Boolean ContentState::elementIsIncluded(const ElementType *e) const
      |                                                               ^~~~~
/usr/include/OpenSP/ContentState.h: In function ‘Boolean elementIsIncluded(const ElementType*)’:
/usr/include/OpenSP/ContentState.h:82:25: error: invalid use of incomplete type ‘const class ElementType’
   82 |   return includeCount_[e->index()] != 0 && excludeCount_[e->index()] == 0;
      |                         ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:82:59: error: invalid use of incomplete type ‘const class ElementType’
   82 |   return includeCount_[e->index()] != 0 && excludeCount_[e->index()] == 0;
      |                                                           ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h: At global scope:
/usr/include/OpenSP/ContentState.h:86:9: error: ‘ContentState’ is not a class, namespace, or enumeration
   86 | Boolean ContentState::elementIsExcluded(const ElementType *e) const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:86:63: error: non-member function ‘Boolean elementIsExcluded(const ElementType*)’ cannot have cv-qualifier
   86 | Boolean ContentState::elementIsExcluded(const ElementType *e) const
      |                                                               ^~~~~
/usr/include/OpenSP/ContentState.h: In function ‘Boolean elementIsExcluded(const ElementType*)’:
/usr/include/OpenSP/ContentState.h:88:25: error: invalid use of incomplete type ‘const class ElementType’
   88 |   return excludeCount_[e->index()] != 0;
      |                         ^~
/usr/include/OpenSP/ContentToken.h:65:7: note: forward declaration of ‘class ElementType’
   65 | class ElementType;
      |       ^~~~~~~~~~~
/usr/include/OpenSP/ContentState.h: At global scope:
/usr/include/OpenSP/ContentState.h:92:20: error: ‘ContentState’ is not a class, namespace, or enumeration
   92 | const ElementType *ContentState::lastEndedElementType() const
      |                    ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:92:57: error: non-member function ‘const ElementType* lastEndedElementType()’ cannot have cv-qualifier
   92 | const ElementType *ContentState::lastEndedElementType() const
      |                                                         ^~~~~
/usr/include/OpenSP/ContentState.h:98:10: error: ‘ContentState’ is not a class, namespace, or enumeration
   98 | unsigned ContentState::tagLevel() const
      |          ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:98:35: error: non-member function ‘unsigned int tagLevel()’ cannot have cv-qualifier
   98 | unsigned ContentState::tagLevel() const
      |                                   ^~~~~
/usr/include/OpenSP/ContentState.h:104:9: error: ‘ContentState’ is not a class, namespace, or enumeration
  104 | Boolean ContentState::afterDocumentElement() const
      |         ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:104:46: error: non-member function ‘Boolean afterDocumentElement()’ cannot have cv-qualifier
  104 | Boolean ContentState::afterDocumentElement() const
      |                                              ^~~~~
/usr/include/OpenSP/ContentState.h: In function ‘Boolean afterDocumentElement()’:
/usr/include/OpenSP/ContentState.h:106:29: error: ‘currentElement’ was not declared in this scope; did you mean ‘startElement’?
  106 |   return tagLevel() == 0 && currentElement().isFinished();
      |                             ^~~~~~~~~~~~~~
      |                             startElement
/usr/include/OpenSP/ContentState.h: At global scope:
/usr/include/OpenSP/ContentState.h:110:6: error: ‘ContentState’ is not a class, namespace, or enumeration
  110 | Mode ContentState::contentMode() const
      |      ^~~~~~~~~~~~
/usr/include/OpenSP/ContentState.h:110:34: error: non-member function ‘Mode contentMode()’ cannot have cv-qualifier
  110 | Mode ContentState::contentMode() const
      |                                  ^~~~~
/usr/include/OpenSP/ContentState.h: In function ‘Mode contentMode()’:
/usr/include/OpenSP/ContentState.h:112:10: error: ‘openElements_’ was not declared in this scope; did you mean ‘openElementInfo’?
  112 |   return openElements_.head()->mode(netEnablingCount_ > 0);
      |          ^~~~~~~~~~~~~
      |          openElementInfo
In file included from /usr/include/OpenSP/DescriptorManager.h:8,
                 from /tmp/UEn0V_TxoO/dump1.h:35:
/usr/include/OpenSP/List.h: At global scope:
/usr/include/OpenSP/List.h:15:30: error: expected class-name before ‘{’ token
   15 | class ListItem : public Link {
      |                              ^
/usr/include/OpenSP/DescriptorManager.h:16:14: error: variable ‘SP_API DescriptorUser’ has initializer but incomplete type
   16 | class SP_API DescriptorUser {
      |              ^~~~~~~~~~~~~~
/usr/include/OpenSP/DescriptorManager.h:17:1: error: expected primary-expression before ‘public’
   17 | public:
      | ^~~~~~
/usr/include/OpenSP/DescriptorManager.h:17:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/DescriptorManager.h:16:29: note: to match this ‘{’
   16 | class SP_API DescriptorUser {
      |                             ^
/usr/include/OpenSP/DescriptorManager.h:17:1: error: expected ‘,’ or ‘;’ before ‘public’
   17 | public:
      | ^~~~~~
/usr/include/OpenSP/DescriptorManager.h:19:26: error: expected class-name before ‘(’ token
   19 |   virtual ~DescriptorUser();
      |                          ^
/usr/include/OpenSP/DescriptorManager.h:20:3: error: ‘virtual’ outside class declaration
   20 |   virtual Boolean suspend();
      |   ^~~~~~~
/usr/include/OpenSP/DescriptorManager.h:24:32: error: non-member function ‘DescriptorManager* manager()’ cannot have cv-qualifier
   24 |   DescriptorManager *manager() const;
      |                                ^~~~~
/usr/include/OpenSP/DescriptorManager.h:25:1: error: expected unqualified-id before ‘private’
   25 | private:
      | ^~~~~~~
/usr/include/OpenSP/DescriptorManager.h:27:1: error: expected declaration before ‘}’ token
   27 | };
      | ^
/usr/include/OpenSP/DescriptorManager.h:29:14: error: variable ‘SP_API DescriptorManager’ has initializer but incomplete type
   29 | class SP_API DescriptorManager {
      |              ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/DescriptorManager.h:30:1: error: expected primary-expression before ‘public’
   30 | public:
      | ^~~~~~
/usr/include/OpenSP/DescriptorManager.h:30:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/DescriptorManager.h:29:32: note: to match this ‘{’
   29 | class SP_API DescriptorManager {
      |                                ^
/usr/include/OpenSP/DescriptorManager.h:30:1: error: expected ‘,’ or ‘;’ before ‘public’
   30 | public:
      | ^~~~~~
/usr/include/OpenSP/DescriptorManager.h:32:23: error: expected constructor, destructor, or type conversion before ‘;’ token
   32 |   ~DescriptorManager();
      |                       ^
/usr/include/OpenSP/DescriptorManager.h:35:8: error: variable or field ‘addUser’ declared void
   35 |   void addUser(DescriptorUser *);
      |        ^~~~~~~
/usr/include/OpenSP/DescriptorManager.h:35:32: error: expected primary-expression before ‘)’ token
   35 |   void addUser(DescriptorUser *);
      |                                ^
/usr/include/OpenSP/DescriptorManager.h:36:8: error: variable or field ‘removeUser’ declared void
   36 |   void removeUser(DescriptorUser *);
      |        ^~~~~~~~~~
/usr/include/OpenSP/DescriptorManager.h:36:35: error: expected primary-expression before ‘)’ token
   36 |   void removeUser(DescriptorUser *);
      |                                   ^
/usr/include/OpenSP/DescriptorManager.h:37:1: error: expected unqualified-id before ‘private’
   37 | private:
      | ^~~~~~~
/usr/include/OpenSP/DescriptorManager.h:39:24: error: ‘DescriptorManager’ does not name a type
   39 |   void operator=(const DescriptorManager &);    // undefined
      |                        ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/DescriptorManager.h:39:8: error: ‘void operator=(const int&)’ must be a non-static member function
   39 |   void operator=(const DescriptorManager &);    // undefined
      |        ^~~~~~~~
/usr/include/OpenSP/DescriptorManager.h:43:24: error: template argument 1 is invalid
   43 |   List<DescriptorUser *> users_;
      |                        ^
/usr/include/OpenSP/DescriptorManager.h:44:1: error: expected declaration before ‘}’ token
   44 | };
      | ^
In file included from /tmp/UEn0V_TxoO/dump1.h:37:
/usr/include/OpenSP/EUCJPCodingSystem.h:13:32: error: expected initializer before ‘:’ token
   13 | class SP_API EUCJPCodingSystem : public CodingSystem {
      |                                ^
In file included from /usr/include/OpenSP/EntityApp.h:14,
                 from /tmp/UEn0V_TxoO/dump1.h:40:
/usr/include/OpenSP/ExtendEntityManager.h:29:15: error: variable ‘SP_API StorageObjectSpec’ has initializer but incomplete type
   29 | struct SP_API StorageObjectSpec {
      |               ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ExtendEntityManager.h:30:22: error: expected ‘}’ before ‘;’ token
   30 |   StorageObjectSpec();
      |                      ^
/usr/include/OpenSP/ExtendEntityManager.h:29:33: note: to match this ‘{’
   29 | struct SP_API StorageObjectSpec {
      |                                 ^
/usr/include/OpenSP/ExtendEntityManager.h:31:21: error: expected class-name before ‘(’ token
   31 |   ~StorageObjectSpec();
      |                     ^
/usr/include/OpenSP/ExtendEntityManager.h:32:27: error: ‘StorageObjectSpec’ does not name a type
   32 |   StorageObjectSpec(const StorageObjectSpec&);
      |                           ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ExtendEntityManager.h:32:46: error: expected constructor, destructor, or type conversion before ‘;’ token
   32 |   StorageObjectSpec(const StorageObjectSpec&);
      |                                              ^
/usr/include/OpenSP/ExtendEntityManager.h:33:3: error: ‘StorageObjectSpec’ does not name a type
   33 |   StorageObjectSpec& operator=(const StorageObjectSpec&);
      |   ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ExtendEntityManager.h:36:9: error: ‘InputCodingSystem’ does not name a type
   36 |   const InputCodingSystem *codingSystem;
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ExtendEntityManager.h:56:1: error: expected declaration before ‘}’ token
   56 | };
      | ^
/usr/include/OpenSP/ExtendEntityManager.h:59:30: error: expected initializer before ‘:’ token
   59 | struct SP_API ParsedSystemId : public Vector<StorageObjectSpec> {
      |                              ^
/usr/include/OpenSP/ExtendEntityManager.h:77:15: error: variable ‘SP_API StorageObjectLocation’ has initializer but incomplete type
   77 | struct SP_API StorageObjectLocation {
      |               ^~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ExtendEntityManager.h:78:3: error: expected primary-expression before ‘const’
   78 |   const StorageObjectSpec *storageObjectSpec;
      |   ^~~~~
/usr/include/OpenSP/ExtendEntityManager.h:78:3: error: expected ‘}’ before ‘const’
/usr/include/OpenSP/ExtendEntityManager.h:77:37: note: to match this ‘{’
   77 | struct SP_API StorageObjectLocation {
      |                                     ^
/usr/include/OpenSP/ExtendEntityManager.h:78:3: error: expected ‘,’ or ‘;’ before ‘const’
   78 |   const StorageObjectSpec *storageObjectSpec;
      |   ^~~~~
/usr/include/OpenSP/ExtendEntityManager.h:84:1: error: expected declaration before ‘}’ token
   84 | };
      | ^
/usr/include/OpenSP/ExtendEntityManager.h:86:34: error: expected initializer before ‘:’ token
   86 | class SP_API ExtendEntityManager : public EntityManager {
      |                                  ^
/usr/include/OpenSP/EntityApp.h:20:24: error: expected initializer before ‘:’ token
   20 | class SP_API EntityApp : public CmdLineApp {
      |                        ^
/usr/include/OpenSP/EntityApp.h:39:6: error: ‘EntityApp’ has not been declared
   39 | void EntityApp::clearEntityManager()
      |      ^~~~~~~~~
/usr/include/OpenSP/EntityApp.h: In function ‘void clearEntityManager()’:
/usr/include/OpenSP/EntityApp.h:41:3: error: ‘resetCodingSystemKit’ was not declared in this scope; did you mean ‘inputCodingSystemKit’?
   41 |   resetCodingSystemKit();
      |   ^~~~~~~~~~~~~~~~~~~~
      |   inputCodingSystemKit
/usr/include/OpenSP/EntityApp.h:42:3: error: ‘entityManager_’ was not declared in this scope
   42 |   entityManager_.clear();
      |   ^~~~~~~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:44:
/usr/include/OpenSP/ErrnoMessageArg.h: At global scope:
/usr/include/OpenSP/ErrnoMessageArg.h:14:30: error: expected initializer before ‘:’ token
   14 | class SP_API ErrnoMessageArg : public OtherMessageArg {
      |                              ^
/usr/include/OpenSP/ErrnoMessageArg.h:26:5: error: ‘ErrnoMessageArg’ has not been declared
   26 | int ErrnoMessageArg::errnum() const
      |     ^~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrnoMessageArg.h:26:31: error: non-member function ‘int errnum()’ cannot have cv-qualifier
   26 | int ErrnoMessageArg::errnum() const
      |                               ^~~~~
/usr/include/OpenSP/ErrnoMessageArg.h: In function ‘int errnum()’:
/usr/include/OpenSP/ErrnoMessageArg.h:28:10: error: ‘errno_’ was not declared in this scope; did you mean ‘errnum’?
   28 |   return errno_;
      |          ^~~~~~
      |          errnum
In file included from /tmp/UEn0V_TxoO/dump1.h:45:
/usr/include/OpenSP/ErrorCountEventHandler.h: At global scope:
/usr/include/OpenSP/ErrorCountEventHandler.h:18:37: error: expected initializer before ‘:’ token
   18 | class SP_API ErrorCountEventHandler : public EventHandler {
      |                                     ^
/usr/include/OpenSP/ErrorCountEventHandler.h:35:10: error: ‘ErrorCountEventHandler’ has not been declared
   35 | unsigned ErrorCountEventHandler::errorCount() const
      |          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h:35:47: error: non-member function ‘unsigned int errorCount()’ cannot have cv-qualifier
   35 | unsigned ErrorCountEventHandler::errorCount() const
      |                                               ^~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: In function ‘unsigned int errorCount()’:
/usr/include/OpenSP/ErrorCountEventHandler.h:37:10: error: ‘errorCount_’ was not declared in this scope; did you mean ‘errorCount’?
   37 |   return errorCount_;
      |          ^~~~~~~~~~~
      |          errorCount
/usr/include/OpenSP/ErrorCountEventHandler.h: At global scope:
/usr/include/OpenSP/ErrorCountEventHandler.h:41:21: error: ‘ErrorCountEventHandler’ has not been declared
   41 | const sig_atomic_t *ErrorCountEventHandler::cancelPtr() const
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h:41:57: error: non-member function ‘const sig_atomic_t* cancelPtr()’ cannot have cv-qualifier
   41 | const sig_atomic_t *ErrorCountEventHandler::cancelPtr() const
      |                                                         ^~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: In function ‘const sig_atomic_t* cancelPtr()’:
/usr/include/OpenSP/ErrorCountEventHandler.h:43:11: error: ‘cancel_’ was not declared in this scope
   43 |   return &cancel_;
      |           ^~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: At global scope:
/usr/include/OpenSP/ErrorCountEventHandler.h:47:6: error: ‘ErrorCountEventHandler’ has not been declared
   47 | void ErrorCountEventHandler::cancel()
      |      ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: In function ‘void cancel()’:
/usr/include/OpenSP/ErrorCountEventHandler.h:49:3: error: ‘cancel_’ was not declared in this scope; did you mean ‘cancel’?
   49 |   cancel_ = 1;
      |   ^~~~~~~
      |   cancel
/usr/include/OpenSP/ErrorCountEventHandler.h: At global scope:
/usr/include/OpenSP/ErrorCountEventHandler.h:53:6: error: ‘ErrorCountEventHandler’ has not been declared
   53 | void ErrorCountEventHandler::setErrorLimit(unsigned maxErrors)
      |      ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: In function ‘void setErrorLimit(unsigned int)’:
/usr/include/OpenSP/ErrorCountEventHandler.h:55:3: error: ‘maxErrors_’ was not declared in this scope; did you mean ‘maxErrors’?
   55 |   maxErrors_ = maxErrors;
      |   ^~~~~~~~~~
      |   maxErrors
/usr/include/OpenSP/ErrorCountEventHandler.h: At global scope:
/usr/include/OpenSP/ErrorCountEventHandler.h:59:9: error: ‘ErrorCountEventHandler’ has not been declared
   59 | Boolean ErrorCountEventHandler::cancelled() const
      |         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h:59:45: error: non-member function ‘Boolean cancelled()’ cannot have cv-qualifier
   59 | Boolean ErrorCountEventHandler::cancelled() const
      |                                             ^~~~~
/usr/include/OpenSP/ErrorCountEventHandler.h: In function ‘Boolean cancelled()’:
/usr/include/OpenSP/ErrorCountEventHandler.h:61:10: error: ‘cancel_’ was not declared in this scope; did you mean ‘cancel’?
   61 |   return cancel_ != 0;
      |          ^~~~~~~
      |          cancel
In file included from /tmp/UEn0V_TxoO/dump1.h:51:
/usr/include/OpenSP/Fixed2CodingSystem.h: At global scope:
/usr/include/OpenSP/Fixed2CodingSystem.h:13:55: error: expected class-name before ‘{’ token
   13 | class SP_API Fixed2CodingSystem : public CodingSystem {
      |                                                       ^
/usr/include/OpenSP/Fixed2CodingSystem.h:15:3: error: ‘Decoder’ does not name a type
   15 |   Decoder *makeDecoder(Boolean lsbFirst) const;
      |   ^~~~~~~
/usr/include/OpenSP/Fixed2CodingSystem.h:16:3: error: ‘Encoder’ does not name a type
   16 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:52:
/usr/include/OpenSP/Fixed4CodingSystem.h:13:55: error: expected class-name before ‘{’ token
   13 | class SP_API Fixed4CodingSystem : public CodingSystem {
      |                                                       ^
/usr/include/OpenSP/Fixed4CodingSystem.h:15:3: error: ‘Decoder’ does not name a type
   15 |   Decoder *makeDecoder(Boolean lsbFirst, Boolean lswFirst) const;
      |   ^~~~~~~
/usr/include/OpenSP/Fixed4CodingSystem.h:16:3: error: ‘Encoder’ does not name a type
   16 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:53:
/usr/include/OpenSP/GenericEventHandler.h:23:66: error: expected class-name before ‘{’ token
   23 | class SP_API GenericEventHandler : public ErrorCountEventHandler {
      |                                                                  ^
/usr/include/OpenSP/GenericEventHandler.h:27:16: error: ‘MessageEvent’ has not been declared
   27 |   void message(MessageEvent *);
      |                ^~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:56:36: error: ‘Message’ does not name a type
   56 |   virtual void reportMessage(const Message &msg, StringC &) = 0;
      |                                    ^~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:60:55: error: ‘Location’ does not name a type
   60 |   void setLocation(SGMLApplication::Position &, const Location &);
      |                                                       ^~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:61:56: error: ‘Location’ does not name a type
   61 |   void setLocation1(SGMLApplication::Position &, const Location &);
      |                                                        ^~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:63:28: error: ‘AttributeList’ does not name a type
   63 |                      const AttributeList &attributeList);
      |                            ^~~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:65:28: error: ‘ExternalId’ does not name a type; did you mean ‘ExternalInfo’?
   65 |                      const ExternalId &from);
      |                            ^~~~~~~~~~
      |                            ExternalInfo
/usr/include/OpenSP/GenericEventHandler.h:70:12: error: ‘Origin’ was not declared in this scope; did you mean ‘origin’?
   70 |   ConstPtr<Origin> lastOrigin_;
      |            ^~~~~~
      |            origin
/usr/include/OpenSP/GenericEventHandler.h:70:18: error: template argument 1 is invalid
   70 |   ConstPtr<Origin> lastOrigin_;
      |                  ^
/usr/include/OpenSP/GenericEventHandler.h:84:26: error: ‘MessageReporter’ has not been declared
   84 |                          MessageReporter &reporter,
      |                          ^~~~~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:86:28: error: ‘Message’ does not name a type
   86 |   void reportMessage(const Message &msg, StringC &);
      |                            ^~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:91:33: error: expected ‘)’ before ‘*’ token
   91 |     WrapReporter(MessageReporter *r) : reporter(r), origStream(0) {
      |                 ~               ^~
      |                                 )
/usr/include/OpenSP/GenericEventHandler.h:101:5: error: ‘MessageReporter’ does not name a type
  101 |     MessageReporter *reporter;
      |     ^~~~~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:102:5: error: ‘OutputCharStream’ does not name a type; did you mean ‘OutputCharStream_INCLUDED’?
  102 |     OutputCharStream *origStream;
      |     ^~~~~~~~~~~~~~~~
      |     OutputCharStream_INCLUDED
/usr/include/OpenSP/GenericEventHandler.h:103:5: error: ‘StrOutputCharStream’ does not name a type
  103 |     StrOutputCharStream strStream;
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:106:3: error: ‘MessageReporter’ does not name a type
  106 |   MessageReporter *reporter_;
      |   ^~~~~~~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h: In destructor ‘MsgGenericEventHandler::WrapReporter::~WrapReporter()’:
/usr/include/OpenSP/GenericEventHandler.h:96:11: error: ‘origStream’ was not declared in this scope
   96 |       if (origStream) {
      |           ^~~~~~~~~~
/usr/include/OpenSP/GenericEventHandler.h:97:9: error: ‘reporter’ was not declared in this scope
   97 |         reporter->releaseMessageStream();
      |         ^~~~~~~~
In file included from /usr/include/OpenSP/IListIter.h:7,
                 from /tmp/UEn0V_TxoO/dump1.h:59:
/usr/include/OpenSP/IListIterBase.h: At global scope:
/usr/include/OpenSP/IListIterBase.h:16:23: error: ‘IListBase’ does not name a type
   16 |   IListIterBase(const IListBase &);
      |                       ^~~~~~~~~
/usr/include/OpenSP/IListIterBase.h:18:3: error: ‘Link’ does not name a type
   18 |   Link *cur() const;
      |   ^~~~
/usr/include/OpenSP/IListIterBase.h:21:3: error: ‘Link’ does not name a type
   21 |   Link *p_;
      |   ^~~~
/usr/include/OpenSP/IListIterBase.h:25:36: error: ‘IListBase’ does not name a type
   25 | IListIterBase::IListIterBase(const IListBase &list) : p_(list.head_)
      |                                    ^~~~~~~~~
/usr/include/OpenSP/IListIterBase.h: In constructor ‘IListIterBase::IListIterBase(const int&)’:
/usr/include/OpenSP/IListIterBase.h:25:55: error: class ‘IListIterBase’ does not have any field named ‘p_’
   25 | IListIterBase::IListIterBase(const IListBase &list) : p_(list.head_)
      |                                                       ^~
/usr/include/OpenSP/IListIterBase.h:25:63: error: request for member ‘head_’ in ‘list’, which is of non-class type ‘const int’
   25 | IListIterBase::IListIterBase(const IListBase &list) : p_(list.head_)
      |                                                               ^~~~~
/usr/include/OpenSP/IListIterBase.h: In member function ‘int IListIterBase::done() const’:
/usr/include/OpenSP/IListIterBase.h:32:10: error: ‘p_’ was not declared in this scope; did you mean ‘v_’?
   32 |   return p_ == 0;
      |          ^~
      |          v_
/usr/include/OpenSP/IListIterBase.h: At global scope:
/usr/include/OpenSP/IListIterBase.h:36:1: error: ‘Link’ does not name a type
   36 | Link *IListIterBase::cur() const
      | ^~~~
/usr/include/OpenSP/IListIterBase.h: In member function ‘void IListIterBase::next()’:
/usr/include/OpenSP/IListIterBase.h:44:3: error: ‘p_’ was not declared in this scope; did you mean ‘v_’?
   44 |   p_ = p_->next_;
      |   ^~
      |   v_
/usr/include/OpenSP/IListIter.h: In member function ‘T* IListIter<T>::cur() const’:
/usr/include/OpenSP/IListIter.h:18:47: error: ‘cur’ is not a member of ‘IListIterBase’
   18 |   T *cur() const { return (T *)IListIterBase::cur(); }
      |                                               ^~~
In file included from /tmp/UEn0V_TxoO/dump1.h:61:
/usr/include/OpenSP/IQueue.h: At global scope:
/usr/include/OpenSP/IQueue.h:19:3: error: ‘Link’ does not name a type
   19 |   Link *get() {
      |   ^~~~
/usr/include/OpenSP/IQueue.h:27:15: error: ‘Link’ is not a type
   27 |   void append(Link *p) {
      |               ^~~~
/usr/include/OpenSP/IQueue.h:41:3: error: ‘Link’ does not name a type
   41 |   Link *last_;
      |   ^~~~
/usr/include/OpenSP/IQueue.h: In constructor ‘IQueueBase::IQueueBase()’:
/usr/include/OpenSP/IQueue.h:16:18: error: class ‘IQueueBase’ does not have any field named ‘last_’
   16 |   IQueueBase() : last_(0) { }
      |                  ^~~~~
/usr/include/OpenSP/IQueue.h: In member function ‘Boolean IQueueBase::empty() const’:
/usr/include/OpenSP/IQueue.h:18:34: error: ‘last_’ was not declared in this scope
   18 |   Boolean empty() const { return last_ == 0; }
      |                                  ^~~~~
/usr/include/OpenSP/IQueue.h: In member function ‘void IQueueBase::append(int*)’:
/usr/include/OpenSP/IQueue.h:28:9: error: ‘last_’ was not declared in this scope
   28 |     if (last_) {
      |         ^~~~~
/usr/include/OpenSP/IQueue.h:29:10: error: request for member ‘next_’ in ‘* p’, which is of non-class type ‘int’
   29 |       p->next_ = last_->next_;
      |          ^~~~~
/usr/include/OpenSP/IQueue.h:33:18: error: request for member ‘next_’ in ‘* p’, which is of non-class type ‘int’
   33 |       last_ = p->next_ = p;
      |                  ^~~~~
/usr/include/OpenSP/IQueue.h: In member function ‘void IQueueBase::swap(IQueueBase&)’:
/usr/include/OpenSP/IQueue.h:36:11: error: ‘tem’ was not declared in this scope
   36 |     Link *tem = last_;
      |           ^~~
/usr/include/OpenSP/IQueue.h:36:17: error: ‘last_’ was not declared in this scope
   36 |     Link *tem = last_;
      |                 ^~~~~
/usr/include/OpenSP/IQueue.h:37:18: error: ‘class IQueueBase’ has no member named ‘last_’
   37 |     last_ = with.last_;
      |                  ^~~~~
/usr/include/OpenSP/IQueue.h:38:10: error: ‘class IQueueBase’ has no member named ‘last_’
   38 |     with.last_ = tem;
      |          ^~~~~
/usr/include/OpenSP/IQueue.h: In member function ‘T* IQueue<T>::get()’:
/usr/include/OpenSP/IQueue.h:51:38: error: ‘get’ is not a member of ‘IQueueBase’
   51 |   T *get() { return (T *)IQueueBase::get(); }
      |                                      ^~~
In file included from /tmp/UEn0V_TxoO/dump1.h:64:
/usr/include/OpenSP/IdentityCodingSystem.h: At global scope:
/usr/include/OpenSP/IdentityCodingSystem.h:13:57: error: expected class-name before ‘{’ token
   13 | class SP_API IdentityCodingSystem : public CodingSystem {
      |                                                         ^
/usr/include/OpenSP/IdentityCodingSystem.h:16:3: error: ‘Decoder’ does not name a type
   16 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/IdentityCodingSystem.h:17:3: error: ‘Encoder’ does not name a type
   17 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:65:
/usr/include/OpenSP/InputSource.h:26:40: error: expected class-name before ‘{’ token
   26 | class SP_API InputSource : public Link {
      |                                        ^
/usr/include/OpenSP/InputSource.h:31:13: error: ‘Messenger’ is not a type
   31 |   Xchar get(Messenger &);
      |             ^~~~~~~~~
/usr/include/OpenSP/InputSource.h:32:43: error: ‘NamedCharRef’ does not name a type
   32 |   virtual void pushCharRef(Char ch, const NamedCharRef &) = 0;
      |                                           ^~~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:33:9: error: ‘Location’ does not name a type
   33 |   const Location &currentLocation() const;
      |         ^~~~~~~~
/usr/include/OpenSP/InputSource.h:43:19: error: ‘Messenger’ is not a type
   43 |   Xchar tokenChar(Messenger &);
      |                   ^~~~~~~~~
/usr/include/OpenSP/InputSource.h:44:27: error: ‘Messenger’ is not a type
   44 |   Xchar tokenCharInBuffer(Messenger &);
      |                           ^~~~~~~~~
/usr/include/OpenSP/InputSource.h:50:26: error: ‘Messenger’ is not a type
   50 |   virtual Boolean rewind(Messenger &) = 0;
      |                          ^~~~~~~~~
/usr/include/OpenSP/InputSource.h:52:36: error: ‘CharsetInfo’ does not name a type
   52 |   virtual void setDocCharset(const CharsetInfo &docCharset,
      |                                    ^~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:53:36: error: ‘CharsetInfo’ does not name a type
   53 |                              const CharsetInfo &emCharset);
      |                                    ^~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:60:50: error: ‘NamedCharRef’ does not name a type
   60 |   void noteCharRef(Index replacementIndex, const NamedCharRef &);
      |                                                  ^~~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:74:22: error: ‘Messenger’ is not a type
   74 |   virtual Xchar fill(Messenger &) = 0;
      |                      ^~~~~~~~~
/usr/include/OpenSP/InputSource.h:81:3: error: ‘Location’ does not name a type
   81 |   Location startLocation_;
      |   ^~~~~~~~
/usr/include/OpenSP/InputSource.h: In member function ‘void InputSource::advanceStart(const Char*)’:
/usr/include/OpenSP/InputSource.h:97:5: error: ‘startLocation_’ was not declared in this scope; did you mean ‘setLocation’?
   97 |     startLocation_ += to - start_;
      |     ^~~~~~~~~~~~~~
      |     setLocation
/usr/include/OpenSP/InputSource.h: At global scope:
/usr/include/OpenSP/InputSource.h:103:7: error: ‘Xchar InputSource::get’ is not a static data member of ‘class InputSource’
  103 | Xchar InputSource::get(Messenger &mgr)
      |       ^~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:103:35: error: ‘mgr’ was not declared in this scope
  103 | Xchar InputSource::get(Messenger &mgr)
      |                                   ^~~
/usr/include/OpenSP/InputSource.h: In member function ‘void InputSource::startTokenNoMulticode()’:
/usr/include/OpenSP/InputSource.h:112:3: error: ‘startLocation_’ was not declared in this scope; did you mean ‘setLocation’?
  112 |   startLocation_ += cur_ - start_;
      |   ^~~~~~~~~~~~~~
      |   setLocation
/usr/include/OpenSP/InputSource.h: At global scope:
/usr/include/OpenSP/InputSource.h:129:7: error: ‘Xchar InputSource::tokenChar’ is not a static data member of ‘class InputSource’
  129 | Xchar InputSource::tokenChar(Messenger &mgr)
      |       ^~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:129:41: error: ‘mgr’ was not declared in this scope
  129 | Xchar InputSource::tokenChar(Messenger &mgr)
      |                                         ^~~
/usr/include/OpenSP/InputSource.h:135:7: error: ‘Xchar InputSource::tokenCharInBuffer’ is not a static data member of ‘class InputSource’
  135 | Xchar InputSource::tokenCharInBuffer(Messenger &mgr)
      |       ^~~~~~~~~~~
/usr/include/OpenSP/InputSource.h:135:49: error: ‘mgr’ was not declared in this scope
  135 | Xchar InputSource::tokenCharInBuffer(Messenger &mgr)
      |                                                 ^~~
/usr/include/OpenSP/InputSource.h: In member function ‘Index InputSource::startIndex()’:
/usr/include/OpenSP/InputSource.h:195:10: error: ‘startLocation_’ was not declared in this scope; did you mean ‘setLocation’?
  195 |   return startLocation_.index();
      |          ^~~~~~~~~~~~~~
      |          setLocation
/usr/include/OpenSP/InputSource.h: At global scope:
/usr/include/OpenSP/InputSource.h:206:61: error: ‘NamedCharRef’ does not name a type
  206 | void InputSource::noteCharRef(Index replacementIndex, const NamedCharRef &ref)
      |                                                             ^~~~~~~~~~~~
/usr/include/OpenSP/InputSource.h: In member function ‘void InputSource::noteCharRef(Index, const int&)’:
/usr/include/OpenSP/InputSource.h:208:10: error: invalid use of incomplete type ‘class InputSourceOrigin’
  208 |   origin_->noteCharRef(replacementIndex, ref);
      |          ^~
/usr/include/OpenSP/Location.h:26:7: note: forward declaration of ‘class InputSourceOrigin’
   26 | class InputSourceOrigin;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/InputSource.h: At global scope:
/usr/include/OpenSP/InputSource.h:212:7: error: ‘Location’ does not name a type
  212 | const Location &InputSource::currentLocation() const
      |       ^~~~~~~~
/usr/include/OpenSP/InputSource.h: In member function ‘Index InputSource::nextIndex() const’:
/usr/include/OpenSP/InputSource.h:232:10: error: ‘startLocation_’ was not declared in this scope; did you mean ‘setLocation’?
  232 |   return startLocation_.index() + (cur_ - start_);
      |          ^~~~~~~~~~~~~~
      |          setLocation
/usr/include/OpenSP/InputSource.h: In member function ‘Boolean InputSource::scanSuppress() const’:
/usr/include/OpenSP/InputSource.h:264:31: error: ‘startLocation_’ was not declared in this scope; did you mean ‘setLocation’?
  264 |                            || startLocation_.index() == scanSuppressIndex_);
      |                               ^~~~~~~~~~~~~~
      |                               setLocation
In file included from /tmp/UEn0V_TxoO/dump1.h:66:
/usr/include/OpenSP/InternalInputSource.h: At global scope:
/usr/include/OpenSP/InternalInputSource.h:26:33: error: ‘Allocator’ is not a type
   26 |   void *operator new(size_t sz, Allocator &alloc) { return alloc.alloc(sz); }
      |                                 ^~~~~~~~~
/usr/include/OpenSP/InternalInputSource.h:33:14: error: ‘Messenger’ is not a type
   33 |   Xchar fill(Messenger &);
      |              ^~~~~~~~~
/usr/include/OpenSP/InternalInputSource.h:34:35: error: ‘NamedCharRef’ does not name a type
   34 |   void pushCharRef(Char ch, const NamedCharRef &);
      |                                   ^~~~~~~~~~~~
/usr/include/OpenSP/InternalInputSource.h:35:18: error: ‘Messenger’ is not a type
   35 |   Boolean rewind(Messenger &);
      |                  ^~~~~~~~~
/usr/include/OpenSP/InternalInputSource.h: In static member function ‘static void* InternalInputSource::operator new(size_t, int&)’:
/usr/include/OpenSP/InternalInputSource.h:26:66: error: request for member ‘alloc’ in ‘alloc’, which is of non-class type ‘int’
   26 |   void *operator new(size_t sz, Allocator &alloc) { return alloc.alloc(sz); }
      |                                                                  ^~~~~
/usr/include/OpenSP/InternalInputSource.h: In static member function ‘static void* InternalInputSource::operator new(size_t)’:
/usr/include/OpenSP/InternalInputSource.h:27:42: error: ‘Allocator’ is not a class, namespace, or enumeration
   27 |   void *operator new(size_t sz) { return Allocator::allocSimple(sz); }
      |                                          ^~~~~~~~~
/usr/include/OpenSP/InternalInputSource.h: In static member function ‘static void InternalInputSource::operator delete(void*)’:
/usr/include/OpenSP/InternalInputSource.h:28:35: error: ‘Allocator’ is not a class, namespace, or enumeration
   28 |   void operator delete(void *p) { Allocator::free(p); }
      |                                   ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:68:
/usr/include/OpenSP/LinkProcess.h: At global scope:
/usr/include/OpenSP/LinkProcess.h:23:52: error: expected class-name before ‘{’ token
   23 | struct SP_API LinkProcessOpenElement : public Link {
      |                                                    ^
/usr/include/OpenSP/LinkProcess.h:24:56: error: ‘SourceLinkRule’ does not name a type
   24 |   LinkProcessOpenElement(const LinkSet *current, const SourceLinkRule &);
      |                                                        ^~~~~~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:35:28: error: ‘ComplexLpd’ was not declared in this scope
   35 |   void init(const ConstPtr<ComplexLpd> &lpd);
      |                            ^~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:35:38: error: template argument 1 is invalid
   35 |   void init(const ConstPtr<ComplexLpd> &lpd);
      |                                      ^
/usr/include/OpenSP/LinkProcess.h:37:30: error: ‘AttributeList’ does not name a type
   37 |                        const AttributeList &attributes,
      |                              ^~~~~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:38:30: error: ‘Location’ does not name a type
   38 |                        const Location &location,
      |                              ^~~~~~~~
/usr/include/OpenSP/LinkProcess.h:39:24: error: ‘Messenger’ is not a type
   39 |                        Messenger &,
      |                        ^~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:40:30: error: ‘AttributeList’ does not name a type
   40 |                        const AttributeList *&linkAttributes,
      |                              ^~~~~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:41:30: error: ‘ResultElementSpec’ does not name a type
   41 |                        const ResultElementSpec *&resultElementSpec);
      |                              ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:45:22: error: ‘Lpd’ does not name a type
   45 |                const Lpd *);
      |                      ^~~
/usr/include/OpenSP/LinkProcess.h:46:68: error: template argument 1 is invalid
   46 |   virtual Boolean selectLinkRule(const Vector<const AttributeList *> &,
      |                                                                    ^
/usr/include/OpenSP/LinkProcess.h:46:68: error: template argument 1 is invalid
/usr/include/OpenSP/LinkProcess.h:46:68: error: template argument 1 is invalid
/usr/include/OpenSP/LinkProcess.h:46:40: error: invalid template-id
   46 |   virtual Boolean selectLinkRule(const Vector<const AttributeList *> &,
      |                                        ^~~~~~
/usr/include/OpenSP/LinkProcess.h:46:47: error: expected primary-expression before ‘const’
   46 |   virtual Boolean selectLinkRule(const Vector<const AttributeList *> &,
      |                                               ^~~~~
/usr/include/OpenSP/LinkProcess.h:46:47: error: expected ‘>’ before ‘const’
/usr/include/OpenSP/LinkProcess.h:46:34: error: class template placeholder ‘Vector’ not permitted in this context
   46 |   virtual Boolean selectLinkRule(const Vector<const AttributeList *> &,
      |                                  ^~~~~
/usr/include/OpenSP/LinkProcess.h:47:40: error: ‘Location’ does not name a type
   47 |                                  const Location &location,
      |                                        ^~~~~~~~
/usr/include/OpenSP/LinkProcess.h:50:9: error: ‘ResultElementSpec’ does not name a type
   50 |   const ResultElementSpec &impliedLinkRule(size_t) const;
      |         ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:60:12: error: ‘ComplexLpd’ was not declared in this scope
   60 |   ConstPtr<ComplexLpd> lpd_;
      |            ^~~~~~~~~~
/usr/include/OpenSP/LinkProcess.h:60:22: error: template argument 1 is invalid
   60 |   ConstPtr<ComplexLpd> lpd_;
      |                      ^
/usr/include/OpenSP/LinkProcess.h:61:19: error: ‘Lpd’ was not declared in this scope; did you mean ‘LPD’?
   61 |   Vector<ConstPtr<Lpd> > activeLpds_;
      |                   ^~~
      |                   LPD
/usr/include/OpenSP/LinkProcess.h:61:22: error: template argument 1 is invalid
   61 |   Vector<ConstPtr<Lpd> > activeLpds_;
      |                      ^
/usr/include/OpenSP/LinkProcess.h:61:24: error: template argument 1 is invalid
   61 |   Vector<ConstPtr<Lpd> > activeLpds_;
      |                        ^
/usr/include/OpenSP/LinkProcess.h:62:31: error: template argument 1 is invalid
   62 |   Vector<const AttributeList *> linkAttributes_;
      |                               ^
/usr/include/OpenSP/LinkProcess.h: In member function ‘const StringC& LinkProcess::name() const’:
/usr/include/OpenSP/LinkProcess.h:68:14: error: base operand of ‘->’ is not a pointer
   68 |   return lpd_->name();
      |              ^~
/usr/include/OpenSP/LinkProcess.h: In member function ‘Boolean LinkProcess::isExplicit() const’:
/usr/include/OpenSP/LinkProcess.h:74:14: error: base operand of ‘->’ is not a pointer
   74 |   return lpd_->type() == Lpd::explicitLink;
      |              ^~
/usr/include/OpenSP/LinkProcess.h:74:26: error: ‘Lpd’ has not been declared
   74 |   return lpd_->type() == Lpd::explicitLink;
      |                          ^~~
In file included from /usr/include/OpenSP/LiteralStorage.h:10,
                 from /tmp/UEn0V_TxoO/dump1.h:71:
/usr/include/OpenSP/StorageManager.h: At global scope:
/usr/include/OpenSP/StorageManager.h:28:51: error: ‘Messenger’ is not a type
   28 |   virtual Boolean read(char *buf, size_t bufSize, Messenger &,
      |                                                   ^~~~~~~~~
/usr/include/OpenSP/StorageManager.h:30:26: error: ‘Messenger’ is not a type
   30 |   virtual Boolean rewind(Messenger &) = 0;
      |                          ^~~~~~~~~
/usr/include/OpenSP/StorageManager.h:45:44: error: ‘Messenger’ is not a type
   45 |                                            Messenger &mgr,
      |                                            ^~~~~~~~~
/usr/include/OpenSP/StorageManager.h:49:61: error: ‘Messenger’ is not a type
   49 |   virtual Boolean transformNeutral(StringC &, Boolean fold, Messenger &) const;
      |                                                             ^~~~~~~~~
/usr/include/OpenSP/StorageManager.h:60:52: error: ‘CharsetInfo’ does not name a type
   60 |   virtual Boolean guessIsId(const StringC &, const CharsetInfo &) const;
      |                                                    ^~~~~~~~~~~
/usr/include/OpenSP/StorageManager.h:61:17: error: ‘InputCodingSystem’ does not name a type; did you mean ‘IdentityCodingSystem’?
   61 |   virtual const InputCodingSystem *requiredCodingSystem() const;
      |                 ^~~~~~~~~~~~~~~~~
      |                 IdentityCodingSystem
/usr/include/OpenSP/StorageManager.h:64:17: error: ‘CharsetInfo’ does not name a type
   64 |   virtual const CharsetInfo *idCharset() const;
      |                 ^~~~~~~~~~~
/usr/include/OpenSP/StorageManager.h:73:26: error: ‘CharsetInfo’ does not name a type
   73 |   IdStorageManager(const CharsetInfo *idCharset);
      |                          ^~~~~~~~~~~
/usr/include/OpenSP/StorageManager.h:74:9: error: ‘CharsetInfo’ does not name a type
   74 |   const CharsetInfo *idCharset() const;
      |         ^~~~~~~~~~~
/usr/include/OpenSP/StorageManager.h:82:9: error: ‘CharsetInfo’ does not name a type
   82 |   const CharsetInfo *idCharset_;
      |         ^~~~~~~~~~~
/usr/include/OpenSP/LiteralStorage.h:23:36: error: ‘Messenger’ is not a type
   23 |                                    Messenger &,
      |                                    ^~~~~~~~~
/usr/include/OpenSP/LiteralStorage.h:25:9: error: ‘InputCodingSystem’ does not name a type; did you mean ‘IdentityCodingSystem’?
   25 |   const InputCodingSystem *requiredCodingSystem() const;
      |         ^~~~~~~~~~~~~~~~~
      |         IdentityCodingSystem
In file included from /tmp/UEn0V_TxoO/dump1.h:78:
/usr/include/OpenSP/MessageEventHandler.h:17:66: error: expected class-name before ‘{’ token
   17 | class SP_API MessageEventHandler : public ErrorCountEventHandler {
      |                                                                  ^
/usr/include/OpenSP/MessageEventHandler.h:20:32: error: expected ‘)’ before ‘*’ token
   20 |   MessageEventHandler(Messenger *messenger, const SgmlParser *parser = 0);
      |                      ~         ^~
      |                                )
/usr/include/OpenSP/MessageEventHandler.h:21:16: error: ‘MessageEvent’ has not been declared
   21 |   void message(MessageEvent *);
      |                ^~~~~~~~~~~~
/usr/include/OpenSP/MessageEventHandler.h:23:3: error: ‘Messenger’ does not name a type
   23 |   Messenger *messenger() const;
      |   ^~~~~~~~~
/usr/include/OpenSP/MessageEventHandler.h:25:3: error: ‘Messenger’ does not name a type
   25 |   Messenger *messenger_;
      |   ^~~~~~~~~
/usr/include/OpenSP/MessageEventHandler.h:26:9: error: ‘SgmlParser’ does not name a type; did you mean ‘Parser’?
   26 |   const SgmlParser *parser_;
      |         ^~~~~~~~~~
      |         Parser
/usr/include/OpenSP/MessageEventHandler.h:30:1: error: ‘Messenger’ does not name a type
   30 | Messenger *MessageEventHandler::messenger() const
      | ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:82:
/usr/include/OpenSP/MessageTable.h:25:33: error: ‘MessageFragment’ does not name a type
   25 |   virtual Boolean getText(const MessageFragment &,
      |                                 ^~~~~~~~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:90:
/usr/include/OpenSP/NotationStorage.h:24:36: error: ‘Messenger’ is not a type
   24 |                                    Messenger &,
      |                                    ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:97:
/usr/include/OpenSP/ParserApp.h:21:43: error: expected class-name before ‘{’ token
   21 | class SP_API ParserApp : public EntityApp {
      |                                           ^
/usr/include/OpenSP/ParserApp.h:24:22: error: ‘AppChar’ has not been declared
   24 |   void processOption(AppChar opt, const AppChar *arg);
      |                      ^~~~~~~
/usr/include/OpenSP/ParserApp.h:24:41: error: ‘AppChar’ does not name a type; did you mean ‘Char’?
   24 |   void processOption(AppChar opt, const AppChar *arg);
      |                                         ^~~~~~~
      |                                         Char
/usr/include/OpenSP/ParserApp.h:26:11: error: ‘ErrorCountEventHandler’ does not name a type
   26 |   virtual ErrorCountEventHandler *makeEventHandler() = 0;
      |           ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ParserApp.h:27:31: error: ‘AppChar’ does not name a type; did you mean ‘Char’?
   27 |   Boolean enableWarning(const AppChar *s);
      |                               ^~~~~~~
      |                               Char
/usr/include/OpenSP/ParserApp.h:29:3: error: ‘SgmlParser’ does not name a type; did you mean ‘Parser’?
   29 |   SgmlParser &parser();
      |   ^~~~~~~~~~
      |   Parser
/usr/include/OpenSP/ParserApp.h:31:17: error: ‘SgmlParser’ is not a type
   31 |   void parseAll(SgmlParser &, EventHandler &,
      |                 ^~~~~~~~~~
/usr/include/OpenSP/ParserApp.h:31:31: error: ‘EventHandler’ is not a type
   31 |   void parseAll(SgmlParser &, EventHandler &,
      |                               ^~~~~~~~~~~~
/usr/include/OpenSP/ParserApp.h:35:30: error: ‘ErrorCountEventHandler’ has not been declared
   35 |   virtual int generateEvents(ErrorCountEventHandler *);
      |                              ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/ParserApp.h:37:3: error: ‘SgmlParser’ does not name a type; did you mean ‘Parser’?
   37 |   SgmlParser parser_;
      |   ^~~~~~~~~~
      |   Parser
/usr/include/OpenSP/ParserApp.h:40:25: error: template argument 1 is invalid
   40 |   Vector<const AppChar *> activeLinkTypes_;
      |                         ^
/usr/include/OpenSP/ParserApp.h:44:1: error: ‘SgmlParser’ does not name a type; did you mean ‘Parser’?
   44 | SgmlParser &ParserApp::parser()
      | ^~~~~~~~~~
      | Parser
In file included from /tmp/UEn0V_TxoO/dump1.h:101:
/usr/include/OpenSP/PosixStorage.h:29:29: error: ‘CharsetInfo’ does not name a type
   29 |                       const CharsetInfo *filenameCharset,
      |                             ^~~~~~~~~~~
/usr/include/OpenSP/PosixStorage.h:31:29: error: ‘OutputCodingSystem’ does not name a type; did you mean ‘Fixed4CodingSystem’?
   31 |                       const OutputCodingSystem *filenameCodingSystem,
      |                             ^~~~~~~~~~~~~~~~~~
      |                             Fixed4CodingSystem
/usr/include/OpenSP/PosixStorage.h:39:36: error: ‘Messenger’ is not a type
   39 |                                    Messenger &,
      |                                    ^~~~~~~~~
/usr/include/OpenSP/PosixStorage.h:45:53: error: ‘Messenger’ is not a type
   45 |   Boolean transformNeutral(StringC &, Boolean fold, Messenger &) const;
      |                                                     ^~~~~~~~~
/usr/include/OpenSP/PosixStorage.h:53:3: error: ‘DescriptorManager’ does not name a type
   53 |   DescriptorManager descriptorManager_;
      |   ^~~~~~~~~~~~~~~~~
/usr/include/OpenSP/PosixStorage.h:56:9: error: ‘OutputCodingSystem’ does not name a type; did you mean ‘Fixed4CodingSystem’?
   56 |   const OutputCodingSystem *filenameCodingSystem_;
      |         ^~~~~~~~~~~~~~~~~~
      |         Fixed4CodingSystem
/usr/include/OpenSP/PosixStorage.h:65:31: error: ‘CharsetInfo’ does not name a type
   65 |                         const CharsetInfo *filenameCharset);
      |                               ^~~~~~~~~~~
/usr/include/OpenSP/PosixStorage.h:70:36: error: ‘Messenger’ is not a type
   70 |                                    Messenger &mgr,
      |                                    ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:105:
/usr/include/OpenSP/RewindStorageObject.h:22:18: error: ‘Messenger’ is not a type
   22 |   Boolean rewind(Messenger &);
      |                  ^~~~~~~~~
/usr/include/OpenSP/RewindStorageObject.h:25:31: error: ‘Messenger’ is not a type
   25 |   virtual Boolean seekToStart(Messenger &) = 0;
      |                               ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:107:
/usr/include/OpenSP/SJISCodingSystem.h:13:53: error: expected class-name before ‘{’ token
   13 | class SP_API SJISCodingSystem : public CodingSystem {
      |                                                     ^
/usr/include/OpenSP/SJISCodingSystem.h:15:3: error: ‘Decoder’ does not name a type
   15 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/SJISCodingSystem.h:16:3: error: ‘Encoder’ does not name a type
   16 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:108:
/usr/include/OpenSP/SOEntityCatalog.h:17:40: error: ‘ExtendEntityManager’ has not been declared
   17 | class SP_API SOCatalogManager : public ExtendEntityManager::CatalogManager {
      |                                        ^~~~~~~~~~~~~~~~~~~
/usr/include/OpenSP/SOEntityCatalog.h:17:61: error: expected ‘{’ before ‘CatalogManager’
   17 | class SP_API SOCatalogManager : public ExtendEntityManager::CatalogManager {
      |                                                             ^~~~~~~~~~~~~~
/usr/include/OpenSP/SOEntityCatalog.h:18:1: error: expected primary-expression before ‘public’
   18 | public:
      | ^~~~~~
/usr/include/OpenSP/SOEntityCatalog.h:18:1: error: expected ‘}’ before ‘public’
/usr/include/OpenSP/SOEntityCatalog.h:17:76: note: to match this ‘{’
   17 | class SP_API SOCatalogManager : public ExtendEntityManager::CatalogManager {
      |                                                                            ^
/usr/include/OpenSP/SOEntityCatalog.h:25:1: error: expected declaration before ‘}’ token
   25 | };
      | ^
In file included from /tmp/UEn0V_TxoO/dump1.h:111:
/usr/include/OpenSP/SearchResultMessageArg.h:21:46: error: invalid use of incomplete type ‘class OtherMessageArg’
   21 | class SP_API SearchResultMessageArg : public OtherMessageArg {
      |                                              ^~~~~~~~~~~~~~~
/usr/include/OpenSP/MessageBuilder.h:14:7: note: forward declaration of ‘class OtherMessageArg’
   14 | class OtherMessageArg;
      |       ^~~~~~~~~~~~~~~
/usr/include/OpenSP/rtti.h:25:11: error: ‘TypeId’ does not name a type; did you mean ‘Type’?
   25 |   virtual TypeId dynamicType() const; \
      |           ^~~~~~
/usr/include/OpenSP/SearchResultMessageArg.h:22:3: note: in expansion of macro ‘RTTI_CLASS’
   22 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/rtti.h:26:17: error: ‘TypeId’ does not name a type; did you mean ‘Type’?
   26 |   static inline TypeId staticType() { return TypeId(RTTI_bases_); } \
      |                 ^~~~~~
/usr/include/OpenSP/SearchResultMessageArg.h:22:3: note: in expansion of macro ‘RTTI_CLASS’
   22 |   RTTI_CLASS
      |   ^~~~~~~~~~
/usr/include/OpenSP/SearchResultMessageArg.h:26:3: error: ‘MessageArg’ does not name a type; did you mean ‘MessageTable’?
   26 |   MessageArg *copy() const;
      |   ^~~~~~~~~~
      |   MessageTable
In file included from /tmp/UEn0V_TxoO/dump1.h:114:
/usr/include/OpenSP/StdioStorage.h:27:29: error: ‘CharsetInfo’ does not name a type
   27 |                       const CharsetInfo *filenameCharset,
      |                             ^~~~~~~~~~~
/usr/include/OpenSP/StdioStorage.h:28:29: error: ‘OutputCodingSystem’ does not name a type; did you mean ‘SJISCodingSystem’?
   28 |                       const OutputCodingSystem *filenameCodingSystem);
      |                             ^~~~~~~~~~~~~~~~~~
      |                             SJISCodingSystem
/usr/include/OpenSP/StdioStorage.h:33:36: error: ‘Messenger’ is not a type
   33 |                                    Messenger &,
      |                                    ^~~~~~~~~
/usr/include/OpenSP/StdioStorage.h:39:9: error: ‘OutputCodingSystem’ does not name a type; did you mean ‘SJISCodingSystem’?
   39 |   const OutputCodingSystem *filenameCodingSystem_;
      |         ^~~~~~~~~~~~~~~~~~
      |         SJISCodingSystem
In file included from /tmp/UEn0V_TxoO/dump1.h:122:
/usr/include/OpenSP/TranslateCodingSystem.h:17:58: error: expected class-name before ‘{’ token
   17 | class SP_API TranslateCodingSystem : public CodingSystem {
      |                                                          ^
/usr/include/OpenSP/TranslateCodingSystem.h:20:5: error: ‘CharsetRegistry’ does not name a type
   20 |     CharsetRegistry::ISORegistrationNumber number;
      |     ^~~~~~~~~~~~~~~
/usr/include/OpenSP/TranslateCodingSystem.h:30:31: error: ‘CodingSystem’ does not name a type; did you mean ‘SJISCodingSystem’?
   30 |   TranslateCodingSystem(const CodingSystem *codingSystem,
      |                               ^~~~~~~~~~~~
      |                               SJISCodingSystem
/usr/include/OpenSP/TranslateCodingSystem.h:32:31: error: ‘CharsetInfo’ does not name a type
   32 |                         const CharsetInfo *charset,
      |                               ^~~~~~~~~~~
/usr/include/OpenSP/TranslateCodingSystem.h:35:3: error: ‘Decoder’ does not name a type
   35 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/TranslateCodingSystem.h:36:3: error: ‘Encoder’ does not name a type
   36 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/TranslateCodingSystem.h:41:9: error: ‘CodingSystem’ does not name a type; did you mean ‘SJISCodingSystem’?
   41 |   const CodingSystem *sub_;
      |         ^~~~~~~~~~~~
      |         SJISCodingSystem
/usr/include/OpenSP/TranslateCodingSystem.h:43:9: error: ‘CharsetInfo’ does not name a type
   43 |   const CharsetInfo *charset_;
      |         ^~~~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:124:
/usr/include/OpenSP/URLStorage.h:23:36: error: ‘Messenger’ is not a type
   23 |                                    Messenger &,
      |                                    ^~~~~~~~~
/usr/include/OpenSP/URLStorage.h:26:44: error: ‘CharsetInfo’ does not name a type
   26 |   Boolean guessIsId(const StringC &, const CharsetInfo &) const;
      |                                            ^~~~~~~~~~~
/usr/include/OpenSP/URLStorage.h:27:53: error: ‘Messenger’ is not a type
   27 |   Boolean transformNeutral(StringC &, Boolean fold, Messenger &) const;
      |                                                     ^~~~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:125:
/usr/include/OpenSP/UTF16CodingSystem.h:13:54: error: expected class-name before ‘{’ token
   13 | class SP_API UTF16CodingSystem : public CodingSystem {
      |                                                      ^
/usr/include/OpenSP/UTF16CodingSystem.h:15:3: error: ‘Decoder’ does not name a type
   15 |   Decoder *makeDecoder(Boolean) const;
      |   ^~~~~~~
/usr/include/OpenSP/UTF16CodingSystem.h:16:3: error: ‘Encoder’ does not name a type
   16 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:126:
/usr/include/OpenSP/UTF8CodingSystem.h:13:53: error: expected class-name before ‘{’ token
   13 | class SP_API UTF8CodingSystem : public CodingSystem {
      |                                                     ^
/usr/include/OpenSP/UTF8CodingSystem.h:15:3: error: ‘Decoder’ does not name a type
   15 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/UTF8CodingSystem.h:16:3: error: ‘Encoder’ does not name a type
   16 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
In file included from /tmp/UEn0V_TxoO/dump1.h:127:
/usr/include/OpenSP/UnicodeCodingSystem.h:13:56: error: expected class-name before ‘{’ token
   13 | class SP_API UnicodeCodingSystem : public CodingSystem {
      |                                                        ^
/usr/include/OpenSP/UnicodeCodingSystem.h:15:29: error: ‘InputCodingSystem’ does not name a type; did you mean ‘UTF8CodingSystem’?
   15 |   UnicodeCodingSystem(const InputCodingSystem *sub = 0);
      |                             ^~~~~~~~~~~~~~~~~
      |                             UTF8CodingSystem
/usr/include/OpenSP/UnicodeCodingSystem.h:16:3: error: ‘Decoder’ does not name a type
   16 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/UnicodeCodingSystem.h:17:3: error: ‘Encoder’ does not name a type
   17 |   Encoder *makeEncoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/UnicodeCodingSystem.h:19:9: error: ‘InputCodingSystem’ does not name a type; did you mean ‘UTF8CodingSystem’?
   19 |   const InputCodingSystem *sub_;
      |         ^~~~~~~~~~~~~~~~~
      |         UTF8CodingSystem
In file included from /tmp/UEn0V_TxoO/dump1.h:130:
/usr/include/OpenSP/XMLCodingSystem.h:15:52: error: expected class-name before ‘{’ token
   15 | class SP_API XMLCodingSystem : public CodingSystem {
      |                                                    ^
/usr/include/OpenSP/XMLCodingSystem.h:18:3: error: ‘Decoder’ does not name a type
   18 |   Decoder *makeDecoder() const;
      |   ^~~~~~~
/usr/include/OpenSP/XMLCodingSystem.h:19:3: error: ‘Encoder’ does not name a type
   19 |   Encoder *makeEncoder() const;
      |   ^~~~~~~

