[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