On Fri, Jan 10, 2020 at 7:57 PM Marnen Laibow-Koser <mar...@marnen.org> wrote:
> 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? > Please disregard. I had misspelled LTDL as LDTL. Grr. > > Best, > -- > Marnen Laibow-Koser > mar...@marnen.org > http://www.marnen.org > -- Marnen Laibow-Koser mar...@marnen.org http://www.marnen.org