Subject: pkg/29411: mpg123 for ARM with MPG123_ARM_FIXED64=YES build error
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <joff@embeddedARM.com>
List: pkgsrc-bugs
Date: 02/17/2005 05:30:01
>Number:         29411
>Category:       pkg
>Synopsis:       mpg123 for ARM with MPG123_ARM_FIXED64=YES build error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 17 05:30:01 +0000 2005
>Originator:     Jesse Off
>Release:        2.99.15
>Organization:
>Environment:
NetBSD ts7200.ts-local.net 2.99.15 NetBSD 2.99.15 (TS7200) #70: Thu Feb  3 22:37:42 MST 2005  joff@sayan.wifi.home:/home/joff/NetBSD-realcvs/obj-evbarm/home/joff/NetBSD-realcvs/src/sys/arch/evbarm/compile/TS7200 evbarm
>Description:

Following error occurs building mpg123 with MPG123_ARM_FIXED64=YES


# ACCEPTABLE_LICENSES=no-commercial-use make
===> Checking for vulnerabilities in mpg123-0.59.18nb7
=> Checksum OK for mpg123/mpg123-0.59r.tar.gz.
=> Checksum OK for mpg123/mpg123-059r-v6-20000713b.diff.gz.
===> Extracting for mpg123-0.59.18nb7
==========================================================================
The following variables will affect the build process of this package,
mpg123-0.59.18nb7.  Their current value is shown below:

        * USE_INET6 = YES

You may want to abort the process now with CTRL-C and change their value
before continuing.  Be sure to run `/usr/bin/make clean' after
the changes.
==========================================================================
===> Patching for mpg123-0.59.18nb7
/bin/ln -s . /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r/mpg123
===> Applying distribution patches for mpg123-0.59.18nb7
===> Applying pkgsrc patches for mpg123-0.59.18nb7
/bin/rm -f /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r/mpg123
/bin/cp /mnt/usr/pkgsrc/audio/mpg123/../../audio/mpg123/files/decode_i586_.s /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r
cd /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r && /bin/mv decode_i586.s decode_i586.s.orig;  /usr/bin/sed -e 's@^/@#/@g' decode_i586.s.orig > decode_i586.s
===> Overriding tools for mpg123-0.59.18nb7
===> Creating toolchain wrappers for mpg123-0.59.18nb7
===> Configuring for mpg123-0.59.18nb7
===> Building for mpg123-0.59.18nb7
/usr/bin/make CC=cc LDFLAGS=  OBJECTS='decode.o dct64.o audio_sun.o term.o'  CFLAGS='-pipe -Wall -O6 -fomit-frame-pointer  -funroll-all-loops -finline-functions -ffast-math  -march=armv4 -mtune=strongarm110 -mcpu=strongarm110  -DREAL_IS_FIXED_ARMV4 -DUSE_MMAP -DREAD_MMAP  -DTERM_CONTROL -DNETBSD'  mpg123-make
cc -pipe -Wall -O6 -fomit-frame-pointer  -funroll-all-loops -finline-functions -ffast-math  -march=armv4 -mtune=strongarm110 -mcpu=strongarm110  -DREAL_IS_FIXED_ARMV4 -DUSE_MMAP -DREAD_MMAP  -DTERM_CONTROL -DNETBSD  -DINET6 -c mpg123.c
cc1: warning: switch -mcpu=strongarm110 conflicts with -march= switch
mpg123.c:483: warning: initialization makes integer from pointer without a cast
mpg123.h: In function `real_mul':
mpg123.h:108: error: asm-specifier for variable `rv' conflicts with asm clobber list
mpg123.h:108: error: asm-specifier for variable `_x' conflicts with asm clobber list
mpg123.h:108: error: asm-specifier for variable `_y' conflicts with asm clobber list
*** Error code 1

Stop.
make: stopped in /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r
*** Error code 1

Stop.
make: stopped in /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r
*** Error code 1

Stop.
make: stopped in /mnt/usr/pkgsrc/audio/mpg123/work/mpg123-0.59r
*** Error code 1

Stop.
make: stopped in /mnt/usr/pkgsrc/audio/mpg123
===>
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /mnt/usr/pkgsrc/audio/mpg123/work/.work.log
===>
*** Error code 1

Stop.
make: stopped in /mnt/usr/pkgsrc/audio/mpg123
>How-To-Repeat:

>Fix:
Fix inline ARM asm in real_mul() source.  Also, above build log has a gcc warning: "switch -mcpu=strongarm110 conflicts with -march= switch", so should probably remove the -mcpu= and -mtune= since gcc complains and not all ARMs are strongarm CPUs.  Also, the build says USE_INET6 is the only variable effecting the build which is untrue since MPG123_USE_FIXED64 is looked at also.