Skip to content

Various Linux Build issues with UE 5.4 #72

@NuLL3rr0r

Description

@NuLL3rr0r

Describe the bug
When the plugin is enabled it just failed to compile

Files

0>------ Building 4 action(s) started ------
0>[1/4] Compile Module.RpmAvatarCreator.cpp
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:24:
0>PartnerAssetExtractor.cpp(57,16): Error  : redefinition of 'JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:24:
0>PartnerAssetExtractor.cpp(59,16): Error  : redefinition of 'JSON_FIELD_GENDER'
0>        const FString JSON_FIELD_GENDER = "gender";
0>                      ^
0>AvatarTemplateExtractor.cpp(14,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_GENDER = "gender";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:25:
0>PayloadExtractor.cpp(12,27): Error  : redefinition of 'GetReverseMapping'
0>        TMap<ValueType, KeyType> GetReverseMapping(const TMap<KeyType, ValueType>& InMap)
0>                                 ^
0>PartnerAssetExtractor.cpp(15,27): Reference  : previous definition is here
0>        TMap<ValueType, KeyType> GetReverseMapping(const TMap<KeyType, ValueType>& InMap)
0>                                 ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:25:
0>PayloadExtractor.cpp(27,65): Error  : no matching function for call to 'GetReverseMapping'
0>        const TMap<FString, EAvatarBodyType> STRING_TO_BODY_TYPE_MAP = GetReverseMapping(BODY_TYPE_TO_STRING_MAP);
0>                                                                       ^~~~~~~~~~~~~~~~~
0>PayloadExtractor.cpp(12,27): Reference  : candidate template ignored: substitution failure [with KeyType = EAvatarBodyType, ValueType = FString]
0>        TMap<ValueType, KeyType> GetReverseMapping(const TMap<KeyType, ValueType>& InMap)
0>                                 ^
0>PayloadExtractor.cpp(33,60): Error  : no matching function for call to 'GetReverseMapping'
0>        const TMap<FString, EAvatarGender> STRING_TO_GENDER_MAP = GetReverseMapping(GENDER_TO_STRING_MAP);
0>                                                                  ^~~~~~~~~~~~~~~~~
0>PayloadExtractor.cpp(12,27): Reference  : candidate template ignored: substitution failure [with KeyType = EAvatarGender, ValueType = FString]
0>        TMap<ValueType, KeyType> GetReverseMapping(const TMap<KeyType, ValueType>& InMap)
0>                                 ^
0>PayloadExtractor.cpp(84,16): Error  : redefinition of 'JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:25:
0>PayloadExtractor.cpp(86,16): Error  : redefinition of 'JSON_FIELD_GENDER'
0>        const FString JSON_FIELD_GENDER = "gender";
0>                      ^
0>AvatarTemplateExtractor.cpp(14,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_GENDER = "gender";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:26:
0>UserAvatarExtractor.cpp(12,16): Error  : redefinition of 'JSON_FIELD_PARTNER'
0>        const FString JSON_FIELD_PARTNER = "partner";
0>                      ^
0>PayloadExtractor.cpp(85,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_PARTNER = "partner";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:26:
0>UserAvatarExtractor.cpp(13,16): Error  : redefinition of 'JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : previous definition is here
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:27:
0>UserDataExtractor.cpp(21,43): Error  : reference to 'JSON_FIELD_ID' is ambiguous
0>        if (!DataObject || !DataObject->HasField(JSON_FIELD_ID) || !DataObject->HasField(JSON_FIELD_TOKEN))
0>                                                 ^
0>UserDataExtractor.cpp(14,22): Reference  : candidate found by name lookup is 'JSON_FIELD_ID'
0>static const FString JSON_FIELD_ID = "id";
0>                     ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : candidate found by name lookup is '(anonymous namespace)::JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:27:
0>UserDataExtractor.cpp(29,43): Error  : reference to 'JSON_FIELD_ID' is ambiguous
0>        UserData.Id = DataObject->GetStringField(JSON_FIELD_ID);
0>                                                 ^
0>UserDataExtractor.cpp(14,22): Reference  : candidate found by name lookup is 'JSON_FIELD_ID'
0>static const FString JSON_FIELD_ID = "id";
0>                     ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : candidate found by name lookup is '(anonymous namespace)::JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:27:
0>UserDataExtractor.cpp(61,45): Error  : reference to 'JSON_FIELD_NAME' is ambiguous
0>        UserData.Name = DataObject->GetStringField(JSON_FIELD_NAME);
0>                                                   ^
0>UserDataExtractor.cpp(13,22): Reference  : candidate found by name lookup is 'JSON_FIELD_NAME'
0>static const FString JSON_FIELD_NAME = "name";
0>                     ^
0>PartnerAssetExtractor.cpp(58,16): Reference  : candidate found by name lookup is '(anonymous namespace)::JSON_FIELD_NAME'
0>        const FString JSON_FIELD_NAME = "name";
0>                      ^
0>In file included from ../Plugins/Marketplace/ReadyPlayerMe/Intermediate/Build/Linux/x64/UnrealEditor/Development/RpmAvatarCreator/Module.RpmAvatarCreator.cpp:27:
0>UserDataExtractor.cpp(74,30): Error  : reference to 'JSON_FIELD_ID' is ambiguous
0>                DataObject->SetStringField(JSON_FIELD_ID, UserId);
0>                                           ^
0>UserDataExtractor.cpp(14,22): Reference  : candidate found by name lookup is 'JSON_FIELD_ID'
0>static const FString JSON_FIELD_ID = "id";
0>                     ^
0>AvatarTemplateExtractor.cpp(13,16): Reference  : candidate found by name lookup is '(anonymous namespace)::JSON_FIELD_ID'
0>        const FString JSON_FIELD_ID = "id";
0>                      ^
0>13 errors generated.
0>Total time in Parallel executor: 2.35 seconds
0>Total execution time: 4.00 seconds
  • Try to create a similar, but intellectual-property-free Unreal Engine example project or build that reproduces the bug in the same way (so any community member can have a look)
  • Otherwise, still create this issue and send the files (or a link to them) discretely via email

To Reproduce
Steps to reproduce the behavior:

  1. Enable the plugin on Linux
  2. Try to build from your IDE.
  3. See error

Expected behavior
It should be build as claimed on the Marketplace, Linux is a supported platform

Desktop (please complete the following information):

  • ReadyPlayerMe plugin version: 3.3.0
  • glTFRuntime plugin version
  • Unreal Engine version [e.g. UE5.1]: 5.4
  • Operating System [e.g. Windows, Mac, Linux ]: Linux
  • Platform: [e.g. Editor , Windows Build, iOS]: Linux

additionally (if significant for the bug):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions