On Fri, Jan 10, 2020 at 10:45 AM Marnen Laibow-Koser <mar...@marnen.org> wrote:
> > > On Fri, Jan 10, 2020 at 10:19 AM Jonas Hahnfeld <hah...@hahnjo.de> wrote: > >> Am Freitag, den 10.01.2020, 09:04 -0500 schrieb Marnen Laibow-Koser: >> > On Fri, Jan 10, 2020 at 2:29 AM Jonas Hahnfeld <hah...@hahnjo.de> >> wrote: > > [...] > >> > > From my experiments, this is where LilyPond's relocation kicks in. I >> > > think you have to provide .reloc files in etc/relocation, that's also >> > > what GUB does. >> > >> > Yup, I copied those over from the GUB-built bundle. I'm not quite sure >> how they work, but it looks like the LilyPond executable looks for them on >> startup, right? >> >> Yes, I think that's in lily/relocate.cc. > > > Right. I’ve been trying to understand what goes on in there. > > >> >> > Unfortunately, I don't quite see how to set the right path in those: an >> .app bundle is movable, and while the Mac OS path resolver has a special >> notation (@executable_path) for the path of the executable within that >> bundle, it doesn't seem to put it into an environment variable in any >> useful way. I tried @executable_path in those pathnames, but it didn't >> *seem* to work; OTOH, it changed enough behavior that further research may >> be worth while. >> >> LilyPond sets INSTALLER_PREFIX to the directory where bin/, lib/, >> share/ etc are. This worked quite well in my experiments, with the >> files I provided. > > > Oh, that variable is set by LilyPond? Awesome; that will make my life > easier. > > I’m not sure it’s all working properly, though. It seems like relocate is > setting the Guile library path correctly, and I’ve also set > LTDL_LIBRARY_PATH, but it’s still not finding ice-9/boot.scm, even though > it’s in the appropriate directory. > I was wrong about ice-9 being the issue; that seems to have been fixed with GUILE_LOAD_PATH and/or LDTL_LIBRARY_PATH. However, while the load path is being set properly, load-extension in Guile is looking for dylibs in the wrong place (specifically, in LilyPond.app/Contents/Resources/var, as well as a couple of related paths and some /usr/lib-type directories). I can't figure out how to change that setting, and Guile's docs are not very clear on how to set the extensiondir. Any ideas before I just give up and put the libraries in var? Best, -- Marnen Laibow-Koser mar...@marnen.org http://www.marnen.org