Daemon
Daemon copied to clipboard
engine is looking for irt_core-x86_64.nexe nacl_helper_bootstrap and nacl_loader in libpath
I noticed that the engine build system is building irt_core-x86_64.nexe
, nacl_helper_bootstrap
and nacl_loader
in engine's build path, but the engine runtime is looking for them in libpath (i.e. the game's build path).
Basically, if you don't build the engine as a submodule (which is handy to not mess with it), you get this file layout:
Daemon/build/daemon
Daemon/build/nacl_loader
Daemon/build/nacl_helper_bootstrap
Daemon/build/irt_core-x86_64.nexe
Unvanquished/build/cgame-x86_64.nexe
Unvanquished/build/sgame-x86_64.nexe
But the game currently expects this layout to run properly:
Daemon/build/daemon
Unvanquished/build/nacl_loader
Unvanquished/build/nacl_helper_bootstrap
Unvanquished/build/irt_core-x86_64.nexe
Unvanquished/build/cgame-x86_64.nexe
Unvanquished/build/sgame-x86_64.nexe
Aren't engine things these nacl loader, helper and core nexe? Wouldn't makes more sense to have the engine looking for them in engine directory?
The issue does not occurs on default build scenario (engine as submodule) because the build directory is common, but it's a legit usage for an user to only build the engine (for example if he needs engine fixes only) to load a prebuilt vm, and in this case the user would have to copy the nacl/core nexe files from the engine build directory to the directory where he extracted the prebuilt vm (or the directory where the updater extracted the game). To me it looks better if the engine looks for those nacl loader, helper and core nexe in engine directory to not have to mess with game files.
Note that I don't know if the bug is having engine looking for irt_core-x86_64.nexe
, nacl_helper_bootstrap
and nacl_loader
in libpath or the buildchain writing irt_core-x86_64.nexe
, nacl_helper_bootstrap
and nacl_loader
in engine path.
There is a CMake option NACL_RUNTIME_PATH
which can be used as a workaround