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
Created attachment 4119 [details] media-sound/festival-1.4.2-r1.ebuild modified ebuild
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.
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.
Well, the fix is to 'emerge mbola' and stop being a silly man. So everything looks good here so far.
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
*** Bug 4989 has been marked as a duplicate of this bug. ***
*** Bug 5402 has been marked as a duplicate of this bug. ***
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)
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
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.
*** Bug 8762 has been marked as a duplicate of this bug. ***
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}
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
Maybe of any help also: http://www.cstr.ed.ac.uk/projects/festival/mailing_lists/festival-talk/msg01091.html
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
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 :)
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
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
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?
Created attachment 4774 [details] festival-1.4.2-r2.ebuild This ebuild worked for me (on a 3.2 system :-D), please test... Rigo
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!
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!
Created attachment 4924 [details, diff] festival-1.4.2.patch
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
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.
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)
>> /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.
No comments is a long time! How is everyone's install? Working out?
echo "It works for me" | festival --tts err, ... you get the idea GreetZ, Tom
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!