Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
Anonymous's avatar
Anonymous
9 years ago

GearVR export fails with Online Subsystem Oculus plugin enabled

I finally got around to testing some of the Online Subsystem features offered by the Oculus platform but I'm able to get an export to build with that plugin enabled using 4.15 from the Oculus github branch: https://github.com/Oculus-VR/UnrealEngine

Here's the error in the log:

UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: [1/3] clang++.exe Module.OnlineSubsystemOculus.cpp [armv7-es2]
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: In file included from U:/UnrealEngine/GitHub/UnrealEngine-4.15-oculus/Engine/Plugins/Online/OnlineSubsystemOculus/Intermediate/Build/Android/GC/Development/OnlineSubsystemOculus/Module.OnlineSubsystemOculus.cpp:14:
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(343,9) : warning: declaration shadows a local variable [-Wshadow]
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: auto Session = GetNamedSession(SessionName);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(315,7) : note: previous declaration is here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: auto Session = GetNamedSession(SessionName);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(389,45) : error: use of undeclared identifier '_strdup'; did you mean 'strdup'?
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: DataStore.Add(ovrKeyValuePair_makeString(_strdup(Key.c_str()), _strdup(Value.c_str())));
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^~~~~~~
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: strdup
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:/NVPACK/android-ndk-r12b/platforms/android-19/arch-arm/usr/include\string.h(59,15) : note: 'strdup' declared here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: extern char* strdup(const char *);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: In file included from U:/UnrealEngine/GitHub/UnrealEngine-4.15-oculus/Engine/Plugins/Online/OnlineSubsystemOculus/Intermediate/Build/Android/GC/Development/OnlineSubsystemOculus/Module.OnlineSubsystemOculus.cpp:14:
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(389,67) : error: use of undeclared identifier '_strdup'; did you mean 'strdup'?
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: DataStore.Add(ovrKeyValuePair_makeString(_strdup(Key.c_str()), _strdup(Value.c_str())));
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^~~~~~~
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: strdup
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:/NVPACK/android-ndk-r12b/platforms/android-19/arch-arm/usr/include\string.h(59,15) : note: 'strdup' declared here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: extern char* strdup(const char *);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: In file included from U:/UnrealEngine/GitHub/UnrealEngine-4.15-oculus/Engine/Plugins/Online/OnlineSubsystemOculus/Intermediate/Build/Android/GC/Development/OnlineSubsystemOculus/Module.OnlineSubsystemOculus.cpp:14:
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(406,45) : error: use of undeclared identifier '_strdup'; did you mean 'strdup'?
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: DataStore.Add(ovrKeyValuePair_makeString(_strdup(Key.c_str()), ""));
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^~~~~~~
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: strdup
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:/NVPACK/android-ndk-r12b/platforms/android-19/arch-arm/usr/include\string.h(59,15) : note: 'strdup' declared here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: extern char* strdup(const char *);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: In file included from U:/UnrealEngine/GitHub/UnrealEngine-4.15-oculus/Engine/Plugins/Online/OnlineSubsystemOculus/Intermediate/Build/Android/GC/Development/OnlineSubsystemOculus/Module.OnlineSubsystemOculus.cpp:14:
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(433,9) : warning: declaration shadows a local variable [-Wshadow]
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: auto Session = GetNamedSession(SessionName);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(367,7) : note: previous declaration is here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: auto Session = GetNamedSession(SessionName);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OnlineSessionInterfaceOculus.cpp(1314,30) : error: no member named 'stoi' in namespace 'std'; did you mean 'atoi'?
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: int32 IntDataStoreValue = std::stoi(DataStoreValue);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^~~~~~~~~
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: atoi
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: U:/NVPACK/android-ndk-r12b/platforms/android-19/arch-arm/usr/include\stdlib.h(79,12) : note: 'atoi' declared here
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: extern int atoi(const char *);
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ^
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: 2 warnings and 4 errors generated.
UATHelper: Packaging (Android (ETC2)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: U:\UnrealEngine\GitHub\UnrealEngine-4.15-oculus\Engine\Plugins\Online\OnlineSubsystemOculus\Binaries\Android\GC-OnlineSubsystemOculus-armv7-es2.a

Any ideas what I'm doing wrong? Is this plugin now supported for gearvr?

4 Replies

Replies have been turned off for this discussion
  • Anonymous's avatar
    Anonymous
    Any idea here @imperativity ?
  • brian_jew's avatar
    brian_jew
    Expert Protege
    Hi,

    We noticed that the standard c++ string library broke android, and have since pushed a fix.  If you pull from github you should be able to export to GearVR again
  • motorsep's avatar
    motorsep
    Start Partner

    brian_jew said:

    Hi,

    We noticed that the standard c++ string library broke android, and have since pushed a fix.  If you pull from github you should be able to export to GearVR again


    I did that last night (got 4.15.2 unified release from Oculus github). Apparently it's totally incompatible with projects made in launcher version of UE4. Also incompatible for FMOD for 4.15.
  • Anonymous's avatar
    Anonymous

    brian_jew said:

    Hi,

    We noticed that the standard c++ string library broke android, and have since pushed a fix.  If you pull from github you should be able to export to GearVR again

    It works now thanks! :)