When detecting an Intel architecture mpg123 uses a number of assembly files that provide faster replacements for certain C functions on certain architectures. The compilation will break with: /usr/bin/ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option.libs/dct64_sse.o definition of common b1.4746 (size 128).libs/dct64_sse.o definition of common b2.4747 (size 128)collect2: ld returned 1 exit statusmake[3]: *** [libmpg123.la] Error 1 Though this can be fixed by converting the .comm section in the respective assembly file into .space section with the label in front of it (.comm doesn't make sense here as the label is not referenced from outside the file), the compilation will later break when some MMX related procedures are calling functions in other files (i586). I'm slightly out of my area of expertise here and thus am only proving a fix for letting mpg123 compile for the cost of degraded performance (by not using assembly files). Some of the issues seem to come from changes to linker in 10.4, so I limited the modification to 10.4.
it shouldn't actually use /usr/bin/ld ...
Created attachment 139577 [details, diff] Patch to media-sound/mpg123-1.0_rc2 to make it work on Intel-MacOSX 10.4 The patch is to be applied against mpg123-1.0_rc2.ebuild in the prefix tree.
same problem on Leopard
Forgot to mention to take advantage of the patch one has to disable the 'mmx' and the 'sse' USE flag for mpg123.
fixed in the tree now, thanks!