Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 8280 - fix the media-sound/festival ebuild
Summary: fix the media-sound/festival ebuild
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Matt Keadle
URL:
Whiteboard:
Keywords:
: 4989 5402 8762 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-09-23 21:07 UTC by Paul Thompson
Modified: 2003-02-04 19:42 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-sound/festival-1.4.2-r1.ebuild modified ebuild (festival-1.4.2-r1.ebuild,6.26 KB, text/plain)
2002-09-23 21:08 UTC, Paul Thompson
Details
media-sound/festival-1.4.2-r1.ebuild cleaned (festival-1.4.2-r1.ebuild,6.21 KB, text/plain)
2002-09-24 20:16 UTC, Paul Thompson
Details
Another ebuild that attempts to fix gcc-3.2 compile problems (festival.tar,30.00 KB, text/plain)
2002-09-29 22:49 UTC, Paul Thompson
Details
festival-1.4.2-r2.ebuild (festival-1.4.2-r2.ebuild,6.72 KB, text/plain)
2002-10-17 04:35 UTC, Rigo
Details
festival-1.4.2.patch (festival-1.4.2.patch,8.52 KB, patch)
2002-10-23 03:15 UTC, Rigo
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Thompson 2002-09-23 21:07:30 UTC
The main problem with the ebuild was the lack of documentation installed;
the docs it tried to install, failed due to a slight error. I fixed that, added
the man pages, and also a nice batch of html docs.
I also changed a 'make' into an emake. (works on my smp box)
This ebuild sucked a tarball from gentoo land, which contained a few
one line patches, and a script full of ebuild commands. This is opaque and
hard to make simple changes to, so I turned the patches into a few
sed commands, and put the ebuild commands into the ebuild.
This patch tarball can now go away. (patches would be ok if they were
at least simply in the 'files' subdir of the ebuild, but it seems wrong
to me to source a script of ebuild commands installed via a patch.)
I also added a sample rc file, and some hopefully helpful post install
messages. Thanks for the intial ebuild.

Paul
Comment 1 Paul Thompson 2002-09-23 21:08:37 UTC
Created attachment 4119 [details]
media-sound/festival-1.4.2-r1.ebuild  modified ebuild
Comment 2 Paul Thompson 2002-09-24 20:16:53 UTC
Created attachment 4148 [details]
media-sound/festival-1.4.2-r1.ebuild  cleaned 

Previous attached ebuild had a test thing that didnt work (didnt hurt, but
didnt work) This removes it.
Comment 3 Matt Keadle 2002-09-24 20:50:04 UTC
Thanks for the new ebuild Paul! I've messed with it some here and it emerges
just fine, but when I try to access any of the non-default voices (ie. mbrola)
it breaks:

noc2 root # echo "hello" | festival --tts
sh: mbrola: command not found
Cannot open file /tmp/est_20732_00000.au as tokenstream
Wave load: can't open file "/tmp/est_20732_00000.au"
Cannot load wavefile: /tmp/est_20732_00000.au

I'll be looking at it more tonight, but it seems offhand that the mbrola binary
isn't getting installed:

noc2 root # whereis mbrola
mbrola:

Should be a simple matter to fix.
Comment 4 Matt Keadle 2002-09-24 20:53:29 UTC
Well, the fix is to 'emerge mbola' and stop being a silly man. So everything
looks good here so far.
Comment 5 Paul Thompson 2002-09-29 22:49:45 UTC
Created attachment 4308 [details]
Another ebuild that attempts to fix gcc-3.2 compile problems

cryst <cryst@golden.net> noted that the previous ebuilds did not build on his
gcc-3.2 system. Cryst forwarded a message from Alan W Black <awb@cs.cmu.edu>
with link to a fix. http://festvox.org/packed/random/est_gcc3.2.tar.gz

I converted that into a patch. The ebuild still failed in the 'testsuite' dir
of
speech_tools, but I chopped that out, as it is not required.

tested by me with gcc-2.95.3 and gcc-3.2 on a 1.2 gentoo profile
I have not yet heard from Cryst, who runs a 1.4 profile

