Hi Felix Lechner,

Thanks for your response. Unfortunately, it does not work:


`LD_LIBRARY_PATH' is empty in my shell:

$ echo $LD_LIBRARY_PATH


scheme can't start up with LD_LIBRARY_PATH set:

$ LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH scheme
Segmentation fault (core dumped)

$ LD_LIBRARY_PATH='/usr/lib' scheme
Segmentation fault (core dumped)


`scheme' is the binary executable file of chez scheme.  Chez scheme built directly from source code (no guix) can startup with above command line.


Regards,

Pan


On 3/25/25 11:51 AM, Felix Lechner wrote:
Hi Xie Pan,

On Tue, Mar 25 2025, Pan Xie wrote:

*this* chez scheme can not load system shared library correctly:
I have never used Chez Scheme but suspect you have to set
LD_LIBRARY_PATH.  In Bash, it might look like something like this:

   $ LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH chez-scheme-executable

Guix refers to prerequisites by absolute paths into the store whenever
possible, including for shared libraries.  Installing prerequisites into
a profile, as you seem to have done, and then finding them in /usr/lib
is known as "propagating" a prerequisite.  It can be convenient, but
people generally consider it subobtimal, because it tends to restrict
the versions usable at the same time (although shared libraries employ a
lesser versioning scheme of their own).

I hope I was of help.  Please stick around for answers from more
competent contributors.

Kind regards
Felix


Reply via email to