-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
featureProduct featureProduct feature
Description
Background
It turns out we need to manipulate the "LD_LIBRARY_PATH" of the UDF client during the runtime. More specifically, we need to extend this environment variable coming from the database with specific values of the Script-Languages-Container, i.e. the path to the conda cuda-compat libraries.
As this is not possible in the UDF client itself (subsequent loading of shared libraries ignores the newly set environment variable), we need to implement a fast wrapper, similar to the slow wrapper bash scripts, but in C++.
Acceptance Criteria
- Implement a thin wrapper which get 's an aribrary list of environment variables to change from preprocessor variables (or maybe some form of template file). The wrapper should then extend the environment variables by prepending the values (using
::getenv()
and::setenv()
) - The thin wrapper should call the real
exaudfclient
binary then with the passed arguments, via::execve()
. - Extend Bazel configs to pass the environment variables easily from the Dockerfile of the
build_run
step. - Extend Bazel BUILD file to build the new fast wrapper and pass the new environment variable and pass the info about the real
exaudfclient
path - Use this new config in the
standard-Exasol-8-cuda-ml
flavor
Alternative
Manipulate /etc/ld.cache.so
. See comment below
Metadata
Metadata
Assignees
Labels
featureProduct featureProduct feature