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

Reply via email to