[education/rkward] /: Get better symbol information on linux CI build

Thomas Friedrichsmeier null at kde.org
Sun Sep 21 20:45:24 BST 2025


Git commit f9e5ff5bc103c5d75a1570887f032ba4a002584c by Thomas Friedrichsmeier.
Committed on 21/09/2025 at 19:36.
Pushed by tfry into branch 'master'.

Get better symbol information on linux CI build

M  +6    -0    .gitlab-ci.yml
M  +3    -0    INSTALL
M  +3    -1    rkward/rbackend/CMakeLists.txt

https://invent.kde.org/education/rkward/-/commit/f9e5ff5bc103c5d75a1570887f032ba4a002584c

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index df753e198..41a9807e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,6 +15,12 @@ include:
       - /gitlab-templates/craft-macos-x86-64-qt6.yml
 #      - /gitlab-templates/flatpak.yml // just a waste of CPU power in the current state
 
+suse_tumbleweed_qt69:
+  script:
+    - git config --global --add safe.directory $CI_PROJECT_DIR
+    # no dlopen() loading, to get at better symobl information for the backend process from ASAN
+    - python3 -u ci-utilities/run-ci-build.py --project $CI_PROJECT_NAME --branch $CI_COMMIT_REF_NAME --platform Linux/Qt6/Shared --extra-cmake-args=-DDLOPEN_RLIB=0
+
 clang_format:
   stage: build
   image: debian:stable
diff --git a/INSTALL b/INSTALL
index 39fee11ca..fa927ef4f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -43,6 +43,9 @@ In some cases you may want to set the following options:
 -DUSE_BINARY_PACKAGES
 	Currently only interpreted on Mac OS: If RKWard should default to installing binary R packages (if available) use
 	-DUSE_BINARY_PACKAGE=1. Otherwise, RKWard will default to building R packages from source.
+-DDLOPEN_RLIB
+	By default, the backend code is loaded using dlopen() to avoid certain runtime conflicts, esp. in distributed AppImages. This, however, makes it hard to
+	get at proper debug symbol information. For debugging purposes it may thus be useful to set this to "0", explictly
 
 Further generic options are listed on http://www.cmake.org/Wiki/CMake_Useful_Variables .
 
diff --git a/rkward/rbackend/CMakeLists.txt b/rkward/rbackend/CMakeLists.txt
index 479617b39..1f4187d39 100644
--- a/rkward/rbackend/CMakeLists.txt
+++ b/rkward/rbackend/CMakeLists.txt
@@ -8,7 +8,9 @@ IF(NOT WIN32)
 	FIND_PACKAGE(Threads)
 ENDIF(NOT WIN32)
 
-SET(DLOPEN_RLIB 1) # TODO: Allow configuration
+IF(NOT DEFINED DLOPEN_RLIB)
+	SET(DLOPEN_RLIB 1)
+ENDIF()
 ADD_SUBDIRECTORY( rpackages )
 ADD_SUBDIRECTORY( rkwarddevice )
 



More information about the rkward-tracker mailing list