attached tarball created like:
tar cf festival.tar media-sound/festival
Comment 6 Matt Keadle 2002-10-02 16:28:46 UTC
*** Bug 4989 has been marked as a duplicate of this bug. ***
Comment 7 Matt Keadle 2002-10-02 16:29:08 UTC
*** Bug 5402 has been marked as a duplicate of this bug. ***
Comment 8 Rigo 2002-10-03 02:09:49 UTC
Still cannot compile (Tried both builds):

gcc -O3 -Wall -o ch_track ch_track_main.o -L../lib -lestools -L../lib -lestbase
-L../lib -leststring -lncurses -ldl -lm -lstdc++
../lib/libestbase.a(vector_c_t.o): In function
`EST_TVector<char>::save(EST_String const&)':
vector_c_t.o(.gnu.linkonce.t._ZN11EST_TVectorIcE4saveERK10EST_String+0x1b0):
undefined reference to `std::__pad<char, std::char_traits<char>
>::_S_pad(std::ios_base&, char, char*, char const*, int, int, bool)'
collect2: ld gaf exit-status 1 terug
make[1]: *** [ch_lab] Fout 1
make[1]: *** Wachten op onafgeronde taken...
../lib/libestbase.a(vector_c_t.o): In function
`EST_TVector<char>::save(EST_String const&)':
vector_c_t.o(.gnu.linkonce.t._ZN11EST_TVectorIcE4saveERK10EST_String+0x1b0):
undefined reference to `std::__pad<char, std::char_traits<char>
>::_S_pad(std::ios_base&, char, char*, char const*, int, int, bool)'
collect2: ld gaf exit-status 1 terug
make[1]: *** [ch_track] Fout 1
make: *** [main] Fout 2

!!! ERROR: The ebuild did not complete successfully.
!!! Function src_compile, Line 61, Exitcode 2
!!! (no error message)

Comment 9 Paul Thompson 2002-10-03 02:52:54 UTC
Cryst also couldnt compile it under his 1.4 profile.
Unfortunately, since using gcc-3.2 under my 1.2 profiles works, I cant
debug this. Someone else needs to solve the problem, probably from upstream.

I have no plans to upgrade to 1.4, as it seems to be broken for many packages.
It is unfortunate that I havent been able to get any ebuilds thru for over
 a month due to it. In this sense, gentoo is in an awkward place; upgrading to
1.4 is too broken for me, and no one wants to deal with new ebuilds to improve
1.2. (I think they jumped the gun on gcc-3.2, but respect them for being agents
of change)

Waiting for the rest of the universe to catch up...

Paul
Comment 10 Matt Keadle 2002-10-03 12:11:33 UTC
Show me yours, I'll show you mine!

gcc  -fno-implicit-templates  -O3 -Wall -Wno-non-template-friend    -o
token_regression token_regression.o    -L../lib -lestools -L../lib -lestbase
-L../lib -leststring   -lncurses   -ldl  -lm  -lstdc++ 
../lib/libestbase.a(vector_c_t.o): In function
`EST_TVector<char>::save(EST_String const&)':
vector_c_t.o(.gnu.linkonce.t._ZN11EST_TVectorIcE4saveERK10EST_String+0x1b0):
undefined reference to `std::__pad<char, std::char_traits<char>
>::_S_pad(std::ios_base&, char, char*, char const*, int, int, bool)'
collect2: ld returned 1 exit status
make[1]: *** [track_regression] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [testsuite] Error 2

Fails on a different file w=but with the same function:

