Commandlet Plugins won't run on Linux

I can’t seem to get Commandlets to run on Linux.

I think the issue is related to this bug, with the ICU Data directory not being discovered.

Here’s the bug report I posted on a sample commandlet plugin, with all the error messages.

Hey -

Are you adding the commandlet plugin to your project or to the editor? Based on the github page for the commandlet plugin, what do you get if you run GameName.exe -run=HelloWorld?

It’s added to the project, and it’s a C++ project. Give me one sec to run GameName -run=HelloWorld again. Looks like the PKGBUILD might not be installing all of the needed files for 4.16. (Just upgraded)

Ok, if I run ./GameName -run=HelloWorld, in 4.16 I’m receiving this error:

./ExmpleCommandlet: error while
loading shared libraries:
libopenvr_api.so: cannot open shared
object file: No such file or directory

This is what I got on 4.15

LogLinux:Error: appError called:
Assertion failed: Assertion failed:
HasFoundDataDirectory
[File:/opt/unreal-engine/Engine/Source/Runtime/Core/Private/Internationalization/ICUInternationalization.cpp]
[Line: 128] ICU data directory was not
discovered:
…/…/…/CommandletExample/Content/Internationalization
…/…/…/Engine/Content/Internationalization

Signal 11 caught. Malloc Size=131076
LargeMemoryPoolOffset=131092

If I run this on Windows with Path/To/UE4Editor.exe Path/To/Project.uproject -run=HelloWorld The demo runs perfectly fine.

Hey -

Sorry for the delayed response. When testing the Commandlet plugin on Linux, using the same format of Path/To/UE4Editor.exe Path/To/Project.uproject -run=HelloWorld in the terminal window allowed the command to run as on Windows. This was tested on a 4.16.1 build of the engine. If you get an error about files having been modified since precompiled header was built, please try running make UE4Editor ARGS=-clean followed by the HellowWorld line again.

Cheers