Version: (using KDE KDE 3.5.1) Installed from: Compiled From Sources Compiler: gcc 3.3.5 OS: Solaris The following error is produced when building kdemultimedia (this is actually version 3.5.2 which is not in the list for the bug report submission wizard): make[4]: Entering directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib/mpegplay' bash ../../../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include -I/ms_common/misc/OSS/KDE/qt-3.3.4_Sol9/include -I/appserv/gnu_Sol9/include -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include -DNDEBUG -O2 -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include -I/ms_common/misc/OSS/KDE/qt-3.3.4_Sol9/include -I/appserv/gnu_Sol9/include -c -o mmxidct_asm.lo mmxidct_asm.S /usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: unknown "%"-symbol /usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: quoted-string operand required /usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: statement syntax make[4]: *** [mmxidct_asm.lo] Error 1 make[4]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib/mpegplay' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2' make: *** [all] Error 2 * Browsing the WebSVN repository, I discovered the following comment for the most recent version of mmxidct_asm.S: Turns out that @ means something else on ARM; using % instead should be universally acceptable. My guess is that this assumption is incorrect as the Solaris assembler doesn't like the %. I believe the earlier versions compiled fine (the last version I built successfully was 3.4.0).
After a little more digging, I figured out that the Solaris assembler doesn't like the following line: .section .note.GNU-stack,"",%progbits BTW, changing the % back to an @ didn't help. It just doesn't like the line. Remember, not all platforms always use GNU binutils. I'm using the Solaris linker and assembler.
I have the same problem on Solaris10 KDE-3.5.7 sources. My solution was to remove the mmxidct_asm.S dependencies from kdemultimedia/mpeglib/lib/mpegplay/Makefile.in and kdemultimedia/mpeglib/lib/mpegplay/Makefile.am. sed -i -e 's!mmxidct_asm\.[^ \t]\+!!g' kdemultimedia/mpeglib/lib/mpegplay/Makefile.in sed -i -e 's!mmxidct_asm\.[^ \t]\+!!g' kdemultimedia/mpeglib/lib/mpegplay/Makefile.am To fix this the mmxidct_asm.S should be only used if it is on right platform!
KDE 3.5 out of scope now. In KDE4, we do the right bits with MMX and Studio, at least.