[exim] Exim in Gramine: defining search path for loading dyn…

Top Page
Delete this message
Reply to this message
Author: Dengler, Gabriel
Date:  
To: exim-users
Subject: [exim] Exim in Gramine: defining search path for loading dynamic libraries
Hello everyone,

I wanted to run Exim in Gramine. Gramine is a software to support the
so-called Intel Software Guard Extension (SGX) which allows running
software in enclaves separated from the host environment (cmp.
https://gramineproject.io/).

I've already made some great progress and resolved a lot of issues with
Gramine that I documented here:
https://github.com/gramineproject/gramine/discussions/1013

Currently unsolved is a problem regarding the LD_LIBRARY_PATH: in
Gramine, you can define which libraries have to be loaded. A common
configuration is, e.g., "/lib:{{ arch_libdir }}:/usr{{ arch_libdir }}",
where "arch_libdir = /lib/x86_64-linux-gnu/". On the first startup, this
is correctly recognized. However, when Exim sends an e-mail, Exim
internally invokes the "exec" system call and somehow seems to overwrite
the LD_LIBRARY_PATH, since it now searches in the directory
"/usr/local/lib/" for libraries.

As a first workaround, you can also mount the necessary libraries in the
folder "/usr/local/lib/", however, this is no elegant solution.
Therefore I tried out to modify Exim, e.g. by adding this path to
"LOOKUP_LIBS" in the Local Makefile, but without success. I also noticed
this post:
https://www.exim.org/exim-html-4.66/doc/html/FAQ-html/FAQ_0.html#TOC32
So, this is my question: how could you adjust the load library path?

Best regards,
Gabriel