> From: Martin Tarenskeen > Date: Fri, 22 Feb 2013 12:40:58 +0100 (CET) > > <snip> > ERROR: In procedure primitive-load-path: > ERROR: Unable to find file "lily.scm" in load path
The clue to this is in a later posting from Robert Eckl. lilypond-book is using a construct os.path.abspath(os.path.dirname(sys.argv[0])) to locate itself and then to find the lilypond share directory from there. On my system (now fedora 19) /bin is a symbolic link to /usr/bin, but there is no equivalent link for /share. /bin is (rightly from the old days of Unix Edition 6) before /usr/bin in my PATH. This leads to an invalid name for lily.scm. I think the right thing to do will be to add os.path.realpath to expand any symbolic links giving the following patch:- *** lilypond-book.orig 2013-07-26 22:29:10.369168798 +0100 --- lilypond-book 2013-07-26 22:28:30.423492984 +0100 *************** *** 71,77 **** sys.path.insert (0, os.path.join (d, 'python')) # dynamic relocation, for GUB binaries. ! bindir = os.path.abspath (os.path.dirname (sys.argv[0])) for p in ['share', 'lib']: datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p) sys.path.insert (0, datadir) --- 71,77 ---- sys.path.insert (0, os.path.join (d, 'python')) # dynamic relocation, for GUB binaries. ! bindir = os.path.abspath (os.path.dirname (os.path.realpath (sys.argv[0]))) for p in ['share', 'lib']: datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p) sys.path.insert (0, datadir) There appear to be similar issues in other places as well:- /usr/bin/abc2ly:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/convert-ly:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/etf2ly:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/lilymidi:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/lilypond-book:bindir = os.path.abspath (os.path.dirname (os.path.realpath (sys.argv[0]))) /usr/bin/lilysong:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/midi2ly:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) /usr/bin/musicxml2ly:bindir = os.path.abspath (os.path.dirname (sys.argv[0])) Can this be turned into a bug suggestion, please? Chris Ritson _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond