This bit here: if [ ${GCCPV} != "2.95.3" ] ; 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 Fails to compile on my i586 box because there is no .../i686-pc-linux-gnu/... library.
YAR! You're right it seems. Ought to be able to pull that from a var somewhere though. Thanks for the heads up!
On your box, I'm guessing that directory is called: /usr/lib/gcc-lib/i586-pc-linux-gnu ?
Yeppers. But what about ppc?
I'm testing replacing the i586,i686,etc.. with the output of `uname -m`. Can you think of a better way?
`uname -m` may not work because on ppc that would yield 'ppc-pc-linux-gnu' and that is unlikely to be correct. Looking at the gcc ebuild, it probably uses $CHOST when it places that library and so using $CHOST here would be better.
Done. -r2 is commited. Also, with the help of Sascha (cybersystem), we've got it compiling on ppc as well. Woohoo! I can sleep now.
-r2 still doesn't work for me. My kernel is configured as 'CyrixIII/VIA-C3/VIA-C5'. uname -r emits "i686" so -r2 still looks for i686-pc-linux-gnu. My CHOST is set to "i586-pc-linux-gnu". i686 binaries do not run on my system. I really don't know where uname gets off calling my cpu a i686. Another reason not to use `uname -r`: a situation similar to mine could come up if someone has decided to not optimize for their CPU and is using i386-pc-linux-gnu for their CHOST. I believe CHOST determines the name of the library produced by gcc, it is only in parity with uname -r in most but not all cases. The CHOST in the ppc profile is set to "powerpc-unknown-linux-gnu" which is exactly what you are setting ARCHTYPE to in -r2 on ppc. I propose: if [ ${GCCPV} != "2.95.3" ] ; then - [ `uname -m` = "ppc" ] \ - && ARCHTYPE="powerpc-unknown" \ - || ARCHTYPE="`uname -m`-pc" - echo "COMPILERLIBS=/usr/lib/gcc-lib/${ARCHTYPE}-linux-gnu/${GCCPV}/libstdc++.a /usr/lib/gcc-lib/${ARCHTYPE}-linux-gnu/${GCCPV}/libgcc_s.so.1" >> ${T}/config/config + echo "COMPILERLIBS=/usr/lib/gcc-lib/${CHOST}/${GCCPV}/libstdc++.a /usr/lib/gcc-lib/${CHOST}/${GCCPV}/libgcc_s.so.1" >> ${T}/config/config fi Excuse the word-wrap.
Please post your modified ebuild.
Created attachment 5981 [details] festival-1.4.2-r3.ebuild Uses $CHOST. WFM
Thanks jrray. Changes are in and commited. What will reopen this bug next?