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