Packaging RuntimeMeshPlugin for Linux

I’m trying to use the RuntimeMeshComponent Plugin ( GitHub - TriAxis-Games/RealtimeMeshComponent: Unreal Engine 4 plugin component for rendering runtime generated content. ) in a project, and subsequently package it for Linux. I have my Cross-Compile toolchain and everything set up, but there seem to be some specific errors during packaging that I don’t know enough about to try and troubleshoot.

Not excited about having to throw out the plugin, as I spent the better part of a week integrating everything. :frowning:

Thanks for any help that can be mustered!

Pasting the majority of it below:

    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Engine/Classes\Kismet/BlueprintFunctionLibrary.h(27,18) :  error: 'UStrProperty' does not refer to a value
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 P_GET_PROPERTY(UStrProperty, Z_Param_AssetLongPathname);
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Core/Public/UObject/UObjectHierarchyFwd.h(32,10) :  note: declared here
    MainFrameActions: Packaging (Linux): UnrealBuildTool: class                           UStrProperty;

    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Engine/Classes\Kismet/BlueprintFunctionLibrary.h(27,32) :  error: use of undeclared identifier 'Z_Param_AssetLongPathname'
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 P_GET_PROPERTY(UStrProperty, Z_Param_AssetLongPathname);
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                              ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Engine/Classes\Kismet/BlueprintFunctionLibrary.h(28,3) :  error: use of undeclared identifier 'P_FINISH'
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 P_FINISH;
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Engine/Classes\Kismet/BlueprintFunctionLibrary.h(30,113) :  error: use of undeclared identifier 'Z_Param_AssetLongPathname'
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 *(FStringAssetReference*)Z_Param__Result = UBlueprintFunctionLibrary::Generic_MakeStringAssetReference(Stack, Z_Param_AssetLongPathname);

    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public/RuntimeMeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/MeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/PrimitiveComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: C:\Users\jhinman\Documents\UnrealEngine\4.12.5-release\Engine\Source\Runtime/InputCore/Classes/InputCoreTypes.h(80,8) :  error: explicit specialization of non-template struct 'TStructOpsTypeTraits'
    MainFrameActions: Packaging (Linux): UnrealBuildTool: struct TStructOpsTypeTraits<FKey> : public TStructOpsTypeTraitsBase
    MainFrameActions: Packaging (Linux): UnrealBuildTool:        ^                   ~~~~~~
    MainFrameActions: Packaging (Linux): UnrealBuildTool: C:\Users\jhinman\Documents\UnrealEngine\4.12.5-release\Engine\Source\Runtime/InputCore/Classes/InputCoreTypes.h(80,44) :  error: unknown class name 'TStructOpsTypeTraitsBase'; did you mean 'TStructOpsTypeTraits'?
    MainFrameActions: Packaging (Linux): UnrealBuildTool: struct TStructOpsTypeTraits<FKey> : public TStructOpsTypeTraitsBase
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                            ^~~~~~~~~~~~~~~~~~~~~~~~
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                            TStructOpsTypeTraits
    MainFrameActions: Packaging (Linux): UnrealBuildTool: C:\Users\jhinman\Documents\UnrealEngine\4.12.5-release\Engine\Source\Runtime/InputCore/Classes/InputCoreTypes.h(80,8) :  note: 'TStructOpsTypeTraits' declared here
    MainFrameActions: Packaging (Linux): UnrealBuildTool: struct TStructOpsTypeTraits<FKey> : public TStructOpsTypeTraitsBase
    MainFrameActions: Packaging (Linux): UnrealBuildTool:        ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: C:\Users\jhinman\Documents\UnrealEngine\4.12.5-release\Engine\Source\Runtime/InputCore/Classes/InputCoreTypes.h(80,44) :  error: base class has incomplete type
    MainFrameActions: Packaging (Linux): UnrealBuildTool: struct TStructOpsTypeTraits<FKey> : public TStructOpsTypeTraitsBase
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
    MainFrameActions: Packaging (Linux): UnrealBuildTool: C:\Users\jhinman\Documents\UnrealEngine\4.12.5-release\Engine\Source\Runtime/InputCore/Classes/InputCoreTypes.h(80,8) :  note: definition of 'TStructOpsTypeTraits' is not complete until the closing '}'
    MainFrameActions: Packaging (Linux): UnrealBuildTool: struct TStructOpsTypeTraits<FKey> : public TStructOpsTypeTraitsBase

    
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public/RuntimeMeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/MeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/PrimitiveComponent.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\PhysicsEngine/BodyInstance.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Public\CollisionQueryParams.h:7:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/EngineTypes.h:9:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/NetSerialization.h:11:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/CoreUObject/Public\CoreUObject.h:17:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,53) :  error: expected '(' for function-style cast or type construction
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 ~~~~~~~~~~~~~~~~~~~~^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,54) :  error: 'CPPSTRUCT' does not refer to a value
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                      ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(545,16) :  note: declared here
    MainFrameActions: Packaging (Linux): UnrealBuildTool: template<class CPPSTRUCT>
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,66) :  error: extra qualification on member 'WithNoInitConstructor' [-Werror,-Wextra-qualification]
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                  ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,1) :  error: 'inline' can only appear on functions
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool: ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Core/Public\Linux/LinuxPlatform.h(65,21) :  note: expanded from macro 'FORCEINLINE'
    MainFrameActions: Packaging (Linux): UnrealBuildTool: #define FORCEINLINE inline __attribute__ ((always_inline))                                                      /* Force code to be inline */


MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:6:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public/RuntimeMeshComponent.h:5:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/MeshComponent.h:5:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/PrimitiveComponent.h:6:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\PhysicsEngine/BodyInstance.h:6:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Public\CollisionQueryParams.h:7:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/EngineTypes.h:9:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/NetSerialization.h:11:
MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/CoreUObject/Public\CoreUObject.h:17:
MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,66) :  error: variable templates are a C++1y extension [-Werror,-Wc++1y-extensions]
MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                  ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,1) :  error: 'always_inline' attribute only applies to functions [-Werror,-Wignored-attributes]
MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
MainFrameActions: Packaging (Linux): UnrealBuildTool: ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Core/Public\Linux/LinuxPlatform.h(65,44) :  note: expanded from macro 'FORCEINLINE'
MainFrameActions: Packaging (Linux): UnrealBuildTool: #define FORCEINLINE inline __attribute__ ((always_inline))                                                      /* Force code to be inline */

    
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public/RuntimeMeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/MeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/PrimitiveComponent.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\PhysicsEngine/BodyInstance.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Public\CollisionQueryParams.h:7:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/EngineTypes.h:9:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/NetSerialization.h:11:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/CoreUObject/Public\CoreUObject.h:17:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,66) :  error: no member named 'WithNoInitConstructor' in the global namespace
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                ~~^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,87) :  error: expected ';' at end of declaration
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                                       ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                                       ;
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,87) :  error: expected unqualified-id
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(552,52) :  error: expected '>'
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                    ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(552,52) :  error: expected unqualified-id
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Engine/Classes\Kismet/BlueprintFunctionLibrary.h(30,113) :  error: use of undeclared identifier 'Z_Param_AssetLongPathname'
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                 *(FStringAssetReference*)Z_Param__Result = UBlueprintFunctionLibrary::Generic_MakeStringAssetReference(Stack, Z_Param_AssetLongPathname);

    
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public\RuntimeMeshLibrary.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from ../../../../Unreal Projects/Holocap_Project/Plugins/RuntimeMeshComponent_v1.2/Source/Public/RuntimeMeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/MeshComponent.h:5:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Components/PrimitiveComponent.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\PhysicsEngine/BodyInstance.h:6:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Public\CollisionQueryParams.h:7:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/EngineTypes.h:9:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/Engine/Classes\Engine/NetSerialization.h:11:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: In file included from Runtime/CoreUObject/Public\CoreUObject.h:17:
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,53) :  error: expected '(' for function-style cast or type construction
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 ~~~~~~~~~~~~~~~~~~~~^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,54) :  error: 'CPPSTRUCT' does not refer to a value
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                      ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(545,16) :  note: declared here
    MainFrameActions: Packaging (Linux): UnrealBuildTool: template<class CPPSTRUCT>
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,66) :  error: extra qualification on member 'WithNoInitConstructor' [-Werror,-Wextra-qualification]
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                                  ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/CoreUObject/Public/UObject\Class.h(546,1) :  error: 'inline' can only appear on functions
    MainFrameActions: Packaging (Linux): UnrealBuildTool: FORCEINLINE typename TEnableIf<!TStructOpsTypeTraits<CPPSTRUCT>::WithNoInitConstructor>::Type ConstructWithNoInitOrNot(void *Data)
    MainFrameActions: Packaging (Linux): UnrealBuildTool: ^
    MainFrameActions: Packaging (Linux): UnrealBuildTool: Runtime/Core/Public\Linux/LinuxPlatform.h(65,21) :  note: expanded from macro 'FORCEINLINE'
    MainFrameActions: Packaging (Linux): UnrealBuildTool: #define FORCEINLINE inline __attribute__ ((always_inline))                                                      /* Force code to be inline */

And when trying to compile Shipping → Linux in VS2015, here’s a nicer view of the errors ( http://i.imgur.com/PPbZHB9.png ):

Fixed by removing

#include "Components/MeshComponent.h"

From RuntimeMeshComponent.h

and

#include "Kismet/BlueprintFunctionLibrary.h"

from RuntimeMeshLibrary.h