Bug 4682 - lilypond ebuild won't compile
Bug#: 4682 Product:  Gentoo Linux Version: 1.2 Platform: x86
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: agriffis@gentoo.org Reported By: mark@markvdb.be
Component: Applications
URL:  http://markvdb.be/lilyponderrors
Summary: lilypond ebuild won't compile
Keywords:  
Status Whiteboard: 
Opened: 2002-07-08 05:05 0000
Description:   Opened: 2002-07-08 05:05 0000
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...

------- Comment #1 From smandal@mit.edu 2002-08-06 01:59:08 0000 -------
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

------- Comment #2 From Rigo 2002-08-20 10:36:21 0000 -------
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

------- Comment #3 From Rigo 2002-08-20 13:09:13 0000 -------
Created an attachment (id=3234) [details]
output.lilypond-1.6.0 (GCC 3.2 issue)

------- Comment #4 From Rigo 2002-08-20 13:10:08 0000 -------
Created an attachment (id=3235) [details]
lilypond-1.6.0.ebuild

------- Comment #5 From Rigo 2002-08-20 13:10:46 0000 -------
Sorry 4 the delay....bugs.gentoo.org went down ? ;-/

------- Comment #6 From Matthew Wishek 2002-09-05 10:55:45 0000 -------
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 . 
 

------- Comment #7 From Rigo 2002-09-05 15:30:07 0000 -------
Created an attachment (id=3692) [details]
lilypond-1.6.1.ebuild

It should install ok for 2.95 now (3.2 still fails :'-(

------- Comment #8 From Rigo 2002-09-27 08:27:44 0000 -------
Created an attachment (id=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 ;-)

------- Comment #9 From Rigo 2002-09-27 08:29:40 0000 -------
Created an attachment (id=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

------- Comment #10 From Johan Arvidsson 2002-09-30 15:50:41 0000 -------
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

------- Comment #11 From Mike Ossmann 2002-10-04 11:24:50 0000 -------
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?). 

------- Comment #12 From Mike Ossmann 2002-10-04 12:33:05 0000 -------
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. 

------- Comment #13 From Mike Ossmann 2002-10-04 12:44:45 0000 -------
Created an attachment (id=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

------- Comment #14 From Mike Ossmann 2002-10-21 10:56:30 0000 -------
Created an attachment (id=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. . .

------- Comment #15 From Mike Ossmann 2002-10-22 13:30:25 0000 -------
Created an attachment (id=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.

------- Comment #16 From Aron Griffis (RETIRED) 2002-12-03 07:05:20 0000 -------
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

------- Comment #17 From Aron Griffis (RETIRED) 2002-12-03 11:16:27 0000 -------
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