-
Notifications
You must be signed in to change notification settings - Fork 59
VSXU_PLUGIN_LOCATION #214
Comments
Signed-off-by: Christoph Willing <[email protected]>
@cwilling you can pass the VSXU_PLUGIN_LOCATION etc.. from CMake and generating vsx_platform.h from a vsx_platform.h.in . That should also cleanup some duplication and mismatch between cmakelists and the code there i think. That being said, It is because of headaches like this that we went the "We support only AppImages for linux" route. It was just simply way too much "useless work" to support so many petty differences between distros. |
Fixes Part 1 of vovoid#214 Signed-off-by: Christoph Willing <[email protected]>
As @saidinesh5 suggested, I made PR #216 which generates correct vsx_platform.h from vsx_platform.h.in (according to -DLIB_SUFFIX supplied to cmake). Along with PR #215, at least one of the petty differences between Linux distros is resolved :) |
Just amended #216 - initially generation of vsx_platform.h was conditional on IF (CMAKE_SYSTEM_NAME MATCHES "Linux") but of course all platforms need this file so that condition is now removed. |
vsx_platform.h has (line 69):
#define VSXU_PLUGIN_LOCATION vsx_string<>(get_exec_path().c_str()) + "/../lib/vsxu/plugins"
This may be OK for many linux distros; however some others have separate /usr/lib and /usr/lib64 directories. On such systems, this #define is wrong for 64bit machines leading to runtime inability to load any modules. I can patch locally but can't think of a neat way to programmatically adjust the location at build time.
There's a similar issue setting LD_LIBRARY_PATH in the
Exec
line in each of the .desktop files:They can easily be fixed by adding @LIB_SUFFIX@ as follows:
Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ @CMAKE_INSTALL_PREFIX@/bin/vsxu_server -f
Then the correct path will be set at build time (provided you give -DLIB_SUFFIX=64 to cmake).
I'll make a PR for setting the LD_LIBRARY_PATHs but I'm not sure on best course of action for setting VSXU_PLUGIN_LOCATION correctly in vsx_platform.h. Any ideas?
The text was updated successfully, but these errors were encountered: