[education/rkward] rkward/rbackend: Fix on Suse
Thomas Friedrichsmeier
null at kde.org
Fri May 10 17:04:24 BST 2024
Git commit 8503c66e184297601ef813b597cec4f6eccefb9a by Thomas Friedrichsmeier.
Committed on 06/05/2024 at 15:07.
Pushed by tfry into branch 'master'.
Fix on Suse
M +3 -3 rkward/rbackend/rkrbackend_dlopen.cpp
https://invent.kde.org/education/rkward/-/commit/8503c66e184297601ef813b597cec4f6eccefb9a
diff --git a/rkward/rbackend/rkrbackend_dlopen.cpp b/rkward/rbackend/rkrbackend_dlopen.cpp
index 0ea11c5b5..7bc0adabc 100644
--- a/rkward/rbackend/rkrbackend_dlopen.cpp
+++ b/rkward/rbackend/rkrbackend_dlopen.cpp
@@ -15,7 +15,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
#endif
void *resolve_symb(void* dllinfo, const char* name) {
-#if defined(Q_OS_WIN)
+#ifdef Win32
retrun GetProcAddress(dllinfo, name);
#else
return dlsym(dllinfo, name);
@@ -29,8 +29,8 @@ int main(int argc, char *argv[]) {
auto r_dllinfo = LoadLibraryA("R.dll");
auto rkb_dllinfo = LoadLibraryA("rkward.rbackend.lib.dll");
#else
- auto r_dllinfo = dlopen("libR.so", RTLD_NOW | RTLD_LOCAL | RTLD_DEEPBIND);
- auto rkb_dllinfo = dlopen("librkward.rbackend.lib.so", RTLD_NOW | RTLD_LOCAL | RTLD_DEEPBIND);
+ auto r_dllinfo = dlopen("libR.so", RTLD_NOW | RTLD_LOCAL); // NOTE: RTLD_DEEPBIND causes undiagnosed runtime failure on Suse Tumbleweed around 05/24 (while it works, elsewhere)
+ auto rkb_dllinfo = dlopen("librkward.rbackend.lib.so", RTLD_NOW | RTLD_LOCAL);
#endif
int (*do_main) (int, char**, void*, void* (*)(void*, const char*));
do_main = (decltype(do_main)) resolve_symb(rkb_dllinfo, "do_main");
More information about the rkward-tracker
mailing list