The current -development- Lilypond (1.5.15) package distributed with Gentoo has problems with Python 2.2. It won't compile on my up-to-date 1.2 stable. This problem has been fixed in more recent versions. I recycled the (generic) 1.5.15 ebuild script to compile 1.5.66. It got almost through the compile process, but failed. I don't know enought I uploaded the output of #emerge lilypond to http://markvdb.be/lilyponderrors. This package is the basis for about al music notation on (GNU/)Linux. As a musician, I would be grateful if someone could give me a hint on how to get this thing compiled...
For me, lilypond emerge fails when compiling the parser file: rm -f ./out/musical-request.dep; DEPENDENCIES_OUTPUT="./out/musical-request.dep ./out/musical-request.o" c++ -c -DHAVE_CONFIG_H -DSTRING_UTILS_INLINED -Iinclude -I./out -I.././lib/include -I../lib/./out -I.././flower/include -I../flower/./out -I../flower/include -march=i686 -O3 -pipe -O2 -finline-functions -g -march=i686 -O3 -pipe -O2 -finline-functions -g -DSTRING_UTILS_INLINED -I/usr/include -Wall -W -Wmissing-prototypes -Wconversion -o out/musical-request.o musical-request.cc bison -d parser.yy parser.yy:1494: warning: previous rule lacks an ending `;' parser.yy contains 2 shift/reduce conflicts. mv parser.yy.tab.h out/parser.hh mv: cannot stat `parser.yy.tab.h': No such file or directory make[1]: *** [out/parser.hh] Error 1 make[1]: Leaving directory `/var/tmp/portage/lilypond-1.5.15/work/lilypond-1.5.15/lily' make: *** [all] Error 2
Well, I am no musician Mark, but I had the same problem...:'-( but then I found...1.6.0 :-D ! Made a new ebuild to consider my 'special 3.x needs'... This aproach seems to get me quite far in the build, but then I start to get my 3.2 C++ errors again :'-( Can anyone test if it does work on 2.95 ? Rigo
Created attachment 3234 [details] output.lilypond-1.6.0 (GCC 3.2 issue)
Created attachment 3235 [details] lilypond-1.6.0.ebuild
Sorry 4 the delay....bugs.gentoo.org went down ? ;-/
I have a 1.2 system with GCC 2.95.3. I got the same error as above with the 1.5.15 package. I tried the 1.6.0 ebuild, and it compile without a hitch but couldn't install, same with 1.6.1. Here is the install error message: >>> Install lilypond-1.6.1 into /var/tmp/portage/lilypond-1.6.1/image/ category media-sound /bin/sh /var/tmp/portage/lilypond-1.6.1/work/lilypond-1.6.1/stepmake/stepmake/../bin/install-sh -c -d /usr/share/lilypond/1.6.1 ACCESS DENIED mkdir: /usr/share/lilypond mkdir: cannot create directory `/usr/share/lilypond': Permission denied ACCESS DENIED mkdir: /usr/share/lilypond/1.6.1 mkdir: cannot create directory `/usr/share/lilypond/1.6.1': Permission denied make: [local-install-files] Error 1 (ignored) /bin/sh /var/tmp/portage/lilypond-1.6.1/work/lilypond-1.6.1/stepmake/stepmake/../bin/install-sh -c -m 644 ./config.make /usr/share/lilypond/1.6.1/ && /bin/sh /var/tmp/portage/lilypond-1.6.1/work/lilypond-1.6.1/stepmake/stepmake/../bin/install-sh -c -m 644 VERSION /usr/share/lilypond/1.6.1/ &&true ACCESS DENIED mkdir: /usr/share/lilypond mkdir: cannot create directory `/usr/share/lilypond': Permission denied ACCESS DENIED mkdir: /usr/share/lilypond/1.6.1 mkdir: cannot create directory `/usr/share/lilypond/1.6.1': Permission denied ACCESS DENIED open_wr: /usr/share/lilypond/1.6.1/#inst.17050# cp: cannot create regular file `/usr/share/lilypond/1.6.1/#inst.17050#': Permission denied make: *** [local-install-files] Error 1 !!! ERROR: The ebuild did not complete successfully. !!! Function src_install, Line 1, Exitcode 2 !!! (no error message) !!! emerge aborting on /usr/portage/media-sound/lilypond/lilypond-1.6.1.ebuild .
Created attachment 3692 [details] lilypond-1.6.1.ebuild It should install ok for 2.95 now (3.2 still fails :'-(
Created attachment 4254 [details] lilypond-1.7.0.ebuild Maybe this helps ? ps. You need the next (new) ebuild for guile too...I've read somewhere that this version isn't compatible with the current version of gnucash though...So it's what you prefer ;-)
Created attachment 4255 [details] guile-1.6.0.ebuild * dev-util/guile Latest version available: 1.6.0 Latest version installed: 1.6.0 Homepage: http://www.gnu.org/software/guile/ Description: Guile is an interpreter for Scheme Needed by lilypond-1.7.0.ebuild...Have no testing-experience yet, so use at your own 'risk' ;-p
I found this on the homepage: # Flex (version 2.5.4a or newer). Check out the Flex webpage. WARNING: plain Flex 2.5.4(a) generates invalid C++ code. GCC 3.x chokes on this. If you wish to use GCC 3.x, make sure that your distribution supports g++ 3.x and flex. For workarounds, see lexer-gcc-3.0.patch and lexer-gcc-3.1.sh in the source directory. Exact link here: http://lilypond.org/stable/Documentation/topdocs/out-www/INSTALL.html#TOC7 This is what i have on my system (1.4): gentoo root # flex --version flex version 2.5.4
1.7.x is the current development series. 1.6.x is the current stable series and is quite recent. 1.6.5 is the current stable release. In my opinion, we should ignore 1.7.x until it becomes 1.8 (or maybe provide masked 1.7.x ebuilds in addition to unmasked 1.6.x ebuilds?).
Johan - The workaround you bring up has already been included in Rigo's 1.6.x ebuilds. Unfortunately, there are still problems with gcc 3.2.
Created attachment 4411 [details] lilypond-1.6.5.ebuild This is based on The 1.6.1 ebuild above. Changes: - updated to current stable release 1.6.5 - generalized ${MY_PV} - separated DEPEND and RDEPEND (I know this doesn't do anything now, but someday. . .) - added web documentation build with "use doc" - fixed some sandbox problems in src_install - updated the dodoc stuff - automatically runs clean-fonts script Bugs: - doc build doesn't quite work yet, but it is close - still doesn't build with gcc 3.2
Created attachment 4863 [details] new 1.6.5 ebuild compiles with gcc-3.2 The problems with lilypond and gcc3 have really been flex issues. I got 1.6.5 to compile with flex 2.5.22 (development version) over the weekend, and then noticed that the new flex-2.5.4a-r5 ebuild includes gcc3 fixes backported (thanks to Red Hat) to the last official release (2.5.4a). I tried it with gcc-3.2, and it worked. I've also tested this ebuild with gcc-2.95.3, but I have not tested it with gcc-3.0/3.1. Still working on the web doc build. . .
Created attachment 4905 [details] lilypond-1.6.6.ebuild version bump I also removed my gcc-3.2/flex-2.5.22 workaround as it turned out to be unnecessary with flex-2.5.4a-r5. If anyone gets a chance to test this with gcc-3.0 or 3.1, that would be great. It may turn out that the 3.1 workaround is also unnecessary now.
Mike, Nice work on the ebuild. I've made a couple minor additions and I'm testing now on gcc-3.2.1-r5 with flex-2.5.23. I plan to try a couple other combinations including gcc-3.2-r4 with flex-2.5.4a-r5 (1.4 "stable") and gcc-2.95.3-r7 with flex-2.5.4a-r5 (1.2 "stable"). Following that I'll commit the 1.6.6 ebuild. Thanks for your patience. Aron
I've tested with the various versions of flex, also with gcc-2.95.3 and gcc-3.2.1. The ebuild seems to work in all cases now. I haven't tested gcc-3.[01] but hopefully it won't matter since neither stream of Gentoo (1.2 or 1.4) is using those versions. Though it would be nice to verify. :-) Committed as lilypond-1.6.6.ebuild Thanks, Aron