On 07/04/2013 01:02 PM, Mykyta Iziumtsev wrote: > Hello great BLFS team, > > I'm currently intensively working with libmad, and incidentally came > across libmad build instructions in BLFS/CLFS. There is a problem with > x86-64 compilation which is not properly addressed. > > libmad -- is (considerably) old project (last commit around year 2004). > So, configure.ac <http://configure.ac> grew old, and don't support > x86-64. As a result, if you run ./configure on x86-64 system -- it will > complete without errors, but then compilation will fail with gcc > complaining about "-fforce-mem". This is because ./configure incorrectly > "guesses" target triplet. > > In BLFS this issue is not addressed at all (if I get it correctly), and > in CLFS issue is addresses, but incorrectly. The later uses straight > approach -- remove "-fforce-mem". That will make libmad compile -- but > at the expense of significant quality degradation. > > With this "fix", running computational accuracy tests > (http://www.underbit.com/resources/mpeg/audio/compliance ; I can provide > utility which runs the test if somebody is interested) results in both > max deviation and RMS being 10^3 worse than expected. This is because > wrong integer multiplication is used (LSBs are just truncated, > FPM_DEFAULT used). The difference is well audible. > > The proper fix is to update configure.ac <http://configure.ac> (and > configure.in <http://configure.in>, of course, by running autoconf). > This patch is "elaborated" from Ubuntu package: > > diff --git a/configure.ac <http://configure.ac> b/configure.ac > <http://configure.ac> > index 0541425..c7151b6 100644 > --- a/configure.ac <http://configure.ac> > +++ b/configure.ac <http://configure.ac> > @@ -294,6 +230,7 @@ if test -z "$FPM" && test "$GCC" = yes > then > case "$host" in > i?86-*) FPM="INTEL" ;; > + x86_64*) FPM="64BIT" ;; > arm*-*) FPM="ARM" ;; > mips*-*) FPM="MIPS" ;; > sparc*-*) FPM="SPARC" ;; > > /Mykyta > >
https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/libmad in meantime, you can use patches from Archlinux. I'll add them to the book when I get some time. -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page