mpg123 does not compile in amd64


#1

Hello.
I cant compile mpg123 in debian amd64 (pure, not netinst). i do make mpg123 and:
[ -f mpg123-0.59r.tar.gz ] || wget mpg123.de/mpg123/mpg123-0.59r.tar.gz
[ -d mpg123-0.59r ] || tar xfz mpg123-0.59r.tar.gz
make -C mpg123-0.59r linux
make[1]: se ingresa al directorio /usr/src/asterisk-1.2.6/mpg123-0.59r' make CC=gcc LDFLAGS= \ OBJECTS='decode_i386.o dct64_i386.o decode_i586.o \ audio_oss.o term.o' \ CFLAGS='-DI386_ASSEM -DPENTIUM_OPT -DREAL_IS_FLOAT -DLINUX \ -DREAD_MMAP -DOSS -DTERM_CONTROL\ -Wall -O2 -m486 \ -fomit-frame-pointer -funroll-all-loops \ -finline-functions -ffast-math' \ mpg123-make make[2]: se ingresa al directorio/usr/src/asterisk-1.2.6/mpg123-0.59r’
make[3]: se ingresa al directorio /usr/src/asterisk-1.2.6/mpg123-0.59r' as -o decode_i586.o decode_i586.s decode_i586.s: Mensajes del ensamblador: decode_i586.s:44: Error: sufijo u operandos inválidos parapush’
decode_i586.s:45: Error: sufijo u operandos inválidos para push' decode_i586.s:46: Error: sufijo u operandos inválidos parapush’
decode_i586.s:47: Error: sufijo u operandos inválidos para push' decode_i586.s:67: Error: sufijo u operandos inválidos parapush’
decode_i586.s:70: Error: sufijo u operandos inválidos para push' decode_i586.s:81: Error: sufijo u operandos inválidos parapush’
decode_i586.s:83: Error: sufijo u operandos inválidos para push' decode_i586.s:86: Error: sufijo u operandos inválidos parapush’
decode_i586.s:161: Error: sufijo u operandos inválidos para pop' decode_i586.s:211: Error: sufijo u operandos inválidos parapop’
decode_i586.s:296: Error: sufijo u operandos inválidos para pop' decode_i586.s:315: Error: sufijo u operandos inválidos parapop’
decode_i586.s:316: Error: sufijo u operandos inválidos para pop' decode_i586.s:317: Error: sufijo u operandos inválidos parapop’
decode_i586.s:318: Error: sufijo u operandos inválidos para pop' make[3]: *** [decode_i586.o] Error 1 make[3]: se sale del directorio/usr/src/asterisk-1.2.6/mpg123-0.59r’
make[2]: *** [mpg123-make] Error 2
make[2]: se sale del directorio /usr/src/asterisk-1.2.6/mpg123-0.59r' make[1]: *** [linux] Error 2 make[1]: se sale del directorio/usr/src/asterisk-1.2.6/mpg123-0.59r’
make: *** [mpg123] Error 2

Well it put in spanish…but is an error with push an pop…I google and puts the same error in english.
¿nobody found a solution?

Please HELP!!!.
Really i dont now how Asterisk music on hold, tath is a very important thing, depends of mpg123. That is non free and have historically a LOT of bugs.
Thanks for your desinsterested time

PD: any alternative to mpg123 is wellcome too


#2

The easiest thing to do is just not use it.

Since Asterisk 1.2 you do not need mpg123 (unless you want to use mp3). If you use the ‘files’ mode for on hold music, Asterisk will use all the files from a specified directory that it can understand (any registered format) and use them for you on hold music.

I usually convert my files to a format like wav or raw (8khz 16 bit signed), mostly because it save processor cycles as Asterisk doesn’t have to decode the files from mp3 everytime it wants to play them, but it also means you don’t need mpg123 which is old and a security problem.

Dan


#3

i’ll agree - don’t use mpg123 unless you have to. most of our early stability issues were related in some way to this process - in fact, whenever we’d need to stop asterisk 1.0.7 on our old config, we’d have to manually do a ‘kill -9 {mpg123 pid}’ - otherwise, our servers would all hang! removing mpg123 fixed the issue, of course…

dmikusa - that is a great idea about recoding the mp3s into ‘native’ wavs - i think i will do that today, just for kicks!