In../lib/libestbase.a(vector_c_t.o): In function `EST_TVector<char>:

I'm not a C guy so I'm limited in my range of guesses. -03 causing this kind of
problem? I'll do what I can for a little while longer. I'm just as much a
festival as anyone else, so I'm interested in getting this to work!

Also, I understand the periodic frustration surrounding the move to gcc3.2. 1.2
packages *are* being updated if they resolve bugs. And many (tons, actually) new
ebuilds are just waiting to be played with as soon as we settle a few 1.4 issues
first.

>> Waiting for the rest of the universe to catch up...

I couldn't have said it better myself.
Comment 11 Matt Keadle 2002-10-05 21:44:11 UTC
*** Bug 8762 has been marked as a duplicate of this bug. ***
Comment 12 Tom Ribbens 2002-10-08 10:56:47 UTC
Same problem:

gcc -O3 -Wall -o ch_lab ch_lab_main.o -L../lib -lestools -L../lib -lestbase 
-L../lib -leststring -lncurses -ldl -lm -lstdc++
../lib/libestbase.a(vector_c_t.o): In function 
`EST_TVector<char>::save(EST_String const&)':
vector_c_t.o(.gnu.linkonce.t._ZN11EST_TVectorIcE4saveERK10EST_String+0x1b0): 
undefined reference to `std::__pad<char, std::char_traits<char> 
>::_S_pad(std::ios_base&, char, char*, char const*, int, int, bool)'
collect2: ld returned 1 exit status
make[1]: *** [ch_lab] Error 1
make: *** [main] Error 2


My CFLAGS (if it helps):
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -fforce-addr 
-funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4"
CXXFLAGS=${CFLAGS}
Comment 13 Michal Maruska 2002-10-10 21:01:30 UTC
has anybody looked at the redhat's  SRPM   http://rpmfind.net/linux/RPM/rawhide/1.0/i386/RedHat/RPMS/festival-1.4.2-12.i386.html 
Comment 15 Rigo 2002-10-11 07:54:23 UTC
Just below is the origional message of Alan, copied from the mailing-list...When
I start comparing this with my situation, there are some differences:

Origional COMPILERLIBS from mail:
/usr/gnu/gcc-3.0.3/lib/libstdc++.so.3.0.2 
/usr/gnu/gcc-3.0.3/lib/libgcc_s.so.1

My situation:
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.so.5.0.0
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libgcc_s.so.1

Maybe they use an old glibc and ours is different ?

emerge -p glibc prune gives me:

 sys-libs/glibc
    selected: 2.2.5-r8
   protected: 2.2.5-r7
     omitted: none

So it protects -r7 ? why ?

I'm gonna see if there's any help upsteam...

Wish me luck ;-), Rigo





message from Alan W Black <awb@cs.cmu.edu> to festival-talk
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =


 Joe writes on 7 October 2002:
 > message from "Joe" <joe@echooff.com> to festival-talk
 > = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 > 
 > I am using Mandrake 9.0 which comes with gcc 3.2 and I'm trying to get
 > Festival installed and running.  First, I'm trying to compile
 > speech_tools-1.2.2-release.tar.gz.  I tried the instructions listed by
 > Alan Black on September 26 and I extracted
 > http://festvox.org/packed/random/est_gcc3.2.tar.gz into the speech_tools
 > directory and reran ./configure and make.  I got the same output that I
 > got the first time I tried it, which is:

After unpacking est_gcc3.2.tar.gz and doing ./configure does 

    make info

give you right compiler?

Also not you need to do a make clean after reconfiguring.

 > Making in directory ./main ...
 > g++ -O3 -Wall -o ch_lab ch_lab_main.o -L../lib -lestools -L../lib
 > -lestbase -L../lib -leststring -ltermcap -ldl -lm -lstdc++
 > ../lib/libestbase.a(vector_c_t.o): In function
 > `EST_TVector<char>::save(EST_String const&)':
 > vector_c_t.o(.gnu.linkonce.t._ZN11EST_TVectorIcE4saveERK10EST_String+0x1
 > 8f): undefined reference to `std::__pad<char, std::char_traits<char>
 > >::_S_pad(std::ios_base&, char, char*, char const*, int, int, bool)'
 > collect2: ld returned 1 exit status
 > make[1]: *** [ch_lab] Error 1
 > make: *** [main] Error 2
 > 
 > Hmmm...seems to be a linker problem, but I've looked in several files
 > and even though I program in C++ for a living, I have no clue what is
 > going wrong.

This is a problem with the linker so either its linking non 3.2
compiled .o files iwth a 3.2 library or linking non-3.2 stdc++ with
3.2 .o files.  Its *very* easy to hvae gcc pick up the wrong stdc++
library when there are multiple versions on the same machine. 

Do you have more than one version of gcc on your machine?  More
importantly more than one version of libstdc++?

When I do this (I have about 10 different versions of gcc on my
machine, not counting cross compilers) I always explicitly add the
libs to the end of the speech_tools/config/config with a line like

COMPILERLIBS = /usr/gnu/gcc-3.0.3/lib/libstdc++.so.3.0.2
/usr/gnu/gcc-3.0.3/lib/libgcc_s.so.1

Alan
Comment 16 Julian J. 2002-10-11 17:36:02 UTC
I finally managed to compile festival on a gcc 3.1.1 system. I previously had
char_traits problem. I followed the instructions on the above post, but had to
use the .a version of libstdc++ (static i guess), instead of the .so...

So I edited the 1.4.2-r1 ebuild and added this after the first "econf | die":
echo "COMPILERLIBS=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/libstdc++.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/libgcc_s.so.1" >> ${T}/config/config

I don't know how to guess that path, so let's see if any gentoo developer fixes
the ebuild to make it generic.

Bye... Now Gentoo *CAN* speak :)
Comment 17 Rigo 2002-10-12 11:31:04 UTC
Does this work for you, as it works for me ;-D ? Good work !

Rigo

+GCCPV=`cc -dumpversion` 
 HOMEPAGE="http://www.cstr.ed.ac.uk/"
 SITE="http://www.speech.cs.cmu.edu/${PN}/cstr/${PN}/${PV}"
 
@@ -46,6 +47,11 @@
 	patch -p1 < ${FILESDIR}/${P}.patch || die
 
 	econf || die
+	
+	if [ ${GCCPV} != "2.95" ] ; then
+		echo "COMPILERLIBS=/usr/lib/gcc-lib/i686-pc-linux-gnu/${GCCPV}/libstdc++.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/${GCCPV}/libgcc_s.so.1" >> ${T}/config/config
+	fi
Comment 18 Chris Bruner 2002-10-16 08:22:18 UTC
message from "Joseph Schofield" <joe@echooff.com> to festival-talk 
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
One solution for this problem was sent to me and I thought I'd share it 
with the list.  It was suggested that I link to the static libstdc++ 
(.a) library. 
 
I did this by adding the following line to the config/config file in 
speech_tools 
 
COMPILERLIBS=/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2/libstdc++.a 
/lib/libgcc_s-3.2.so.1 
 
However, I first had to install "libstdc++.a" which I found on Mandrake 
9.0 CD #3. 
 
rpm -ivh libstdc++5-static-devel-3.2-1mdk.i586.rpm 
 
Comment 19 Paul Oswald 2002-10-16 23:23:14 UTC
Perhaps as a better interim fix could we static compile festival with gcc 2.95?
If bug 8491 gets squashed then that would be pretty easy:

http://bugs.gentoo.org/show_bug.cgi?id=8491

Otherwise, is there any other way to generate a working libstdc++.a file on Gentoo?
Comment 20 Rigo 2002-10-17 04:35:29 UTC
Created attachment 4774 [details]
festival-1.4.2-r2.ebuild

This ebuild worked for me (on a 3.2 system :-D), please test...


Rigo
Comment 21 Matt Keadle 2002-10-17 15:53:33 UTC
I'm realizing that for all the testing I'm doing I'm not getting back here to 
post comments!

I can't appreciate the help and effort everyone has devoted enough! Thanks for 
your your work and effort and this should all be coming to a head soon. I'm 
itching to play with the ebuild posted in the last comment, but I'm curently at 
a corporate conference (in the meeting atm! snooze!). I'm due to be home on 
Sunday, so I'll test-test-test and we'll see how it goes.

Again, thanks for all this input!
Comment 22 Matt Keadle 2002-10-22 22:15:49 UTC
OK. I'm looking to wrap this up as soon as possible.

Could any of you that currently have the gcc3 patch please post it here? I've 
had a few users that want to try these things out, but don't have the patch 
referenced in the later ebuilds. I would post it myself, but I don't have it 
either! Thanks gents!

Comment 23 Rigo 2002-10-23 03:15:45 UTC
Created attachment 4924 [details, diff]
festival-1.4.2.patch
Comment 24 Rigo 2002-10-23 03:21:00 UTC
Could you - by any chance - look at bug #9066 also ? I guess the same users 
will like that one too ;-) 
 
Keep up the good work, 
 
Rogi  
Comment 25 Matt Keadle 2002-10-23 16:30:20 UTC
festival-1.4.2-r1 has been committed!

I know we've been working with -r2.ebuild, but there never was an -r1 committed
to portage, so, now that it seems we've taken care of this bug, the official
update is -r1. A minor detail, but one worth explaining.

So as a final push, this is what I'd ask of each of you:

Remove (backup) your local copies of festival ebuilds, unmerge festival, emerge
rsync, then emerge festival. Let me know how it goes and hopefuly we can close
out this thing.
Comment 26 Dylan Carlson (RETIRED) gentoo-dev 2002-10-24 23:20:41 UTC
greetings -- gcc 3.2 failure on 2.4.19-r9 kernel, using the latest ebuild: 
 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.a(locale.o)(.text._ZNSt5ctypeIcEC1EPKtbj+0x87):/var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc:172: 
undefined reference to `__ctype_tolower' 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.a(locale.o)(.text._ZNSt5ctypeIcEC1EPKtbj+0x9c):/var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc:175: 
undefined reference to `__ctype_b' 
collect2: ld returned 1 exit status 
make[1]: *** [ch_lab] Error 1 
make[1]: *** Waiting for unfinished jobs.... 
Making in directory ./bin ... 
 
Remove Links: 
 
Scripts: (sh) (prl) example_to_doc++ resynth pm make_wagon_desc raw_to_xgraph 
est_examples est_gdb est_program cxx_to_docbook build_docbook_index 
tex_to_images 
 
Main Links: ch_lab ch_track ch_wave na_play na_record sigfilter sig2fv 
spectgen pda pitchmark ngram_test ngram_build tilt_synthesis tilt_analysis 
viterbi dp bcat ch_utt fringe_client design_filter align siod wagon wagon_test 
scfg_make scfg_train scfg_test scfg_parse wfst_build wfst_run ols ols_test 
xml_parser 
make: *** [main] Error 2 
 
!!! ERROR: The ebuild did not complete successfully. 
!!! Function src_compile, Line 66, Exitcode 2 
!!! (no error message) 
 
Comment 27 Matt Keadle 2002-10-25 05:24:30 UTC
>> /var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc:172:

Hmm.. That bit doesn't look good. I'm upgrading to -r2 now to see if I get the
same thing. Currently i'm on gcc3.2-r1 with no problems.
Comment 28 Matt Keadle 2002-11-04 17:38:57 UTC
No comments is a long time! How is everyone's install? Working out?
Comment 29 Tom Ribbens 2002-11-05 07:34:07 UTC
echo "It works for me" | festival --tts

err, ... you get the idea

GreetZ,
Tom
Comment 30 Matt Keadle 2002-11-07 16:31:54 UTC
I'm killing this for now. If anyone experiences any more issues feel free to report.

Dylan! In regards to your post on 10-24-2002. A snipit:

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.a(locale.o)(.text._ZNSt5ctypeIcEC1EPKtbj+0x87):/var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc:172:

undefined reference to `__ctype_tolower' 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.a(locale.o)(.text._ZNSt5ctypeIcEC1EPKtbj+0x9c):/var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc:175:

undefined reference to `__ctype_b'

See the paths
"/var/tmp/portage/gcc-3.2-r2/work/gcc-3.2/libstdc++-v3/src/locale.cc" ? I've got
a feeling that your gcc install, or some part of it, may be a little screwy. You
may want to run `qpkg -l gcc` and see if any paths similar to the above who up.
Out of madness and fury I've had an entire fleet of gcc3.2 users emerge the
latest festival and I've yet to see a repeat occurance of that error. Not to say
I'm not still working on it in the back of my head though.

Thanks for everyones input on this!